Trait reth::builder::FullNodeComponents

source ·
pub trait FullNodeComponents: FullNodeTypes + Clone + 'static {
    type Pool: TransactionPool + Unpin;
    type Evm: ConfigureEvm;
    type Executor: BlockExecutorProvider;

    // Required methods
    fn pool(&self) -> &Self::Pool;
    fn evm_config(&self) -> &Self::Evm;
    fn block_executor(&self) -> &Self::Executor;
    fn provider(&self) -> &Self::Provider;
    fn network(&self) -> &NetworkHandle;
    fn payload_builder(&self) -> &PayloadBuilderHandle<Self::Engine>;
    fn task_executor(&self) -> &TaskExecutor;
}
Expand description

Encapsulates all types and components of the node.

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.

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 provider(&self) -> &Self::Provider

Returns the provider of the node.

source

fn network(&self) -> &NetworkHandle

Returns the handle to the network

source

fn payload_builder(&self) -> &PayloadBuilderHandle<Self::Engine>

Returns the handle to the payload builder service.

source

fn task_executor(&self) -> &TaskExecutor

Returns the task executor.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, C> FullNodeComponents for NodeAdapter<T, C>
where T: FullNodeTypes, C: NodeComponents<T>,

§

type Pool = <C as NodeComponents<T>>::Pool

§

type Evm = <C as NodeComponents<T>>::Evm

§

type Executor = <C as NodeComponents<T>>::Executor