Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Proposal: features #1308
Hello, I'm working in jnano-node a JVM implementation of the protocol and I came up with an idea: features.
During the handshake we could exchange information about the capabilities of each node and decide how to communicate (i.e. a feature is not supported by one of the nodes won't be used). This can cover situations like:
This could lead to way more flexible protocol allowing to introduce big chances without waiting for other nodes to upgrade and after enough adoption you could make an experimental feature part of protocol.
EDIT: including more details
We could add a new extension 4 for handshake which will have fixed length and in the end we could add the features ids (with some limitation like max 10 features) replacing the handshake with extension 1, 2, 3
Or just keep it as it is and add to the end of each handshake answer the features.
It's also important to keep the track of those extensions to avoid collision (I'm imagining a scenario with multiple implementations of the protocol) similar to coin-type