[−][src]Struct tendermint::block::Id
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]
fn cmp(&self, other: &Id) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Id> for Id
[src]
impl PartialOrd<Id> for Id
[src]
fn partial_cmp(&self, other: &Id) -> Option<Ordering>
[src]
fn lt(&self, other: &Id) -> bool
[src]
fn le(&self, other: &Id) -> bool
[src]
fn gt(&self, other: &Id) -> bool
[src]
fn ge(&self, other: &Id) -> bool
[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.
fn from_str(s: &str) -> Result<Self, Error>
[src]
impl Hash for Id
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Serialize for Id
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for Id
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Typeable for T where
T: Any,
T: Any,