Module breez_sdk_core::bitcoin::network::constants

Expand description

Bitcoin network constants.

This module provides various constants relating to the Bitcoin network protocol, such as protocol versioning and magic header bytes.

The Network type implements the Decodable and Encodable traits and encodes the magic bytes of the given network.

§Example: encoding a network’s magic bytes

use bitcoin::network::constants::Network;
use bitcoin::consensus::encode::serialize;

let network = Network::Bitcoin;
let bytes = serialize(&network.magic());

assert_eq!(&bytes[..], &[0xF9, 0xBE, 0xB4, 0xD9]);

Structs§

  • Flags to indicate which network services a node supports.

Enums§

  • The cryptocurrency to act on

Constants§

  • Version of the protocol as appearing in network message headers This constant is used to signal to other peers which features you support. Increasing it implies that your software also supports every feature prior to this version. Doing so without support may lead to you incorrectly banning other peers or other peers banning you. These are the features required for each version: 70016 - Support receiving wtxidrelay message between version and verack message 70015 - Support receiving invalid compact blocks from a peer without banning them 70014 - Support compact block messages sendcmpct, cmpctblock, getblocktxn and blocktxn 70013 - Support feefilter message 70012 - Support sendheaders message and announce new blocks via headers rather than inv 70011 - Support NODE_BLOOM service flag and don’t support bloom filter messages if it is not set 70002 - Support reject message 70001 - Support bloom filter messages filterload, filterclear filteradd, merkleblock and FILTERED_BLOCK inventory type 60002 - Support mempool message 60001 - Support pong message and nonce in ping message