Trait Header
pub trait Header: Serialize {
type Id: BlockId;
type Date: BlockDate;
type ChainLength: ChainLength;
type Version;
// Required methods
fn id(&self) -> Self::Id;
fn parent_id(&self) -> Self::Id;
fn date(&self) -> Self::Date;
fn version(&self) -> Self::Version;
fn chain_length(&self) -> Self::ChainLength;
}
Expand description
Trait identifying the block header type.
Required Associated Types§
type ChainLength: ChainLength
type ChainLength: ChainLength
the length of the blockchain (number of blocks)
type Version
type Version
the type associated to the version of a block
Required Methods§
fn parent_id(&self) -> Self::Id
fn parent_id(&self) -> Self::Id
get the parent block identifier (the previous block in the blockchain).
fn chain_length(&self) -> Self::ChainLength
fn chain_length(&self) -> Self::ChainLength
get the block’s chain length. The number of block created following this thread of blocks on the blockchain (including Self).
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.