wiki commit

This commit is contained in:
bitcoin
2019-12-03 16:11:19 -05:00
committed by buwiki
parent 1f883dd6f1
commit d0bf790a9f
2 changed files with 45 additions and 2 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# Standard Messages # Standard Messages
## [version](/protocol/network/messages/version) ## [Handshake: Version](/protocol/network/messages/version) ("version")
## verack ## verack
## ping ## ping
## pong ## pong
+43
View File
@@ -1 +1,44 @@
# version # version
## Services Bitmask
The services field is an 8 byte little-endian-serialized bitfield that described peer capabilities. The following capabilities are defined, by bit position:
### Standard Services
* 0: NODE_NETWORK
The node is capable of serving the complete block chain. It is currently set by all full nodes, and is unset by SPV clients or other peers that just want network services but don't provide them.
* 2: NODE_BLOOM
The node is capable and willing to handle bloom-filtered connections.
* 3: NODE_WITNESS
Indicates that a node can be asked for blocks and transactions including witness data.
*Bitcoin Cash nodes do not have witness data so this flag should be ignored on receipt and set to 0 when sent*
* 5: NODE_BITCOIN_CASH
The node supports the BCH chain. This is intended to be just a temporary service bit until the BTC/BCH fork actually happens.
### Non-Standard/Unimplemented Services
* 1: NODE_GETUTXO <img src="/_static_/images/warning.png">
The node is capable of responding to the getutxo protocol request. See [BIP 64](https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki) for details on how this is implemented. *Supported by Bitcoin XT only*
* 4: NODE_XTHIN <img src="/_static_/images/warning.png">
The node supports Xtreme Thinblocks
*Supported by Bitcoin Unlimited only*
* 6: NODE_GRAPHENE <img src="/_static_/images/warning.png">
The node supports Graphene blocks. If this is turned off then the node will not service graphene requests nor make graphene requests.
*Supported by Bitcoin Unlimited only*
* 7: NODE_WEAKBLOCKS <img src="/_static_/images/BitcoinCashFlag.svg" height=16>
The node supports Storm weak block (currently no node supports these in production, so this is a placeholder).
* 8: NODE_CF <img src="/_static_/images/warning.png">height=16>
Indicates the node is capable of serving compact block filters to SPV clients, AKA the "Neutrino" protocol ([BIP157](https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki), and [BIP158](https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki)).
* 9: NODE_NETWORK_LIMITED <img src="/_static_/images/warning.png">
This means the same as NODE_NETWORK with the limitation of only serving a small subset of the blockchain. See [BIP159](https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki) for details on how this is implemented.
* 24-31: Experimental <img src="/_static_/images/warning.png">
These bits are reserved for temporary experiments. Just pick a bit that isn't getting used, or one not being used much, and notify the community. Remember that service bits are just unauthenticated advertisements, so your code must be robust against collisions and other cases where nodes may be advertising a service they do not actually support.