Skip to content

Commit 90713a2

Browse files
committed
doc: add release notes for base extended addresses and shims
1 parent 5b1b168 commit 90713a2

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

doc/release-notes-6666.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Notable Changes
2+
---------------
3+
4+
* Dash Core has added support for the ability to register multiple addr:port pairs to a masternode and for specifying
5+
distinct addresses for platform P2P and platform HTTPS endpoints. The consensus and format changes needed to enable
6+
this capability is referred to as "extended addresses" and is enabled by the deployment of the v23 fork, affecting
7+
new masternode registrations and service updates to basic BLS masternodes.
8+
* Operators must upgrade from legacy BLS scheme to basic BLS scheme before utilizing extended address capabilities
9+
10+
Additional Notes
11+
----------------
12+
13+
* While the field `service` is deprecated (see dash#6665), its effective value can be obtained by querying
14+
`addresses['core_p2p'][0]`.
15+
16+
* If the masternode is eligible for extended addresses, operators may register non-IPv4 addresses, subject to validation
17+
and consensus rules.
18+
19+
Updated RPCs
20+
------------
21+
22+
* The input field `platformP2PPort` has been renamed to `platformP2PAddrs`. In addition to numeric inputs (i.e. ports),
23+
the field can now accept a string (i.e. an addr:port pair) and arrays of strings (i.e. multiple addr:port pairs),
24+
subject to validation rules.
25+
26+
* The input field `platformHTTPPort` has been renamed to `platformHTTPSAddrs`. In addition to numeric inputs (i.e. ports),
27+
the field can now accept a string (i.e. an addr:port pair) and arrays of strings (i.e. multiple addr:port pairs),
28+
subject to validation rules.
29+
30+
* The field `addresses` will now also report on platform P2P and platform HTTPS endpoints as `addresses['platform_p2p']`
31+
and `addresses['platform_https']` respectively.
32+
* On payloads before extended addresses, if a masternode update affects `platformP2PPort` and/or `platformHTTPPort`
33+
but does not affect `netInfo`, `protx listdiff` does not contain enough information to report on the masternode's
34+
address and will report the changed port paired with the dummy address `255.255.255.255`.
35+
36+
This does not affect `protx listdiff` queries where `netInfo` was updated or diffs relating to masternodes that
37+
have upgraded to extended addresses.
38+
39+
* If the masternode is eligible for extended addresses, `protx register{,_evo}` and `register_fund{,_evo}` will continue
40+
allowing `coreP2PAddrs` to be left blank, as long as `platformP2PAddrs` and `platformHTTPSAddrs` are _also_ left blank.
41+
* Attempting to populate any three address fields will make populating all fields mandatory.
42+
* This does not affect nodes ineligible for extended addresses (i.e. all nodes before fork activation or legacy BLS nodes)
43+
and they will have to continue specifying `platformP2PAddrs` and `platformHTTPSAddrs` even if they wish to keep
44+
`coreP2PAddrs` blank.
45+
46+
* If the masternode is eligible for extended addresses, `protx register{,_evo}` and `register_fund{,_evo}` will no longer
47+
default to the core P2P port if a port is not specified in the addr:port pair. All ports must be specified explicitly.
48+
* This does not affect nodes ineligible for extended addresses, continuing to default to the core P2P port if provided an
49+
addr without a port.
50+
51+
* `protx register{,_evo}` and `register_fund{,_evo}` will continue to allow specifying only the port number for `platformP2PAddrs`
52+
and `platformHTTPSAddrs`, pairing it with the address from the first `coreP2PAddrs` entry. This mirrors existing behavior.
53+
* This method of entry may not be available in future releases of Dash Core and operators are recommended to switch over to
54+
explicitly specifying (arrays of) addr:port strings for all address fields.
55+
56+
* When reporting on extended address payloads, `platformP2PPort` and `platformHTTPPort` will read the port value from
57+
`netInfo[PLATFORM_P2P][0]` and `netInfo[PLATFORM_HTTPS][0]` respectively as both fields are subsumed into `netInfo`.
58+
* If `netInfo` is blank (which is allowed by ProRegTx), `platformP2PPort` and `platformHTTPPort` will report `-1` to indicate
59+
that the port number cannot be determined.
60+
* `protx listdiff` will not report `platformP2PPort` or `platformHTTPPort` if the legacy fields were not updated (i.e.
61+
changes to `netInfo` will not translate into reporting). This is because `platformP2PPort` or `platformHTTPPort` have
62+
dedicated diff flags and post-consolidation, all changes are now affected by `netInfo`'s diff flag.
63+
64+
To avoid the perception of changes to fields that not serialized by extended address payloads, data from `netInfo` will
65+
not be translated for this RPC call.

0 commit comments

Comments
 (0)