Trait reth::builder::components::NodeComponents
source · pub trait NodeComponents<NodeTypes>: Clone + Unpin + Send + Sync + 'staticwhere
NodeTypes: FullNodeTypes,{
type Pool: TransactionPool + Unpin;
type Evm: ConfigureEvm;
type Executor: BlockExecutorProvider;
type Consensus: Consensus + Clone + Unpin + 'static;
// Required methods
fn pool(&self) -> &Self::Pool;
fn evm_config(&self) -> &Self::Evm;
fn block_executor(&self) -> &Self::Executor;
fn consensus(&self) -> &Self::Consensus;
fn network(&self) -> &NetworkHandle;
fn payload_builder(
&self,
) -> &PayloadBuilderHandle<<NodeTypes as NodeTypes>::Engine>;
}
Expand description
An abstraction over the components of a node, consisting of:
- evm and executor
- transaction pool
- network
- payload builder.
Required Associated Types§
sourcetype Pool: TransactionPool + Unpin
type Pool: TransactionPool + Unpin
The transaction pool of the node.
sourcetype Evm: ConfigureEvm
type Evm: ConfigureEvm
The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
Required Methods§
sourcefn evm_config(&self) -> &Self::Evm
fn evm_config(&self) -> &Self::Evm
Returns the node’s evm config.
sourcefn block_executor(&self) -> &Self::Executor
fn block_executor(&self) -> &Self::Executor
Returns the node’s executor type.
sourcefn network(&self) -> &NetworkHandle
fn network(&self) -> &NetworkHandle
Returns the handle to the network
sourcefn payload_builder(
&self,
) -> &PayloadBuilderHandle<<NodeTypes as NodeTypes>::Engine>
fn payload_builder( &self, ) -> &PayloadBuilderHandle<<NodeTypes as NodeTypes>::Engine>
Returns the handle to the payload builder service.
Object Safety§
This trait is not object safe.