[][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 PartialEq<Tip> for Tip[src]

impl Default for Tip[src]

impl Clone for Tip[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Tip[src]

impl Serialize for Tip[src]

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

impl Readable for Tip[src]

impl Hashed for Tip[src]

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

The hash of the underlying block.

impl Writeable for Tip[src]

Serialization of a tip, required to save to datastore.

Auto Trait Implementations

impl Send for Tip

impl Unpin for Tip

impl Sync for Tip

impl UnwindSafe for Tip

impl RefUnwindSafe for Tip

Blanket Implementations

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

type Owned = T

The resulting type after obtaining ownership.

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

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<D> Hashed for D where
    D: DefaultHashable
[src]

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

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

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

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

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