Struct diem_types::block_info::BlockInfo [−][src]
pub struct BlockInfo { /* fields omitted */ }
Expand description
This structure contains all the information needed for tracking a block without having access to the block or its execution output state. It assumes that the block is the last block executed within the ledger.
Implementations
pub fn new(
epoch: u64,
round: Round,
id: HashValue,
executed_state_id: HashValue,
version: Version,
timestamp_usecs: u64,
next_epoch_state: Option<EpochState>
) -> Self
Create a new genesis block. The genesis block is effectively the blockchain state after executing the initial genesis transaction.
-
genesis_state_root_hash
- the state tree root hash after executing the initial genesis transaction. -
validator_set
- the initial validator set, configured when generating the genesis transaction itself and emitted after executing the genesis transaction. Using this genesis block means transitioning to a new epoch (GENESIS_EPOCH + 1) with thisvalidator_set
.
The epoch after this block committed
This function checks if the current BlockInfo has exactly the same values in those fields that will not change after execution, compred to a given BlockInfo
This function checks if the current BlockInfo is consistent with the dummy values we put in the ordering state computer and it is not empty
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for BlockInfo
impl UnwindSafe for BlockInfo
Blanket Implementations
Mutably borrows from an owned value. Read more
Generates a hash used only for tests.