[][src]Struct grin_chain::types::Tip

pub struct Tip {
    pub height: u64,
    pub last_block_h: Hash,
    pub prev_block_h: Hash,
    pub total_difficulty: Difficulty,
}

The tip of a fork. A handle to the fork ancestry from its leaf in the blockchain tree. References the max height and the latest and previous blocks for convenience and the total difficulty.

Fields

Height of the tip (max height of the fork)

Last block pushed to the fork

Previous block

Total difficulty accumulated on that fork

Methods

impl Tip
[src]

Creates a new tip based on provided header.

Really easy to accidentally call hash() on a tip (thinking its a header). So lets make hash() do the right thing here.

Trait Implementations

impl PartialEq<Tip> for Tip
[src]

impl Clone for Tip
[src]

Performs copy-assignment from source. Read more

impl Default for Tip
[src]

impl Debug for Tip
[src]

impl Serialize for Tip
[src]

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

impl Readable for Tip
[src]

impl Writeable for Tip
[src]

Serialization of a tip, required to save to datastore.

Auto Trait Implementations

impl Send for Tip

impl Sync for Tip

Blanket Implementations

impl<T> From for T
[src]

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

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

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

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

The type returned in the event of a conversion error.

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

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

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

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

The type returned in the event of a conversion error.

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

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

impl<T> SafeBorrow for T where
    T: ?Sized

impl<'a, T> DefaultFeatures for T where
    T: 'a + Send + Sync + Clone

impl<'a, T> NonSyncFeatures for T where
    T: 'a + Clone

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> UnsafeAny for T where
    T: Any

impl<W> Hashed for W where
    W: Writeable
[src]

impl<T> PMMRIndexHashable for T where
    T: Writeable
[src]

impl<H> ShortIdentifiable for H where
    H: Hashed
[src]

Generate a short_id via the following -

  • extract k0/k1 from block_hash hashed with the nonce (first two u64 values) * initialize a siphasher24 with k0/k1
    • self.hash() passing in the siphasher24 instance
    • drop the 2 most significant bytes (to return a 6 byte short_id)

impl<T> Erased for T

impl<T> Same for T

Should always be Self