Struct bdk_chain::bitcoin::p2p::message_network::VersionMessage
pub struct VersionMessage {
pub version: u32,
pub services: ServiceFlags,
pub timestamp: i64,
pub receiver: Address,
pub sender: Address,
pub nonce: u64,
pub user_agent: String,
pub start_height: i32,
pub relay: bool,
}
Expand description
Some simple messages
The version
message
Fields§
§version: u32
The P2P network protocol version
services: ServiceFlags
A bitmask describing the services supported by this node
timestamp: i64
The time at which the version
message was sent
receiver: Address
The network address of the peer receiving the message
sender: Address
The network address of the peer sending the message
nonce: u64
A random nonce used to detect loops in the network
The nonce can be used to detect situations when a node accidentally connects to itself. Set it to a random value and, in case of incoming connections, compare the value - same values mean self-connection.
If your application uses P2P to only fetch the data and doesn’t listen you may just set it to 0.
user_agent: String
A string describing the peer’s software
start_height: i32
The height of the maximum-work blockchain that the peer is aware of
relay: bool
Whether the receiving peer should relay messages to the sender; used if the sender is bandwidth-limited and would like to support bloom filtering. Defaults to false.
Implementations§
§impl VersionMessage
impl VersionMessage
pub fn new(
services: ServiceFlags,
timestamp: i64,
receiver: Address,
sender: Address,
nonce: u64,
user_agent: String,
start_height: i32
) -> VersionMessage
pub fn new( services: ServiceFlags, timestamp: i64, receiver: Address, sender: Address, nonce: u64, user_agent: String, start_height: i32 ) -> VersionMessage
Constructs a new version
message with relay
set to false
Trait Implementations§
§impl Clone for VersionMessage
impl Clone for VersionMessage
§fn clone(&self) -> VersionMessage
fn clone(&self) -> VersionMessage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for VersionMessage
impl Debug for VersionMessage
§impl Decodable for VersionMessage
impl Decodable for VersionMessage
§fn consensus_decode_from_finite_reader<R>(
r: &mut R
) -> Result<VersionMessage, Error>
fn consensus_decode_from_finite_reader<R>( r: &mut R ) -> Result<VersionMessage, Error>
Self
from a size-limited reader. Read more§fn consensus_decode<R>(r: &mut R) -> Result<VersionMessage, Error>
fn consensus_decode<R>(r: &mut R) -> Result<VersionMessage, Error>
§impl Encodable for VersionMessage
impl Encodable for VersionMessage
§impl PartialEq for VersionMessage
impl PartialEq for VersionMessage
§fn eq(&self, other: &VersionMessage) -> bool
fn eq(&self, other: &VersionMessage) -> bool
self
and other
values to be equal, and is used
by ==
.