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

Block previous to last

Total difficulty accumulated on that fork

Methods

impl Tip
[src]

Creates a new tip at height zero and the provided genesis hash.

Append a new block to this tip, returning a new updated tip.

Trait Implementations

impl PartialEq<Tip> for Tip
[src]

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

This method tests for !=.

impl Clone for Tip
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Tip
[src]

Formats the value using the given formatter. Read more

impl Serialize for Tip
[src]

Serialize this value into the given Serde serializer. Read more

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

Deserialize this value from the given Serde deserializer. Read more

impl Writeable for Tip
[src]

Serialization of a tip, required to save to datastore.

Write the data held by this Writeable to the provided writer

impl Readable for Tip
[src]

Reads the data necessary to this Readable from the provided reader

Auto Trait Implementations

impl Send for Tip

impl Sync for Tip

Blanket Implementations

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

Performs the conversion.

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

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

impl<T> From for T
[src]

Performs the conversion.

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.

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

Performs the conversion.

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

Immutably borrows from an owned value. Read more

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

Mutably borrows from an owned value. Read more

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.

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

Performs the conversion.

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

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

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

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

Given ptr, which was obtained from a prior call to Self::borrow(), return a value with the same nominal lifetime which is guaranteed to survive mutations to Self. Read more

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

Clone this value, and then immediately put it into a Box behind a trait object of this trait. Read more

Returns the address of self. Read more

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

Clone this value, and then immediately put it into a Box behind a trait object of this trait. Read more

Returns the address of self. Read more

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

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<T> Erased for T

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

Obtain the hash of the object

Hash the object together with another writeable object

impl<T> Same for T

Should always be Self

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)