Explain protocol version stuff

This commit is contained in:
Duke Leto
2022-09-18 00:05:27 -04:00
parent 73789ba26b
commit 711cd8e234

View File

@@ -39,8 +39,13 @@ Look for Git issues that should be fixed in the next release. Especially low-ris
### Protocol Safety Checks:
* Does MIN_PROTO_VERSION need to change?
* If it does, new nodes will not be able to talk to nodes with a version less than MIN_PROTO_VERSION
* Does `PROTOCOL_VERSION` in src/version.h need to be increased?
* All releases with a consensus change should increase the value by 1
* This identifies a nodes protocol version to all other peers it connects to.
* Does `MIN_PEER_PROTO_VERSION` in src/version.h need to change?
* If it does, new nodes will not be able to talk to nodes with a version less than `MIN_PROTO_VERSION`
* The main use of these is for newer nodes that know they do not want to talk to older nodes to prevent connecting to older nodes efficiently
* For instance, when a new release has different consensus rules than older nodes, `MIN_PROTO_VERSION` prevents wasting lots of network bandwidth talking to incompatible nodes which will eventually be banned for disagreeing on consensus rules
## Release dependencies