Skip to content

Backward compatibility for graphsync 2.1 protocol #376

@hannahhoward

Description

@hannahhoward

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions