NodePrimitives

Trait NodePrimitives 

Source
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§

Source

type Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody> + MaybeSerdeBincodeCompat

Block primitive.

Source

type BlockHeader: FullBlockHeader

Block header primitive.

Source

type BlockBody: FullBlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>

Block body primitive.

Source

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.

Source

type Receipt: Receipt

A receipt.

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.

Implementors§