1
0
mirror of https://github.com/bitcoin/bips.git synced 2025-05-12 12:03:29 +00:00

BIP155: use a dedicated message for signalling

Change signaling of support for the new `addrv2` messages to be done via
a dedicated message `sendaddrv2` instead of protocol bump.

The drawback of using a protocol bump is that the protocol version is
not a bitmask and if a node wants to announce support for `addrv2` this
would imply support for all prior features included in that protocol
version.
This commit is contained in:
Vasil Dimov 2020-06-09 09:36:26 +02:00
parent 42ee3f5c15
commit 350189ad48
No known key found for this signature in database
GPG Key ID: 54DF06F64B55CBBF

View File

@ -130,14 +130,13 @@ Clients SHOULD reject messages that contain addresses that have a different leng
See the appendices for the address encodings to be used for the various networks.
==Compatibility==
==Signaling support and compatibility==
Send <code>addrv2</code> messages only, and exclusively, when the peer has a certain protocol version (or higher):
<source lang="c++">
//! gossiping using `addrv2` messages starts with this version
static const int GOSSIP_ADDRV2_VERSION = 70016;
</source>
For older peers keep sending the legacy <code>addr</code> message, ignoring addresses with the newly introduced address types.
Introduce a new message type <code>sendaddrv2</code>. Sending such a message indicates that a node can understand and prefers to receive <code>addrv2</code> messages instead of <code>addr</code> messages. I.e. "Send me addrv2".
<code>sendaddrv2</code> SHOULD be sent after receiving the <code>verack</code> message from the peer.
For older peers, that did not emit <code>sendaddrv2</code>, keep sending the legacy <code>addr</code> message, ignoring addresses with the newly introduced address types.
==Reference implementation==