reth::builder

Trait NodeComponents

source
pub trait NodeComponents<T>:
    Clone
    + Unpin
    + Send
    + Sync
    + 'static
where T: FullNodeTypes,
{ type Pool: TransactionPool + Unpin; type Evm: ConfigureEvm<Header = Header>; type Executor: BlockExecutorProvider; type Consensus: Consensus + Clone + Unpin + 'static; type Network: FullNetwork; type EngineValidator: EngineValidator<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>; // 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) -> &Self::Network; fn payload_builder( &self, ) -> &PayloadBuilderHandle<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>; fn engine_validator(&self) -> &Self::EngineValidator; }
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<Header = Header>

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.

source

type Network: FullNetwork

Network API.

source

type EngineValidator: EngineValidator<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>

Validator for the engine API.

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) -> &Self::Network

Returns the handle to the network

source

fn payload_builder( &self, ) -> &PayloadBuilderHandle<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>

Returns the handle to the payload builder service.

source

fn engine_validator(&self) -> &Self::EngineValidator

Returns the engine validator.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Node, Pool, EVM, Executor, Cons, Val> NodeComponents<Node> for Components<Node, Pool, EVM, Executor, Cons, Val>
where Node: FullNodeTypes, Pool: TransactionPool + Unpin + 'static, EVM: ConfigureEvm<Header = Header>, Executor: BlockExecutorProvider, Cons: Consensus + Clone + Unpin + 'static, Val: EngineValidator<<<Node as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine> + Clone + Unpin + 'static,