Trait reth::builder::components::NodeComponents

source ·
pub trait NodeComponents<NodeTypes>: Clone + Unpin + Send + Sync + 'static
where 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§

source

type Pool: TransactionPool + Unpin

The transaction pool of the node.

source

type Evm: ConfigureEvm

The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.

source

type Executor: BlockExecutorProvider

The type that knows how to execute blocks.

source

type Consensus: Consensus + Clone + Unpin + 'static

The consensus type of the node.

Required Methods§

source

fn pool(&self) -> &Self::Pool

Returns the transaction pool of the node.

source

fn evm_config(&self) -> &Self::Evm

Returns the node’s evm config.

source

fn block_executor(&self) -> &Self::Executor

Returns the node’s executor type.

source

fn consensus(&self) -> &Self::Consensus

Returns the node’s consensus type.

source

fn network(&self) -> &NetworkHandle

Returns the handle to the network

source

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.

Implementors§

source§

impl<Node, Pool, EVM, Executor, Cons> NodeComponents<Node> for Components<Node, Pool, EVM, Executor, Cons>
where Node: FullNodeTypes, Pool: TransactionPool + Unpin + 'static, EVM: ConfigureEvm, Executor: BlockExecutorProvider, Cons: Consensus + Clone + Unpin + 'static,

§

type Pool = Pool

§

type Evm = EVM

§

type Executor = Executor

§

type Consensus = Cons