[][src]Module bitcoin::network::constants

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

ServiceFlags

Flags to indicate which network services a node supports.

Enums

Network

The cryptocurrency to act on

Constants

PROTOCOL_VERSION

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