[][src]Struct tendermint::block::Id

pub struct Id {
    pub hash: Hash,
    pub parts: Option<Header>,
}

Block identifiers which contain two distinct Merkle roots of the block, as well as the number of parts in the block.

https://github.com/tendermint/tendermint/blob/master/docs/spec/blockchain/blockchain.md#blockid

Fields

hash: Hash

The block's main hash is the Merkle root of all the fields in the block header.

parts: Option<Header>

Parts header (if available) is used for secure gossipping of the block during consensus. It is the Merkle root of the complete serialized block cut into parts.

PartSet is used to split a byteslice of data into parts (pieces) for transmission. By splitting data into smaller parts and computing a Merkle root hash on the list, you can verify that a part is legitimately part of the complete data, and the part can be forwarded to other peers before all the parts are known. In short, it's a fast way to propagate a large file over a gossip network.

https://github.com/tendermint/tendermint/wiki/Block-Structure#partset

Methods

impl Id[src]

pub fn new(hash: Hash, parts: Option<Header>) -> Self[src]

Create a new Id from a hash byte slice

Trait Implementations

impl Eq for Id[src]

impl PartialEq<Id> for Id[src]

impl Clone for Id[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Id[src]

impl Display for Id[src]

impl Hash for Id[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl FromStr for Id[src]

type Err = Error

The associated error which can be returned from parsing.

impl Serialize for Id[src]

impl<'de> Deserialize<'de> for Id[src]

Auto Trait Implementations

impl Send for Id

impl Sync for Id

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.