[][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

pub fn prefix(&self) -> String[src]

Get a shortened 12-character prefix of a block ID (ala git)

Trait Implementations

impl Clone for Id[src]

impl Eq for Id[src]

impl Ord for Id[src]

impl PartialEq<Id> for Id[src]

impl PartialOrd<Id> for Id[src]

impl Display for Id[src]

impl Debug for Id[src]

impl FromStr for Id[src]

type Err = Error

The associated error which can be returned from parsing.

impl Hash for Id[src]

impl Serialize for Id[src]

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

Auto Trait Implementations

impl Send for Id

impl Sync for Id

impl Unpin for Id

impl UnwindSafe for Id

impl RefUnwindSafe for Id

Blanket Implementations

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

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[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> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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

impl<T> Typeable for T where
    T: Any