Trait reth_node_builder::FullNodeComponents

pub trait FullNodeComponents: FullNodeTypes + '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§

type Pool: TransactionPool + Unpin

The transaction pool of the node.

type Evm: ConfigureEvm

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

type Executor: BlockExecutorProvider

The type that knows how to execute blocks.

Required Methods§

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

Returns the transaction pool of the node.

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

Returns the node’s evm config.

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

Returns the node’s executor type.

fn provider(&self) -> &Self::Provider

Returns the provider of the node.

fn network(&self) -> &NetworkHandle

Returns the handle to the network

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

Returns the handle to the payload builder service.

fn task_executor(&self) -> &TaskExecutor

Returns the task executor.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<Node> FullNodeComponents for ExExContext<Node>
where Node: FullNodeComponents,

§

type Pool = <Node as FullNodeComponents>::Pool

§

type Evm = <Node as FullNodeComponents>::Evm

§

type Executor = <Node as FullNodeComponents>::Executor

§

fn pool(&self) -> &<ExExContext<Node> as FullNodeComponents>::Pool

§

fn evm_config(&self) -> &<ExExContext<Node> as FullNodeComponents>::Evm

§

fn block_executor(&self) -> &<ExExContext<Node> as FullNodeComponents>::Executor

§

fn provider(&self) -> &<ExExContext<Node> as FullNodeTypes>::Provider

§

fn network(&self) -> &NetworkHandle

§

fn payload_builder( &self ) -> &PayloadBuilderHandle<<ExExContext<Node> as NodeTypes>::Engine>

§

fn task_executor(&self) -> &TaskExecutor

Implementors§