Skip to content

Handling DID value, which is not known until after DID Doc has been committed #4

@kimdhamilton

Description

@kimdhamilton

Warning: I'm not up to date on the latest DID ABNF, so my examples may look off

Context

In the git did method spec, the "repo did" is based on the SHA1 of the commit used to create the repo did doc.

This leads to the same chicken-and-egg problem we had in BTCR when pointing to "continuation" DID documents in immutable storage, like IPFS. This leads to the question of what goes here:

{
  "@context": "https://wsid.org/git-method/v1",
  "id": // What goes here?
  ...
}

Our approach for BTCR was to allow fragments in the continuation document, and the method spec told the resolver to splice in DID (once the confirmed tx is known)

E.g.: a continuation DID doc in the immutable store could look like this "id": "#frag1", and the resolver would splice in the known did, returning this "id": "did:btcr:<txref>#frag1"

Questions

  1. Is the above relative fragment/path approach still valid? Keep in mind my terminology like "fragment" may be out of date.

  2. What should be done if no fragment/path/etc is needed? The latest DID spec indicates that id is a required field, but does that apply to the resolved doc? In other words, can the field be omitted? Or does it need to exist and have an empty string or placeholder value?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions