pub trait NodePrimitives:
Send
+ Sync
+ Unpin
+ Clone
+ Default
+ Debug
+ PartialEq
+ Eq
+ 'static {
type Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody> + MaybeSerdeBincodeCompat;
type BlockHeader: FullBlockHeader;
type BlockBody: FullBlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>;
type SignedTx: FullSignedTx;
type Receipt: Receipt;
}
Expand description
Configures all the primitive types of the node.
This trait defines the core types used throughout the node for representing blockchain data. It serves as the foundation for type consistency across different node implementations.
Required Associated Types§
Sourcetype Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody> + MaybeSerdeBincodeCompat
type Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody> + MaybeSerdeBincodeCompat
Block primitive.
Sourcetype BlockHeader: FullBlockHeader
type BlockHeader: FullBlockHeader
Block header primitive.
Sourcetype BlockBody: FullBlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>
type BlockBody: FullBlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>
Block body primitive.
Sourcetype SignedTx: FullSignedTx
type SignedTx: FullSignedTx
Signed version of the transaction type.
This represents the transaction as it exists in the blockchain - the consensus format that includes the signature and can be included in a block.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.