[][src]Struct grin_p2p::msg::Hand

pub struct Hand {
    pub version: u32,
    pub capabilities: Capabilities,
    pub nonce: u64,
    pub genesis: Hash,
    pub total_difficulty: Difficulty,
    pub sender_addr: SockAddr,
    pub receiver_addr: SockAddr,
    pub user_agent: String,
}

First part of a handshake, sender advertises its version and characteristics.

Fields

protocol version of the sender

capabilities of the sender

randomly generated for each handshake, helps detect self

genesis block of our chain, only connect to peers on the same chain

total difficulty accumulated by the sender, used to check whether sync may be needed

network address of the sender

network address of the receiver

name of version of the software

Trait Implementations

impl Readable for Hand
[src]

impl Writeable for Hand
[src]

Auto Trait Implementations

impl Send for Hand

impl Sync for Hand

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[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> 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

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