pub trait NodeTypes:
Clone
+ Debug
+ Send
+ Sync
+ Unpin
+ 'static {
type Primitives: NodePrimitives;
type ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>;
type Storage: Default + Send + Sync + Unpin + Debug + 'static;
type Payload: PayloadTypes<BuiltPayload: BuiltPayload<Primitives = Self::Primitives>>;
}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§
Sourcetype Primitives: NodePrimitives
type Primitives: NodePrimitives
The node’s primitive types, defining basic operations and structures.
Sourcetype ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>
type ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>
The type used for configuration of the EVM.
Sourcetype Storage: Default + Send + Sync + Unpin + Debug + 'static
type Storage: Default + Send + Sync + Unpin + Debug + 'static
The type responsible for writing chain primitives to storage.
Sourcetype Payload: PayloadTypes<BuiltPayload: BuiltPayload<Primitives = Self::Primitives>>
type Payload: PayloadTypes<BuiltPayload: BuiltPayload<Primitives = Self::Primitives>>
The node’s engine types, defining the interaction with the consensus engine.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".