1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-02-09 15:23:09 +00:00

Merge pull request #2092 from ajtowns/202601-feature-shortid

BIP 324, 434: Specify p2p v2 one-byte identifier for FEATURE message
This commit is contained in:
Mark "Murch" Erhardt 2026-02-02 16:22:41 -08:00 committed by GitHub
commit 29b48129b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 31 additions and 3 deletions

View File

@ -10,7 +10,7 @@
Type: Specification
Assigned: 2019-03-08
License: BSD-3-Clause
Version: 1.0.1
Version: 1.0.2
Replaces: 151
</pre>
@ -573,7 +573,7 @@ The following table lists currently defined message type IDs and the 12-byte ASC
When a message type has both a 1-byte encoding and a 13-byte encoding defined, peers that support receiving that message type should accept messages using either encoding (e.g., if the "getblocktxn" message type is supported, then both the 1-byte <code>b'\x0a'</code> encoding and the 13-byte <code>b'\x00getblocktxn\x00'</code> should be supported, and behavior should not depend on which of the two encodings is received).
Additional message type IDs may be added separately after BIP finalization.
Additional message type IDs may be defined by other BIPs. They should be added to the [[bip-0324/message_type_ids.md|message type IDs table]] to ease coordination.
=== Signaling specification ===
==== Signaling v2 support ====
@ -589,6 +589,8 @@ For development and testing purposes, we provide a collection of test vectors in
== Changelog ==
* 1.0.2 (2026-01-30)
* Add message type ID table in auxiliary file
* 1.0.1 (2026-01-16)
* Specify equivalence of 1-byte and 13-byte `message_type`
* 1.0.0 (2024-07-10)

View File

@ -0,0 +1,24 @@
# One-byte message type allocations
This table lists additional message type IDs that various BIPs have
assigned or proposed for assignment.
Type | Message | Proposal
---- | ------------ | --------
29 | uproof | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
30 | getuproof | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
31 | uttls | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
32 | getuttls | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
33 | usummary | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
34 | utreexotx | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
35 | uroot | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
36 | geturoot | [BIP 183 / PR#1923](https://github.com/bitcoin/bips/pull/1923)
37 | feature | [BIP 434](https://github.com/bitcoin/bips/blob/master/bip-0434.md)
Note that this table is not authoritative but instead is reflective
of the BIPs proposing the changes. If multiple BIPs make conflicting
assignments for message type IDs, that may lead to multiple entries for
the same message type ID in this table. BIPs that are in Draft status
may be included in the table, and as a result, the IDs and messages they
define may be changed in future.

View File

@ -156,9 +156,11 @@ suffix covers part 3 of the BIP). For experimental features that do not
chosen, such as a URL to the repository where development is taking place,
or the sha256 digest of some longer reference.
#### `feature` message 1-byte identifier
Nodes implementing both this BIP and [BIP 324 (v2 P2P encrypted
transport)][BIP324] MUST treat a message with a 1-byte `message_type`
equal to `XXX` that is received prior to `verack` as the `feature` message.
equal to `37` that is received prior to `verack` as the `feature` message.
### Feature negotiation