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

Height of the tip (max height of the fork)

last_block_h: Hash

Last block pushed to the fork

prev_block_h: Hash

Previous block

total_difficulty: Difficulty

Total difficulty accumulated on that fork

Methods

impl Tip[src]

pub fn from_header(header: &BlockHeader) -> Tip[src]

Creates a new tip based on provided header.

Trait Implementations

impl Clone for Tip[src]

impl Debug for Tip[src]

impl Default for Tip[src]

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

impl Hashed for Tip[src]

fn hash(&self) -> Hash[src]

The hash of the underlying block.

impl PartialEq<Tip> for Tip[src]

impl Readable for Tip[src]

impl Serialize for Tip[src]

impl StructuralPartialEq for Tip[src]

impl Writeable for Tip[src]

Serialization of a tip, required to save to datastore.

Auto Trait Implementations

impl RefUnwindSafe for Tip

impl Send for Tip

impl Sync for Tip

impl Unpin for Tip

impl UnwindSafe for Tip

Blanket Implementations

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

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

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

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

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

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

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

impl<T> Erased for T

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

impl<D> Hashed for D where
    D: DefaultHashable
[src]

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

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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

fn short_id(&self, hash: &Hash, nonce: u64) -> ShortId[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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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> UnsafeAny for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,