changed 2 years ago
Linked with GitHub

DID Method Enumeration

There are muliple places in the ecosystem that require expression of which DID methods are supported.

This spec describes a micro data format for the expression of did method support.

Each expression is in the form of a struct/object. Typically, these expressions are represented in a list. See the end for a complete example.

By Method

The simplest way is to express the method supported

{ "method": "web" }

By Method, with Features

If the DID Method defines feature names in their spec, you can specify the method and include a subset of features of the did method that you support.

Each feature is expressed as a string. The meaning of the feature strings is specified in the DID method.

Omitting the features list indicates that you support all features of the method.

{ "method":"indy", "features": ["sovrin", "sovrin:test"] }
{ "method": "key", "features": ["ed25519-pub", "secp256k1-pub"] }

By Prefix

When a method name is insufficient and the DID method does not define features, you may need to specify a prefix which limits the matching DIDs further

{ "prefix": "did:key:zQ3s" }

You can include mutiple prefix entries in the same list for the same DID method.

Combined Example

The following example shows common use of the DID Method Support statements in a list

{ "did_methods": [ { "method": "web" }, { "prefix": "did:key:zQ3s" }, { "method": "indy", "features": ["sovrin", "sovrin:test"] }, { "method": "key", "features": ["ed25519-pub", "secp256k1-pub"] } ] }
Select a repo