Backward compatibility for graphsync 2.1 protocol
hannahhoward opened this issue · 0 comments
hannahhoward commented
Goals
If we are successful in building out the graphsync metadata requests, in order to ship it, we need to make it backward compatbile.
Suggested Implementation
I am inclined to defer to Libp2p versioning, even though I think it makes sense to wrap messages in a 2_1 header, wrather than try to do versioning with wrappers.
The actions to take are:
- If I make a metadata only request to a peer, and in connecting we find out they only support 2.0 requests, just error.
- You really don't need to do anything on the responder side, as it should only get 2.1 requests from 2.1 peers.
- For all other types of requests, just downgrade to a 2.0 message if the peer only supports 2.0
- I think that's it.