{ "title":"XVERSION", "related":["/protocol/network/messages","/protocol/network/messages/xupdate","/protocol/network/messages/xverack"] }

Handshake Extension: XVersion (“xversion”)

This message notifies a peer about extended protocol parameters. This message MAY be sent during connection initialization. If sent, it MUST be sent immediately subsequent to the receipt of the verack message, and before other non-initialization messages are sent.

Message Format

Field Length Format Description
number of values variable variable length integer The number of values being sent.
values variable number_of_values * xversion values The list of values to communicate.

XVersion Value Format

Field Length Format Description
field variable variable length integer Indicates the field type of the value to follow. See XVersion Fields.
size of value variable variable length integer The size of the value to follow.
value size_of_value bytes bytes The value for the preceding field type (key). The format of the value is defined by the field, but must be the specified number of bytes.

XVersion Fields

XVersion field identifiers are 32 bits and split into a 16 bit prefix and 16 bit suffix. Each development group is assigned a prefix so that new identifiers do not accidentally conflict. Once a field identifier is created by group A, it should be used by other software both to receive that information from A and to present that information to other software. Therefore, group A MUST NOT change the syntax or semantics of a field once defined. To change a field, create a new identifier and deprecate (by no longer using the original identifier).

Prefix and Suffix Assignments

Prefix Assignments
Group Value
Reserved for versioning 0
Bitcoin Cash Node 1
Bitcoin Unlimited 2

See xversionkeys.dat for the most up-to-date field definitions defined by the BitcoinUnlimited full node. Note that:

Support

Supported by: Bitcoin Unlimited