reth::api

Trait FullNodeComponents

source
pub trait FullNodeComponents:
    FullNodeTypes
    + Clone
    + 'static {
    type Pool: TransactionPool + Unpin;
    type Evm: ConfigureEvm<Header = Header>;
    type Executor: BlockExecutorProvider;
    type Network: FullNetwork;

    // 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) -> &Self::Network;
    fn payload_builder(
        &self,
    ) -> &PayloadBuilderHandle<<Self::Types as NodeTypesWithEngine>::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<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 Network: FullNetwork

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

Returns the provider of the node.

source

fn network(&self) -> &Self::Network

Returns the handle to the network

source

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

Returns the handle to the payload builder service.

source

fn task_executor(&self) -> &TaskExecutor

Returns handle to runtime.

Object Safety§

This trait is not object safe.

Implementors§