Struct diem_types::ledger_info::LedgerInfo[][src]

pub struct LedgerInfo { /* fields omitted */ }
Expand description

This structure serves a dual purpose.

First, if this structure is signed by 2f+1 validators it signifies the state of the ledger at version version – it contains the transaction accumulator at that version which commits to all historical transactions. This structure may be expanded to include other information that is derived from that accumulator (e.g. the current time according to the time contract) to reduce the number of proofs a client must get.

Second, the structure contains a consensus_data_hash value. This is the hash of an internal data structure that represents a block that is voted on in HotStuff. If 2f+1 signatures are gathered on the same ledger info that represents a Quorum Certificate (QC) on the consensus data.

Combining these two concepts, when a validator votes on a block, B it votes for a LedgerInfo with the version being the latest version that will be committed if B gets 2f+1 votes. It sets consensus_data_hash to represent B so that if those 2f+1 votes are gathered a QC is formed on B.

Implementations

Constructs a LedgerInfo object based on the given commit info and vote data hash.

Create a new LedgerInfo at genesis with the given genesis state and initial validator set.

The BlockInfo of a committed block.

A series of wrapper functions for the data stored in the commit info. For the detailed information, please refer to BlockInfo

Returns hash of consensus voting data in this LedgerInfo.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

The associated Hasher type which comes with a unique salt for this type.

Hashes the object and produces a HashValue.

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

Generates a hash used only for tests.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.