summaryrefslogtreecommitdiff
path: root/bip-0155.mediawiki
diff options
context:
space:
mode:
authorVasil Dimov <vd@FreeBSD.org>2020-06-09 09:36:26 +0200
committerVasil Dimov <vd@FreeBSD.org>2020-07-16 20:38:02 +0200
commit350189ad489c99a426915b123502a8339ef8d1ba (patch)
treeb0c5668b9db9cb7fa4284511a0798af8fff23833 /bip-0155.mediawiki
parent42ee3f5c15de34dfbe9473807d44685fa1354e86 (diff)
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.
Diffstat (limited to 'bip-0155.mediawiki')
-rw-r--r--bip-0155.mediawiki15
1 files changed, 7 insertions, 8 deletions
diff --git a/bip-0155.mediawiki b/bip-0155.mediawiki
index ba0c798..1364a3f 100644
--- a/bip-0155.mediawiki
+++ b/bip-0155.mediawiki
@@ -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==
-
-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.
+==Signaling support and compatibility==
+
+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==