Skip to content

DID Method versioning #341

@jandrieu

Description

@jandrieu

Is there any approach to versioning in the proposed did:cosmos syntax?

For the did:earth method, and hopefully a cosmos-cash compatible did:cosmos method, we anticipate at least two known versions, and can easily see the need for other versions moving forward.

In the near term, did:earth version 0 is going to rely on a manual process of grabbing the chain.json files from the cosmos chain registry repo. This will let us get a working spec operational even before we have the on-chain name server that has been discussed. For version 1, we anticipate the first step would be to interactively query the chain registry to get the verifiable reference to a chain.json file (stored somewhere, including github, or IPFS, or wherever).

Since this adjustment would mean that extant did:earth and did:cosmos implementations could be out of sync--old code using version 0 while everyone else is using version 1--we anticipate using a version identifier to allow a smooth transition from an initial approach to a later approach.

This also allows future flexibility with inevitable future versions where, e.g., the schema in the chain.json changes or other features are added or deprecated. Having the version directly in the did itself would allow a time period in which overlapping versions can simultaneously be supported, as older versions are gradually end-of-lifed through a traditional deprecation process.

Has there been any thinking on versioning in this DID module?

Our expectation would be something like did:cosmos:ixo:nft:1:abc123 where the :1: is the version identifier.

Any thoughts on how to approach this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions