reth_node_types

Trait NodeTypes

Source
pub trait NodeTypes:
    Send
    + Sync
    + Unpin
    + 'static {
    type Primitives: NodePrimitives;
    type ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>;
    type StateCommitment: StateCommitment;
    type Storage: Default + Send + Sync + Unpin + Debug + 'static;
}
Expand description

The type that configures the essential types of an Ethereum-like node.

This includes the primitive types of a node and chain specification.

This trait is intended to be stateless and only define the types of the node.

Required Associated Types§

Source

type Primitives: NodePrimitives

The node’s primitive types, defining basic operations and structures.

Source

type ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>

The type used for configuration of the EVM.

Source

type StateCommitment: StateCommitment

The type used to perform state commitment operations.

Source

type Storage: Default + Send + Sync + Unpin + Debug + 'static

The type responsible for writing chain primitives to storage.

Implementors§

Source§

impl<P, C, SC, S> NodeTypes for AnyNodeTypes<P, C, SC, S>
where P: NodePrimitives + Send + Sync + Unpin + 'static, C: EthChainSpec<Header = P::BlockHeader> + 'static, SC: StateCommitment, S: Default + Send + Sync + Unpin + Debug + 'static,

Source§

impl<P, E, C, SC, S> NodeTypes for AnyNodeTypesWithEngine<P, E, C, SC, S>
where P: NodePrimitives + Send + Sync + Unpin + 'static, E: EngineTypes + Send + Sync + Unpin, C: EthChainSpec<Header = P::BlockHeader> + 'static, SC: StateCommitment, S: Default + Send + Sync + Unpin + Debug + 'static,

Source§

impl<Types, DB> NodeTypes for NodeTypesWithDBAdapter<Types, DB>
where Types: NodeTypes, DB: Send + Sync + Unpin + 'static,