[][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 Writeable for Hand
[src]

Write the data held by this Writeable to the provided writer

impl Readable for Hand
[src]

Reads the data necessary to this Readable from the provided reader

Auto Trait Implementations

impl Send for Hand

impl Sync for Hand

Blanket Implementations

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

Performs the conversion.

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<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)