thunder
thunder copied to clipboard
Version Handshake
Possibly before doing the encryption handshake we need to have some kind of version handshake.
We need to transmit which network the node operates on (main, test3, seg, ...)
Furthermore there will be incompatible changes in the future, we have to decide if we want to keep supporting the layers that are still compatible (so we need to send a map object with versions of various services), or if we want to fail the complete connection as soon as we discover some incompatibilities between them.
If we go with the latter, we can just use major.minor and fail as soon as node1.major != node2.major (and increase the major for each incompatible change).