From de1eafcee42244da6df76b82a4514bfde174640f Mon Sep 17 00:00:00 2001 From: "didwg[bot]" Date: Fri, 27 Oct 2023 17:37:59 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20w3c/did-?= =?UTF-8?q?spec-registries@fec061d3110274dd34cb095dbd3e6628abd9d8d0=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 9 + .nojekyll | 0 .pr-preview.json | 4 + CODEOWNERS | 8 + CODE_OF_CONDUCT.md | 5 + CONTRIBUTING.md | 24 + FPWD/2020-06-18/index.html | 2913 ++++++++++++++++++++++++ LICENSE.md | 4 + README.md | 73 + common.js | 40 + index.html | 2963 +++++++++++++++++++++++++ json_schemas/core.schema.json | 201 ++ methods/3.json | 9 + methods/abt.json | 9 + methods/aergo.json | 9 + methods/ala.json | 9 + methods/amo.json | 9 + methods/antelope.json | 9 + methods/art.json | 9 + methods/asset.json | 9 + methods/bba.json | 9 + methods/bee.json | 9 + methods/bid.json | 9 + methods/bit.json | 9 + methods/bluetoqueagent.json | 9 + methods/bluetoquedeed.json | 9 + methods/bluetoquenfe.json | 9 + methods/bluetoqueprocess.json | 9 + methods/bnb.json | 9 + methods/bryk.json | 9 + methods/btcr.json | 9 + methods/candid.json | 9 + methods/ccd.json | 9 + methods/ccf.json | 10 + methods/ccp.json | 9 + methods/celo.json | 9 + methods/cheqd.json | 9 + methods/com.json | 9 + methods/content.json | 9 + methods/corda.json | 9 + methods/cosmos.json | 9 + methods/cot.json | 9 + methods/cr.json | 9 + methods/did.json | 9 + methods/dns.json | 9 + methods/dock.json | 9 + methods/dom.json | 9 + methods/dotbit.json | 9 + methods/dsrv.json | 9 + methods/dual.json | 9 + methods/dxd.json | 9 + methods/dyne.json | 9 + methods/echo.json | 9 + methods/elastos.json | 9 + methods/elem.json | 9 + methods/emtrust.json | 9 + methods/ens.json | 9 + methods/eosio.json | 9 + methods/erc725.json | 9 + methods/etho.json | 9 + methods/ethr.json | 9 + methods/ev.json | 9 + methods/evan.json | 9 + methods/everscale.json | 9 + methods/example.json | 9 + methods/factom.json | 9 + methods/fairx.json | 9 + methods/future.json | 9 + methods/gatc.json | 9 + methods/gns.json | 9 + methods/grg.json | 9 + methods/grn.json | 9 + methods/health.json | 9 + methods/hedera.json | 9 + methods/hid.json | 9 + methods/holo.json | 9 + methods/hpass.json | 9 + methods/hpo.json | 9 + methods/hsk.json | 8 + methods/iamx.json | 8 + methods/ibmdc.json | 9 + methods/icon.json | 9 + methods/id.json | 9 + methods/iid.json | 9 + methods/index.json | 1674 ++++++++++++++ methods/indy.json | 9 + methods/infra.json | 9 + methods/io.json | 9 + methods/ion.json | 9 + methods/iota.json | 9 + methods/ipid.json | 9 + methods/is.json | 9 + methods/iscc.json | 9 + methods/iwt.json | 9 + methods/jlinc.json | 9 + methods/jnctn.json | 9 + methods/jolo.json | 9 + methods/jwk.json | 9 + methods/kaname.json | 9 + methods/kdid.json | 9 + methods/keri.json | 9 + methods/key.json | 9 + methods/kilt.json | 9 + methods/klay.json | 9 + methods/knox.json | 9 + methods/kr.json | 9 + methods/kscirc.json | 9 + methods/lac.json | 9 + methods/life.json | 9 + methods/lisk.json | 9 + methods/lit.json | 9 + methods/meme.json | 9 + methods/mesh.json | 9 + methods/meta.json | 9 + methods/moac.json | 9 + methods/monid.json | 9 + methods/morpheus.json | 9 + methods/myDiD.json | 10 + methods/mydata.json | 9 + methods/near.json | 9 + methods/next.json | 9 + methods/nft.json | 9 + methods/nuggets.json | 9 + methods/nuts.json | 9 + methods/object.json | 9 + methods/ockam.json | 9 + methods/omn.json | 9 + methods/onion.json | 9 + methods/ont.json | 9 + methods/op.json | 9 + methods/orb.json | 9 + methods/oyd.json | 9 + methods/panacea.json | 9 + methods/peaq.json | 9 + methods/peer.json | 9 + methods/pid.json | 9 + methods/pistis.json | 9 + methods/pkh.json | 9 + methods/plc.json | 9 + methods/pml.json | 9 + methods/polygon.json | 9 + methods/polygonid.json | 9 + methods/prism.json | 9 + methods/psi.json | 9 + methods/psqr.json | 9 + methods/ptn.json | 9 + methods/qes.json | 9 + methods/qui.json | 9 + methods/ray.json | 9 + methods/real.json | 9 + methods/rm.json | 9 + methods/safe.json | 9 + methods/san.json | 9 + methods/schema.json | 9 + methods/scid.json | 9 + methods/self.json | 9 + methods/selfkey.json | 9 + methods/sideos.json | 9 + methods/signor.json | 9 + methods/sirius.json | 9 + methods/snail.json | 9 + methods/snplab.json | 9 + methods/sol.json | 9 + methods/sov.json | 9 + methods/ssb.json | 9 + methods/ssw.json | 9 + methods/stack.json | 9 + methods/tangle.json | 9 + methods/tdid.json | 9 + methods/ti.json | 9 + methods/tls.json | 9 + methods/trust.json | 9 + methods/trustbloc.json | 9 + methods/trx.json | 9 + methods/ttm.json | 9 + methods/twit.json | 9 + methods/tyron.json | 9 + methods/tys.json | 9 + methods/tz.json | 9 + methods/unik.json | 9 + methods/unisot.json | 9 + methods/uns.json | 9 + methods/uport.json | 9 + methods/v1.json | 9 + methods/vaa.json | 9 + methods/vaultie.json | 9 + methods/vertu.json | 9 + methods/vid.json | 9 + methods/vivid.json | 9 + methods/vtid.json | 9 + methods/vvo.json | 9 + methods/web.json | 9 + methods/web7.json | 9 + methods/webs.json | 9 + methods/wlk.json | 9 + methods/work.json | 9 + methods/yourd.json | 9 + methods/zk.json | 9 + methods/zkme.json | 9 + tooling/README.md | 27 + tooling/did-method-registry-entry.yml | 53 + tooling/generate-index.js | 41 + tooling/package-lock.json | 136 ++ tooling/package.json | 20 + tooling/validate-registry.js | 56 + vocabs/README.md | 66 + vocabs/did-v0.11.jsonld | 138 ++ vocabs/v1/context.html | 147 ++ vocabs/v1/context.jsonld | 58 + vocabs/v1/readme.md | 18 + vocabs/v1/shacl.jsonld | 179 ++ vocabs/v1/shacl.ttl | 126 ++ vocabs/v1/shex.shex | 42 + vocabs/v1/vocab.html | 304 +++ vocabs/v1/vocab.jsonld | 146 ++ vocabs/v1/vocab.rdf | 101 + vocabs/v1/vocab.ttl | 109 + w3c.json | 6 + 218 files changed, 11365 insertions(+) create mode 100644 .gitignore create mode 100644 .nojekyll create mode 100644 .pr-preview.json create mode 100644 CODEOWNERS create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 FPWD/2020-06-18/index.html create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 common.js create mode 100644 index.html create mode 100644 json_schemas/core.schema.json create mode 100644 methods/3.json create mode 100644 methods/abt.json create mode 100644 methods/aergo.json create mode 100644 methods/ala.json create mode 100644 methods/amo.json create mode 100644 methods/antelope.json create mode 100644 methods/art.json create mode 100644 methods/asset.json create mode 100644 methods/bba.json create mode 100644 methods/bee.json create mode 100644 methods/bid.json create mode 100644 methods/bit.json create mode 100644 methods/bluetoqueagent.json create mode 100644 methods/bluetoquedeed.json create mode 100644 methods/bluetoquenfe.json create mode 100644 methods/bluetoqueprocess.json create mode 100644 methods/bnb.json create mode 100644 methods/bryk.json create mode 100644 methods/btcr.json create mode 100644 methods/candid.json create mode 100644 methods/ccd.json create mode 100644 methods/ccf.json create mode 100644 methods/ccp.json create mode 100644 methods/celo.json create mode 100644 methods/cheqd.json create mode 100644 methods/com.json create mode 100644 methods/content.json create mode 100644 methods/corda.json create mode 100644 methods/cosmos.json create mode 100644 methods/cot.json create mode 100644 methods/cr.json create mode 100644 methods/did.json create mode 100644 methods/dns.json create mode 100644 methods/dock.json create mode 100644 methods/dom.json create mode 100644 methods/dotbit.json create mode 100644 methods/dsrv.json create mode 100644 methods/dual.json create mode 100644 methods/dxd.json create mode 100755 methods/dyne.json create mode 100644 methods/echo.json create mode 100644 methods/elastos.json create mode 100644 methods/elem.json create mode 100644 methods/emtrust.json create mode 100644 methods/ens.json create mode 100644 methods/eosio.json create mode 100644 methods/erc725.json create mode 100644 methods/etho.json create mode 100644 methods/ethr.json create mode 100644 methods/ev.json create mode 100644 methods/evan.json create mode 100644 methods/everscale.json create mode 100644 methods/example.json create mode 100644 methods/factom.json create mode 100644 methods/fairx.json create mode 100644 methods/future.json create mode 100644 methods/gatc.json create mode 100644 methods/gns.json create mode 100644 methods/grg.json create mode 100644 methods/grn.json create mode 100644 methods/health.json create mode 100644 methods/hedera.json create mode 100644 methods/hid.json create mode 100644 methods/holo.json create mode 100644 methods/hpass.json create mode 100644 methods/hpo.json create mode 100644 methods/hsk.json create mode 100644 methods/iamx.json create mode 100644 methods/ibmdc.json create mode 100644 methods/icon.json create mode 100644 methods/id.json create mode 100644 methods/iid.json create mode 100644 methods/index.json create mode 100644 methods/indy.json create mode 100644 methods/infra.json create mode 100644 methods/io.json create mode 100644 methods/ion.json create mode 100644 methods/iota.json create mode 100644 methods/ipid.json create mode 100644 methods/is.json create mode 100644 methods/iscc.json create mode 100644 methods/iwt.json create mode 100644 methods/jlinc.json create mode 100644 methods/jnctn.json create mode 100644 methods/jolo.json create mode 100644 methods/jwk.json create mode 100644 methods/kaname.json create mode 100644 methods/kdid.json create mode 100644 methods/keri.json create mode 100644 methods/key.json create mode 100644 methods/kilt.json create mode 100644 methods/klay.json create mode 100644 methods/knox.json create mode 100644 methods/kr.json create mode 100644 methods/kscirc.json create mode 100644 methods/lac.json create mode 100644 methods/life.json create mode 100644 methods/lisk.json create mode 100644 methods/lit.json create mode 100644 methods/meme.json create mode 100644 methods/mesh.json create mode 100644 methods/meta.json create mode 100644 methods/moac.json create mode 100644 methods/monid.json create mode 100644 methods/morpheus.json create mode 100644 methods/myDiD.json create mode 100644 methods/mydata.json create mode 100644 methods/near.json create mode 100644 methods/next.json create mode 100644 methods/nft.json create mode 100644 methods/nuggets.json create mode 100644 methods/nuts.json create mode 100644 methods/object.json create mode 100644 methods/ockam.json create mode 100644 methods/omn.json create mode 100644 methods/onion.json create mode 100644 methods/ont.json create mode 100644 methods/op.json create mode 100644 methods/orb.json create mode 100644 methods/oyd.json create mode 100644 methods/panacea.json create mode 100644 methods/peaq.json create mode 100644 methods/peer.json create mode 100644 methods/pid.json create mode 100644 methods/pistis.json create mode 100644 methods/pkh.json create mode 100644 methods/plc.json create mode 100644 methods/pml.json create mode 100644 methods/polygon.json create mode 100644 methods/polygonid.json create mode 100644 methods/prism.json create mode 100644 methods/psi.json create mode 100644 methods/psqr.json create mode 100644 methods/ptn.json create mode 100644 methods/qes.json create mode 100644 methods/qui.json create mode 100644 methods/ray.json create mode 100644 methods/real.json create mode 100644 methods/rm.json create mode 100644 methods/safe.json create mode 100644 methods/san.json create mode 100644 methods/schema.json create mode 100644 methods/scid.json create mode 100644 methods/self.json create mode 100644 methods/selfkey.json create mode 100644 methods/sideos.json create mode 100644 methods/signor.json create mode 100644 methods/sirius.json create mode 100644 methods/snail.json create mode 100644 methods/snplab.json create mode 100644 methods/sol.json create mode 100644 methods/sov.json create mode 100644 methods/ssb.json create mode 100644 methods/ssw.json create mode 100644 methods/stack.json create mode 100644 methods/tangle.json create mode 100644 methods/tdid.json create mode 100644 methods/ti.json create mode 100644 methods/tls.json create mode 100644 methods/trust.json create mode 100644 methods/trustbloc.json create mode 100644 methods/trx.json create mode 100644 methods/ttm.json create mode 100644 methods/twit.json create mode 100644 methods/tyron.json create mode 100644 methods/tys.json create mode 100644 methods/tz.json create mode 100644 methods/unik.json create mode 100644 methods/unisot.json create mode 100644 methods/uns.json create mode 100644 methods/uport.json create mode 100644 methods/v1.json create mode 100644 methods/vaa.json create mode 100644 methods/vaultie.json create mode 100644 methods/vertu.json create mode 100644 methods/vid.json create mode 100644 methods/vivid.json create mode 100644 methods/vtid.json create mode 100644 methods/vvo.json create mode 100644 methods/web.json create mode 100644 methods/web7.json create mode 100644 methods/webs.json create mode 100644 methods/wlk.json create mode 100644 methods/work.json create mode 100644 methods/yourd.json create mode 100644 methods/zk.json create mode 100644 methods/zkme.json create mode 100644 tooling/README.md create mode 100644 tooling/did-method-registry-entry.yml create mode 100644 tooling/generate-index.js create mode 100644 tooling/package-lock.json create mode 100644 tooling/package.json create mode 100644 tooling/validate-registry.js create mode 100644 vocabs/README.md create mode 100644 vocabs/did-v0.11.jsonld create mode 100644 vocabs/v1/context.html create mode 100644 vocabs/v1/context.jsonld create mode 100644 vocabs/v1/readme.md create mode 100644 vocabs/v1/shacl.jsonld create mode 100644 vocabs/v1/shacl.ttl create mode 100644 vocabs/v1/shex.shex create mode 100644 vocabs/v1/vocab.html create mode 100644 vocabs/v1/vocab.jsonld create mode 100644 vocabs/v1/vocab.rdf create mode 100644 vocabs/v1/vocab.ttl create mode 100644 w3c.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..1132bb2a --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +node_modules +coverage +vocabs/shape_test.ttl +vocabs/v1/test.ttl + +.vscode +.DS_Store +.idea +unresolveable-test-dids.json diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/.pr-preview.json b/.pr-preview.json new file mode 100644 index 00000000..a239968f --- /dev/null +++ b/.pr-preview.json @@ -0,0 +1,4 @@ +{ + "src_file": "index.html", + "type": "respec" +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 00000000..e364f09a --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,8 @@ + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# they will be requested for review when someone opens a +# pull request. +* @msporny @OR13 @mprorock + +# See CODEOWNERS syntax here: https://help.github.com/articles/about-codeowners/#codeowners-syntax diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..affeb6c7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,5 @@ +# Code of Conduct + +Contributing to all documentation, code, and communication under this +repository is covered by the +[W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..525730d3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Decentralized Identifier Working Group + +Contributions to this repository are intended to become part of Recommendation-track documents governed by the +[W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and +[Document License](https://www.w3.org/Consortium/Legal/copyright-documents). To make substantive contributions to specifications, you must either participate +in the relevant W3C Working Group or make a non-member patent licensing commitment. + +If you are not the sole contributor to a contribution (pull request), please identify all +contributors in the pull request comment. + +To add a contributor (other than yourself, that's automatic), mark them one per line as follows: + +``` ++@github_username +``` + +If you added a contributor by mistake, you can remove them in a comment with: + +``` +-@github_username +``` + +If you are making a pull request on behalf of someone else but you had no part in designing the +feature, you can remove yourself with the above syntax. diff --git a/FPWD/2020-06-18/index.html b/FPWD/2020-06-18/index.html new file mode 100644 index 00000000..2233d5a6 --- /dev/null +++ b/FPWD/2020-06-18/index.html @@ -0,0 +1,2913 @@ + + DID Specification Registries + + + + + + +
+

DID Specification Registries

+

The interoperability registry for Decentralized Identifiers

+

+ W3C Working Group Note + +

+
+
This version:
+ https://www.w3.org/TR/2020/NOTE-did-spec-registries-20200618/ +
Latest published version:
+ https://www.w3.org/TR/did-spec-registries/ +
+
Latest editor's draft:
https://w3c.github.io/did-spec-registries/
+ + + + + +
Editors:
+
Orie Steele + (Transmute) +
Manu Sporny + (Digital Bazaar) +
+ +
+ Authors: +
Orie Steele + (Transmute) +
Manu Sporny + (Digital Bazaar) +
+
Participate:
+ GitHub w3c/did-spec-registries +
+ File a bug +
+ Commit history +
+ Pull requests +
+
+ + + + +
+
+

Abstract

+

+

+

+This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +

+
+ +

Status of This Document

This section describes the status of this + document at the time of its publication. Other documents may supersede + this document. A list of current W3C publications and the latest revision + of this technical report can be found in the + W3C technical reports index at + https://www.w3.org/TR/.

+ +

+This registry is under active development and implementers are advised +against using the registry unless they are directly involved with the +W3C DID Working Group. +

+ +

+Comments regarding this document are welcome. Please file issues +directly on GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +

+ +

+Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +

+ +

+Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +

+

+ This document was published by the Decentralized Identifier Working Group as a + First Public Working Group Note. + +

+ GitHub Issues are preferred for + discussion of this specification. + + Alternatively, you can send comments to our mailing list. + Please send them to + public-did-wg@w3.org + (archives). + +

+ Publication as a Working Group Note does not imply endorsement by the W3C + Membership. This is a draft document and may be updated, replaced or + obsoleted by other documents at any time. It is inappropriate to cite this + document as other than work in progress. +

+ + This document was produced by a group + operating under the + W3C Patent Policy. + + + +

+ This document is governed by the + 1 March 2019 W3C Process Document. +

+ +

1. Conformance

+ As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. +

+ The key words MAY, MUST, MUST NOT, and SHOULD in this document + are to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +

+ +
+

2. Introduction

This section is non-normative.

+ +

+This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +

+
+ +
+

3. The Registration Process

+

+Software implementers might find that the existing Decentralized Identifier Core +specification [DID-CORE] is not entirely capable of addressing their use case +and might need to add a new parameters, properties, or values to this registry +in order to achieve their use case in a globally interoperable fashion. In order +to add a new parameter, property, or value to this registry, an implementer MUST +submit a modification request for this registry, as a Github Pull Request, where +the modification request adheres to the following rules: +

+ +
    +
  1. +Any addition to the DID Core Registries MUST specify a human readable +description of the addition. +
  2. +
  3. +Any addition to the DID Core Registries MUST link, via at least a URL, +preferably a content-integrity protected one, to the defining specification so +that implementers can implement the property. +
  4. +
  5. +Any addition to the DID Core Registries that is a property or value, MUST +specify a machine readable JSON-LD Context for the addition. +
      +
    • +The JSON-LD Context MUST be included in full as part of the submission. +
    • +
    • +A namespace URI MUST be provided for the JSON-LD Context so that consumer +implementations can consistently map a URI to the full context. +
    • +
    • +The URI provided MUST be persistent, and link all terms to their associated +human readable descriptions. +
    • +
    • +The URI provided SHOULD resolve or link to the full context contents. +
    • +
    • +JSON-LD Contexts MUST be versioned and MUST NOT be date stamped. +
    • +
    • +JSON-LD Contexts SHOULD use scoped terms and MUST use the @protected +feature to eliminate the possibility of term conflicts. +
    • +
    +
  6. +
  7. +Any addition to the DID Core Registries MUST specify a non-normative JSON Schema +(the defining specification is normative) for the addition. +
  8. +
  9. +Properties in the DID Core Registries MUST NOT be removed, only deprecated. +
  10. +
+ +

+Additions that do not meet these criteria MUST NOT be accepted. Entries that +are identified to cause interoperability problems MAY be marked as such +at the discretion of the maintainers of this registry, and if possible, after +consultation with the entry maintainer. +

+
+ + +
+

4. Properties

+

+The following section defines the properties available for use in a DID +document. Note that some of these properties are defined in the +DID Core Specification, and +others are defined elsewhere and may be method- or domain-specific. Please read +the associated specifications to ensure that the properties you use are +appropriate for your implementation. The properties are arranged here according +to the purpose they serve. +

+ +
Issue

+This registry is a work in progress and some properties are missing normative +definitions. We are working on this! This does NOT mean that in future it will +be possible to submit items to the registry without normative definitions (see § 3. The Registration Process). +

+ +
+

4.1 Base properties

+

+These properties are foundational to DID documents, and are expected to be +useful to all DID methods. +

+

4.1.1 @context

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 1: Example of @context property +
{
+  "@context": [
+    "https://www.w3.org/ns/did/v1",
+    "https://example.com/blockchain-identity/v1"
+  ],
+  ...
+}
+
+ +
+ +
+

4.1.2 id

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 2: Example of id property +
{
+  "id": "did:example:123",
+  ...
+}
+
+
+ +
+

4.1.3 controller

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 3: Example of controller property +
{
+  "controller": "did:example:123",
+  ...
+}
+
+
+ + +
+

4.1.4 verificationMethod

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core Terminology (property definition pending) + + + /did/v1 + +
+
+ +
+

4.1.5 publicKey

+ +
Issue

+This property may be replaced entirely by verificationMethod in +DID Core. See issue +#283. +

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 4: Example of publicKey property +
{
+  "id": "did:example:123",
+  "publicKey": [
+    {
+      "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+      "type": "Ed25519VerificationKey2018",
+      "controller": "did:example:123",
+      "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+    },
+    {
+      "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+      "type": "EcdsaSecp256k1VerificationKey2019",
+      "controller": "did:example:123",
+      "publicKeyJwk": {
+        "crv": "secp256k1",
+        "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+        "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+        "kty": "EC",
+        "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+      }
+    }
+  ]
+}
+
+
+ +
+

4.1.6 service

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 5: Example of service and serviceEndpoint properties +
{
+  ...
+  "service": [{
+    "id": "did:example:123#edv",
+    "type": "EncryptedDataVault",
+    "serviceEndpoint": "https://edv.example.com/"
+  }]
+}
+
+ +
+ +
+

4.1.7 proof

+
Issue

+Subject to removal from DID Core - see +issue #293. +

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + + /did/v1 + +
+ +
+ +
+ +
+

4.2 Services

+

+These terms are properties or types belonging to objects in the value of +service. +

+
+

4.2.1 serviceEndpoint

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 6: Example of service and serviceEndpoint properties +
{
+  ...
+  "service": [{
+    "id": "did:example:123#edv",
+    "type": "EncryptedDataVault",
+    "serviceEndpoint": "https://edv.example.com/"
+  }]
+}
+
+ +
+
+ +
+

4.3 Verification relationships

+

+A DID document expresses the relationship between the DID subject and a +verification method using a + +verification relationship. +

+
+

4.3.1 assertionMethod

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 7: Example of assertionMethod property +
{
+  ...
+  "publicKey": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "assertionMethod": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+
+
+ +
+

4.3.2 authentication

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 8: Example of authentication property +
{
+  ...
+  "publicKey": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "authentication": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+
+
+ +
+

4.3.3 capabilityDelegation

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + JSON Schema + + /did/v1 + +
+
+
+ Example 9: Example of capabilityDelegation property +
{
+  ...
+  "publicKey": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "capabilityDelegation": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+
+
+ +
+

4.3.4 capabilityInvocation

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 10: Example of capabilityInvocation property +
{
+  ...
+  "publicKey": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "capabilityInvocation": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+
+
+ +
+

4.3.5 keyAgreement

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 11: Example of keyAgreement property +
{
+  ...
+  "keyAgreement": [
+    {
+      "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+      "type": "X25519KeyAgreementKey2019",
+      "controller": "did:example:123",
+      "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+    }
+  ]
+}
+
+
+
+ +
+

4.4 Verification method properties

+

+These properties are for use on a verification method object, not on the DID document itself. +

+
+

4.4.1 ethereumAddress

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ ESRS2020 + + + esrs2020 + +
+
+
+ Example 12: Example of ethereumAddress property +
{
+  "@context":[
+    "https://www.w3.org/ns/did/v1",
+    "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+  ],
+  "id":"did:example:123",
+  "publicKey":[{
+    "id": "did:example:123#vm-3",
+    "controller": "did:example:123",
+    "type": "EcdsaSecp256k1RecoveryMethod2020",
+    "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+  }]
+}
+
+
+ +
+

4.4.2 publicKeyHex

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ ESRS2020 + + + esrs2020 + +
+
+
+ Example 13: Example of publicKeyHex property +
{
+  "@context":[
+    "https://www.w3.org/ns/did/v1",
+    "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+  ],
+  "id":"did:example:123",
+  "publicKey":[{
+    "id": "did:example:123#vm-2",
+    "controller": "did:example:123",
+    "type": "EcdsaSecp256k1RecoveryMethod2020",
+    "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+  }]
+}
+
+
+ +
+

4.4.3 publicKeyJwk

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Normative definition pending + + + /did/v1 + +
+ +
+
+ Example 14: Example of publicKeyJwk property +
{
+  "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
+  "type": "JsonWebKey2020",
+  "controller": "did:example:123",
+  "publicKeyJwk": {
+    "crv": "Ed25519",
+    "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
+    "kty": "OKP",
+    "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
+  }
+},
+
+
+ +
+

4.4.4 publicKeyBase58

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + + /did/v1 + +
+ +
+ +
+

4.4.5 publicKeyPem

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab + + + /did/v1 + +
+ +
+
+ +
+

4.5 Verification method types

+

+These are classes not a properties - in other words, use them +for the value of type in a verification method object. +

+
+

4.5.1 JwsVerificationKey2020

+ +
Issue

+ISSUE 240 on DID Core: The duplication and/or possible interaction of properties held in a JWK and a verification method are an active topic of discussion in the Working Group. Implementers are cautioned that the behavior of values associated with this property are not stable and might change in the future. +

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Normative definition pending + + JSON Schema + + +
+ +
+
+ Example 15: Example of JwsVerificationKey2020 class +
{
+  "id": "did:example:123#_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw",
+  "type": "JwsVerificationKey2020",
+  "controller": "did:example:123",
+  "publicKeyJwk": {
+    "crv": "P-256",
+    "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8",
+    "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4",
+    "kty": "EC",
+    "kid": "_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw"
+  }
+}
+
+
+
+

4.5.2 EcdsaSecp256k1VerificationKey2019

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Ecdsa Secp256k1 Signature 2019 + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 16: Example of EcdsaSecp256k1VerificationKey2019 class +
{
+  "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+  "type": "EcdsaSecp256k1VerificationKey2019",
+  "controller": "did:example:123",
+  "publicKeyJwk": {
+    "crv": "secp256k1",
+    "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+    "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+    "kty": "EC",
+    "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  }
+}
+
+
+ +
+

4.5.3 Ed25519VerificationKey2018

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Ed25519 Signature 2018 + + JSON Schema + + /did/v1 + +
+ +
+
+ Example 17: Example of Ed25519VerificationKey2018 class +
{
+  "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+  "type": "Ed25519VerificationKey2018",
+  "controller": "did:example:123",
+  "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+}
+
+
+ +
+

4.5.4 GpgVerificationKey2020

+
Warning

+ No support for "Pure JSON" or "CBOR" is currently provided. +

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Linked Data Signatures for GPG + + Not supported + + gpg.jsld.org + + Not supported +
+
+
{
+  "@context":[
+    "https://www.w3.org/ns/did/v1",
+    "https://gpg.jsld.org/contexts/lds-gpg2020-v0.0.jsonld"
+  ],
+  "id":"did:example:123",
+  "publicKey":[{
+    "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2",
+    "type": "GpgVerificationKey2020",
+    "controller": "did:example:123",
+    "publicKeyGpg": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n"
+  }]
+}
+
+
+ +
+

4.5.5 RsaVerificationKey2018

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ RSA Signature Suite 2018 + + + /did/v1 + +
+
+
{
+  "id": "did:example:123#key-0",
+  "type": "RsaVerificationKey2018",
+  "controller": "did:example:123",
+  "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
+}
+
+
+ +
+

4.5.6 X25519KeyAgreementKey2019

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ Normative definition pending + + + +
+
+
+ Example 20: Example of X25519KeyAgreementKey2019 +
{
+  ...
+  "keyAgreement": [
+    {
+      "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+      "type": "X25519KeyAgreementKey2019",
+      "controller": "did:example:123",
+      "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+    }
+  ]
+}
+
+ +
+ +
+

4.5.7 SchnorrSecp256k1VerificationKey2019

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ security-vocab Link is to a placeholder! Definition pending + + + /did/v1 + +
+
+ +
+

4.5.8 EcdsaSecp256k1RecoveryMethod2020

+ + + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ ESRS2020 + + + esrs2020 + +
+
+
{
+"@context":[
+  "https://www.w3.org/ns/did/v1",
+  "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+],
+"id":"did:example:123",
+"publicKey":[{
+  "id": "did:example:123#vm-1",
+  "controller": "did:example:123",
+  "type": "EcdsaSecp256k1RecoveryMethod2020",
+  "publicKeyJwk": {
+    "crv": "secp256k1",
+    "kid": "JUvpllMEYUZ2joO59UNui_XYDqxVqiFLLAJ8klWuPBw",
+    "kty": "EC",
+    "x": "dWCvM4fTdeM0KmloF57zxtBPXTOythHPMm1HCLrdd3A",
+    "y": "36uMVGM7hnw-N6GnjFcihWE3SkrhMLzzLCdPMXPEXlA"
+  }
+},
+{
+  "id": "did:example:123#vm-2",
+  "controller": "did:example:123",
+  "type": "EcdsaSecp256k1RecoveryMethod2020",
+  "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+},
+{
+  "id": "did:example:123#vm-3",
+    "controller": "did:example:123",
+    "type": "EcdsaSecp256k1RecoveryMethod2020",
+    "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+  }]
+}
+
+
+ +
+ +
+

4.6 DID resolution options

+

+These properties contain information pertaining to the DID resolution request. +

+ +
+

4.6.1 accept

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ + + +
+
+
+ +
+

4.7 DID resolution metadata

+

+These properties contain information pertaining to the DID resolution response. +

+
+

4.7.1 content-type

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ + + +
+
+ +
+

4.7.2 error

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ + + +
+
+ +
+

4.7.3 invalid-did

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ + + +
+
+ +
+

4.7.4 unauthorized

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ + + +
+
+
+ +
+

4.8 DID document metadata

+

+These properties contain information pertaining to the DID document iself, +rather than the DID subject. +

+
+

4.8.1 created

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + + CBOR +
+ +
+
{
+  "created": "2002-10-10T17:00:00Z"
+}
+
+
+ +
+

4.8.2 updated

+ + + + + + + + + + + + + + + + + +
Normative DefinitionJSON SchemaJSON-LDCBOR
+ DID Core + + JSON Schema + + /did/v1 + + CBOR +
+ +
+
+ Example 23: Example of updated property +
{
+  "updated": "2016-10-17T02:41:00Z"
+}
+
+ +
+
+ +
+ +
+ +

5. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Name + +Description + +Specification +
+hl + +A resource hash of the DID document to add integrity protection, as +specified in +Hashlink specification. + +[DID-CORE] +
+service + +Identifies a service from the DID document by service ID. + +[DID-CORE] +
+version-id + +Identifies a specific version of a DID document to be resolved (the +version ID could be sequential, or a UUID, or method-specific). Note that +this parameter might not be supported by all DID methods. + +[DID-CORE] +
+version-time + +Identifies a certain version timestamp of a DID document to be resolved. +That is, the DID document that was valid for a DID at a certain +time. Note that this parameter might not be supported by all DID methods. + +[DID-CORE] +
+ +
Issue 32: Add Example to The Core Parameters

+ Example needed. +

+
Issue 30: Add Example to The Parameters Extension Registry

+ Example needed. +

+ +
+ +
+

6. DID Methods

+ + +

+This table summarizes the DID method specifications currently in development. +The links will be updated as subsequent Implementer’s Drafts are produced. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method NameStatusDLT or NetworkAuthorsLink
+ did:abt: + + PROVISIONAL + + ABT Network + + ArcBlock + + ABT DID Method +
+ did:btcr: + + PROVISIONAL + + Bitcoin + + Christopher Allen, Ryan Grant, Kim Hamilton Duffy + + BTCR DID Method +
+ did:stack: + + PROVISIONAL + + Bitcoin + + Jude Nelson + + Blockstack DID Method +
+ did:erc725: + + PROVISIONAL + + Ethereum + + Markus Sabadello, Fabian Vogelsteller, Peter Kolarov + + erc725 DID Method +
+ did:example: + + PROVISIONAL + + DID Specification + + W3C Credentials Community Group + + DID Specification +
+ did:ipid: + + PROVISIONAL + + IPFS + + TranSendX + + IPID DID method +
+ did:life: + + PROVISIONAL + + RChain + + lifeID Foundation + + lifeID DID Method +
+ did:sov: + + PROVISIONAL + + Sovrin + + Mike Lodder + + Sovrin DID Method +
+ did:uport: + + DEPRECATED + + Ethereum + + uPort + +
+ did:ethr: + + PROVISIONAL + + Ethereum + + uPort + + ETHR DID Method +
+ did:v1: + + PROVISIONAL + + Veres One + + Digital Bazaar + + Veres One DID Method +
+ did:com: + + PROVISIONAL + + commercio.network + + Commercio Consortium + + Commercio.network DID Method +
+ did:dom: + + PROVISIONAL + + Ethereum + + Dominode + +
+ did:ont: + + PROVISIONAL + + Ontology + + Ontology Foundation + + Ontology DID Method +
+ did:vvo: + + PROVISIONAL + + Vivvo + + Vivvo Application Studios + + Vivvo DID Method +
+ did:aergo: + + PROVISIONAL + + Aergo + + Blocko + + Aergo DID Method +
+ did:icon: + + PROVISIONAL + + ICON + + ICONLOOP + + ICON DID Method +
+ did:iwt: + + PROVISIONAL + + InfoWallet + + Raonsecure + + InfoWallet DID Method +
+ did:ockam: + + PROVISIONAL + + Ockam + + Ockam + + Ockam DID Method +
+ did:ala: + + PROVISIONAL + + Alastria + + Alastria National Blockchain Ecosystem + + Alastria DID Method +
+ did:op: + + PROVISIONAL + + Ocean Protocol + + Ocean Protocol + + Ocean Protocol DID Method +
+ did:jlinc: + + PROVISIONAL + + JLINC Protocol + + Victor Grey + + JLINC Protocol DID Method +
+ did:ion: + + PROVISIONAL + + Bitcoin + + Various DIF contributors + + ION DID Method +
+ did:jolo: + + PROVISIONAL + + Ethereum + + Jolocom + + Jolocom DID Method +
+ did:bryk: + + PROVISIONAL + + bryk + + Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa + + bryk DID Method +
+ did:peer: + + PROVISIONAL + + peer + + Daniel Hardman + + peer DID Method +
+ did:selfkey: + + PROVISIONAL + + Ethereum + + SelfKey + + SelfKey DID Method +
+ did:meta: + + PROVISIONAL + + Metadium + + Metadium Foundation + + Metadium DID Method +
+ did:tys: + + PROVISIONAL + + DID Specification + + Chainyard + + TYS DID Method +
+ did:git: + + PROVISIONAL + + DID Specification + + Internet Identity Workshop + + Git DID Method +
+ did:tangle: + + PROVISIONAL + + IOTA Tangle + + BiiLabs Co., Ltd. + + TangleID DID Method +
+ did:emtrust: + + PROVISIONAL + + Hyperledger Fabric + + Halialabs Pte Ltd. + + Emtrust DID Method +
+ did:ttm: + + PROVISIONAL + + TMChain + + Token.TM + + TM DID Method +
+ did:wlk: + + PROVISIONAL + + Weelink Network + + Weelink + + Weelink DID Method +
+ did:pistis: + + PROVISIONAL + + Ethereum + + Andrea Taglia, Matteo Sinico + + Pistis DID Method +
+ did:holo: + + PROVISIONAL + + Holochain + + Holo.Host + + Holochain DID Method +
+ did:web: + + PROVISIONAL + + Web + + Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy + + Web DID Method +
+ did:io: + + PROVISIONAL + + IoTeX + + IoTeX Foundation + + IoTeX DID Method +
+ did:vaultie: + + PROVISIONAL + + Ethereum + + Vaultie Inc. + + Vaultie DID Method +
+ did:moac: + + PROVISIONAL + + MOAC + + MOAC Blockchain Tech, Inc. + + MOAC DID Method +
+ did:omn: + + PROVISIONAL + + OmniOne + + OmniOne + + OmniOne DID Method +
+ did:work: + + PROVISIONAL + + Hyperledger Fabric + + Workday, Inc. + + Workday DID Method +
+ did:vid: + + PROVISIONAL + + VP + + VP Inc. + + VP DID Method +
+ did:ccp: + + PROVISIONAL + + Quorum + + Baidu, Inc. + + Cloud DID Method +
+ did:jnctn: + + PROVISIONAL + + Jnctn Network + + Jnctn Limited + + JNCTN DID Method +
+ did:evan: + + PROVISIONAL + + evan.network + + evan GmbH + + evan.network DID Method +
+ did:elastos: + + PROVISIONAL + + Elastos ID Sidechain + + Elastos Foundation + + Elastos DID Method +
+ did:kilt: + + PROVISIONAL + + KILT Blockchain + + BOTLabs GmbH + + KILT DID Method +
+ did:elem: + + PROVISIONAL + + Element DID + + Transmute + + ELEM DID Method +
+ did:github: + + PROVISIONAL + + Github + + Transmute + + GitHub DID Method +
+ did:bid: + + PROVISIONAL + + bif + + teleinfo caict + + BIF DID Method +
+ did:ptn: + + PROVISIONAL + + PalletOne + + PalletOne + + PalletOne DID Method +
+ did:echo: + + PROVISIONAL + + Echo + + Echo Technological Solutions LLC + + Echo DID Method +
+ did:trustbloc: + + PROVISIONAL + + Hyperledger Fabric + + SecureKey + + TrustBloc DID Method +
+ did:san: + + PROVISIONAL + + SAN Cloudchain + + YLZ Inc. + + SAN DID Method +
+ did:gatc: + + PROVISIONAL + + Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria + + Gataca + + Gataca DID Method +
+ did:factom: + + PROVISIONAL + + Factom + + Sphereon, Factomatic, Factom Inc + + Factom DID Method +
+ did:signor: + + PROVISIONAL + + Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu + + Cryptonics + + Signor DID Method +
+ did:hedera: + + PROVISIONAL + + Hedera Hashgraph + + Hedera Hashgraph, Swisscom Blockchain AG + + Hedera Hashgraph DID Method +
+ did:schema: + + PROVISIONAL + + Multiple storage networks, currently public IPFS and evan.network IPFS + + 51nodes GmbH + + Schema Registry DID Method +
+ +
+ + + + +

A. References

+

A.1 + Normative references +

+
+
[DID-CORE]
Decentralized Identifiers (DIDs) v1.0. Drummond Reed; Manu Sporny; Markus Sabadello; Dave Longley; Christopher Allen. W3C. 21 April 2020. W3C Working Draft. URL: https://www.w3.org/TR/did-core/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174
+
\ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..495d78c4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,4 @@ +All documents in this Repository are licensed by contributors +under the +[W3C Document License](https://www.w3.org/Consortium/Legal/copyright-documents). + diff --git a/README.md b/README.md new file mode 100644 index 00000000..b4799edf --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +![W3C Logo](https://www.w3.org/Icons/w3c_home) + +[![Echidna Auto-publish](https://github.com/w3c/did-spec-registries/actions/workflows/auto-publish.yml/badge.svg)](https://github.com/w3c/did-spec-registries/actions/workflows/auto-publish.yml) + +# Decentralized Identifier Core Registries v1.0 + +This repository contains a registry created by the +[W3C Decentralized Identifier Working Group](https://www.w3.org/2019/did-wg/) +(DID WG) for the purpose of enhancing DID ecosystem interoperability. + +An Editor's Draft of this repository is available at +https://w3c.github.io/did-spec-registries/. + +## Adding a DID Method to this Registry + +In order to register a new DID method, you must add a JSON file +to the [./methods](./methods) directory and +[open a pull request](https://github.com/w3c/did-spec-registries/pulls) +to add the file to this repository. + +Here is an [example registration entry](https://w3c.github.io/did-spec-registries/methods/example.json): + +```jsonc +{ + // These fields are required + "name": "example", + "status": "registered", + "specification": "https://w3c-ccg.github.io/did-spec/", + // These fields are optional + "contactName": "W3C Credentials Community Group", + "contactEmail": "", + "contactWebsite": "", + "verifiableDataRegistry": "DID Specification" +} +``` + +Your Pull Request will be automatically validated, please ensure +that all of the automated tests pass (no errors reported) or +your submission will not be reviewed. Common reasons for failed +validation includes invalidly formatted JSON files and missing +mandatory fields. There will be a checklist that you are expected +to complete and attest to its accuracy. Once you submit your request, +your pull request will be reviewed by the registry editors. Changes +regarding the required criteria may be requested. If there are at +least two reviews by registry maintainers listed in the CODEOWNERS file, and no objections or +changes requested, your DID method will be registered after a +minimum of 7 days and a maximum of 30 days. + +## Adding Anything Else to this Registry + +Use the standard fork, branch, and pull request workflow to propose changes to +the registry. Please make branch names informative—by including the issue or +bug number for example. + +Editorial changes that improve the readability of the registry or correct +spelling or grammatical mistakes are welcome. + +Non-editorial changes MUST go through a review and approval process that is +[detailed in the registry](https://w3c.github.io/did-spec-registries/#the-registration-process). + +Please read [CONTRIBUTING.md](CONTRIBUTING.md), about licensing contributions. + +## Code of Conduct + +W3C functions under a [code of conduct](https://www.w3.org/Consortium/cepc/). + +## DID Working Group Repositories + +- [W3C DID Core Specification v1.0](https://github.com/w3c/did-core) +- [W3C DID Working Group](https://github.com/w3c/did-wg) +- [W3C DID Rubric v1.0](https://github.com/w3c/did-rubric) +- [W3C DID Use Cases v1.0](https://github.com/w3c/did-use-cases) +- [W3C DID Test Suite and Implementation Report](https://github.com/w3c/did-test-suite) diff --git a/common.js b/common.js new file mode 100644 index 00000000..087a939a --- /dev/null +++ b/common.js @@ -0,0 +1,40 @@ +/* Build DID Method table using JSON data */ +async function buildDidMethodTables(config) { + const {document} = window; + const response = await fetch('methods/index.json'); + if(response.status !== 200) { + throw new Error('Failed retrieve DID Method index.json file.'); + } + const allMethods = await response.json(); + + // set up the API summary table headers + const table = document.getElementById('did-method-table'); + const tableHeader = document.createElement('thead'); + tableHeader.innerHTML = 'DID MethodRegistry' + + 'Contact'; + table.appendChild(tableHeader); + + // summarize each API endpoint + const tableBody = document.createElement('tbody'); + for(const method of allMethods) { + const tableRow = document.createElement('tr'); + const {name, verifiableDataRegistry, contactEmail, contactName, + contactWebsite, specification} = method; + let contactInfo = contactName; + if(contactEmail) { + contactInfo += ` (email)`; + } + if(contactWebsite) { + contactInfo += ` (website)`; + } + tableRow.innerHTML = + `${name}` + + `${verifiableDataRegistry}` + + `${contactInfo}`; + tableBody.appendChild(tableRow); + } + table.appendChild(tableBody); + +} + +window.buildDidMethodTables = buildDidMethodTables; diff --git a/index.html b/index.html new file mode 100644 index 00000000..e0155481 --- /dev/null +++ b/index.html @@ -0,0 +1,2963 @@ + + + + +DID Specification Registries + + + + + + + + + +
+

+This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +

+
+ +
+ +

+This registry is under active development and implementers are advised +against using the registry unless they are directly involved with the +W3C DID Working Group. +

+ +

+Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +

+ +

+Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +

+ +

+Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +

+
+ +
+ +
+

Introduction

+ +

+This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +

+
+ +
+

The Registration Process

+

+Software implementers might find that the existing Decentralized Identifier Core +specification [[DID-CORE]] is not entirely capable of addressing their use case +and might need to add a new parameters, properties, or values to this registry +in order to achieve their use case in a globally interoperable fashion. In order +to add a new parameter, property, or value to this registry, an implementer MUST +submit a modification request for this registry, as a pull request on the +repository where this registry is hosted, where the modification request adheres +to the following policies: +

+ +
    +
  1. +Any addition to the DID Core Registries MUST specify a human readable +description of the addition. +
  2. +
  3. +Any name or value of a property or parameter MUST be indicative of +its function. Avoid generic terms such as "myProperty" or "foo". +
  4. +
  5. +Any method name SHOULD avoid generic terms such as "mymethod" or "registry". +
  6. +
  7. +If there are copyright, trademark, or any intellectual property rights +concerns, the addition and use MUST be authorized in writing by the intellectual +property rights holder under a +F/RAND +license. Examples include DID Methods that use trademarked brand names, +property names that utilize the titles of copyrighted works, and patented +technology that would cause the use of the extension to require licensing a +patent. +
  8. +
  9. +Any addition MUST NOT create unreasonable legal, security, moral, or privacy +issues that will result in direct harm to others. Examples of unacceptable +additions include any containing racist language, technologies used to +persecute minority populations, and unconsented pervasive tracking. +
  10. +
  11. +Any addition to the DID Core Registries MUST link, via at least a URL, +preferably a content-integrity protected one, to the defining specification so +that implementers can implement the property. +
  12. +
  13. +Any addition to the DID Core Registries that is a property or value, MUST +specify a machine readable JSON-LD Context for the addition. +
      +
    • +The JSON-LD Context MUST be included in full as part of the submission. +
    • +
    • +A namespace URI MUST be provided for the JSON-LD Context so that consumer +implementations can consistently map a URI to the full context. +
    • +
    • +The URI provided MUST be persistent, and link all terms to their associated +human readable descriptions. +
    • +
    • +The URI provided SHOULD resolve or link to the full context contents. +
    • +
    • +JSON-LD Contexts MUST be versioned and MUST NOT be date stamped. +
    • +
    • +JSON-LD Contexts SHOULD use scoped terms and MUST use the @protected +feature to eliminate the possibility of term conflicts. +
    • +
    +
  14. +
  15. +Properties in the DID Core Registries MUST NOT be removed, only deprecated. +
  16. +
+ +

+The Editors of the DID Specification Registries MUST consider all of the +policies above when reviewing additions to the registry and MUST reject registry +entries if they violate any of the policies in this section. Entities +registering additions can challenge rejections first with the W3C DID Working +Group and then, if they are not satisfied with the outcome, with the W3C Staff. +W3C Staff need not be consulted on changes to the DID Specification Registries, +but do have the final authority on registry contents. This is to ensure that W3C +can adequately respond to time sensitive legal, privacy, security, moral, or +other pressing concerns without putting an undue operational burden on W3C +Staff. +

+ +

+Entries that are identified to cause interoperability problems MAY be marked as +such at the discretion of the maintainers of this registry, and if possible, +after consultation with the entry maintainer. +

+ +

+Any submission to the registries that meet all the criteria listed above will be +accepted for inclusion. These registries enumerate all known mechanisms that +meet a minimum bar, without choosing between them. +

+
+ +
+

The Labeling Process

+

+ This section describes labels that are used to categorize registry entries. +

+ +
+
+Deprecated +
+
+This label is applied to registry entries that should not be relied on. +
+
+No Contact Info +
+
+This label is applied to registry entries for which no point of contact has been provided. +
+
+ + +
+ + +
+

Property Names

+ +

+The following section defines the properties available for use in a DID +document. Note that some of these properties are defined in the +DID Core Specification, and +others are defined elsewhere and may be method- or domain-specific. Please read +the associated specifications to ensure that the properties you use are +appropriate for your implementation. The properties are arranged here according +to the purpose they serve. +

+ +

+This registry is a work in progress and some properties are missing normative +definitions. We are working on this! This does NOT mean that in future it will +be possible to submit items to the registry without normative definitions (see ). +

+ +
+

DID document properties

+

+These properties are foundational to DID documents, and are expected to be +useful to all DID methods. + +

+

id

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "id": "did:example:123",
+  ...
+}
+        
+
+ +
+

alsoKnownAs

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "alsoKnownAs": "https://example.com/",
+  ...
+}
+        
+
+ +
+

controller

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "controller": "did:example:123",
+  ...
+}
+        
+
+ + +
+

verificationMethod

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core Terminology + + DID Core +
+
+{
+  "id": "did:example:123",
+  "verificationMethod": [
+    {
+      "id": "did:example:123#key-1",
+      "type": "Ed25519VerificationKey2018",
+      "controller": "did:example:123",
+      "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+    },
+    {
+      "id": "did:example:123#key-2",
+      "type": "JsonWebKey2020",
+      "controller": "did:example:123",
+      "publicKeyJwk": {
+        "kty": "OKP",
+        "crv": "Ed25519",
+        "x": "r7V8qmdFbwqSlj26eupPew1Lb22vVG5vnjhn3vwEA1Y"
+      },
+    }
+  ]
+}
+
+
+ +
+

publicKey

+ +Deprecated + +

+This property has been deprecated, use verificationMethod instead. +

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + security-vocab context +
+ +
+{
+  "id": "did:example:123",
+  "publicKey": [
+    {
+      "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+      "type": "Ed25519VerificationKey2018",
+      "controller": "did:example:123",
+      "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+    },
+    {
+      "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+      "type": "EcdsaSecp256k1VerificationKey2019",
+      "controller": "did:example:123",
+      "publicKeyJwk": {
+        "crv": "secp256k1",
+        "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+        "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+        "kty": "EC",
+        "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+      }
+    }
+  ]
+}
+        
+
+ +
+

service

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "service": [{
+    "id": "did:example:123#edv",
+    "type": "EncryptedDataVault",
+    "serviceEndpoint": "https://edv.example.com/"
+  }]
+}
+        
+ +
+
+

linkedResource

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID + Cosmos Linked Resources + + Cosmos JSON-LD + Context +
+ +
+    {  
+        ...
+        "linkedResource" : [{
+          "id": "did:cosmos:1:impacthub:nft:abc123#resourceHashgraph",
+          "path": "did:cosmos:1:impacthub:nft:abc123/resourceHashgraph",
+          "type": "hashgraph",
+          "proof": "afybeiemxf5abjwjbikoz4mcb3a3dla6ual3jsgpdr4cjr3oz",
+          "endpoint" : "did:cosmos:1:impacthub:nft:abc123?service=mediator"
+      }]
+    }
+ +
+
+
+

Verification relationships

+

+These are properties that express the relationship between the DID subject and a +verification method using a + +verification relationship. +

+
+

assertionMethod

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "verificationMethod": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "assertionMethod": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+        
+
+ +
+

authentication

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "verificationMethod": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "authentication": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+        
+
+ +
+

capabilityDelegation

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+
+{
+  ...
+  "verificationMethod": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "capabilityDelegation": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2020",
+    "controller": "did:example:123",
+    "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+        
+
+ +
+

capabilityInvocation

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "verificationMethod": [{
+    "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+    "type": "EcdsaSecp256k1VerificationKey2019",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "secp256k1",
+      "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+      "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+      "kty": "EC",
+      "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+    }
+  }],
+  "capabilityInvocation": [{
+    "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+    "type": "Ed25519VerificationKey2020",
+    "controller": "did:example:123",
+    "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4"
+  },
+  "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  ]
+}
+        
+
+ +
+

keyAgreement

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "keyAgreement": [
+    {
+      "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+      "type": "X25519KeyAgreementKey2019",
+      "controller": "did:example:123",
+      "publicKeyMultibase": "zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS"
+    }
+  ]
+}
+        
+
+
+ +
+

Verification method properties

+

+These properties are for use on a verification method object, in the value of +verificationMethod. An +implementer is expected to not be relying directly on the linked contexts +registered below in nearly every case and instead should be including the +context definitions registered by the +verificationMethod. +

+ +
+

publicKeyJwk

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/suites/jws-2020/v1 +
+ +
+{
+  "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
+  "type": "JsonWebKey2020",
+  "controller": "did:example:123",
+  "publicKeyJwk": {
+    "crv": "Ed25519",
+    "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
+    "kty": "OKP",
+    "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
+  }
+},
+        
+
+ +
+

publicKeyBase58

+ Deprecated + +

+This property is deprecated in favor of publicKeyMultibase or +publicKeyJwk. It's generally expected that this term will still be +used in older suites and therefore needs be supported for legacy compatibility, +but is expected to not be used for newly defined suites. +

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/v2 +
+
+ +
+

publicKeyHex

+ Deprecated + +

+This property is deprecated in favor of publicKeyMultibase or +publicKeyJwk. It's generally expected that this term will still be +used in older suites and therefore needs be supported for legacy compatibility, +but is expected to not be used for newly defined suites. +

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/v3-unstable + +
+
+  {
+    "@context":[
+      "https://www.w3.org/ns/did/v1",
+      "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+    ],
+    "id":"did:example:123",
+    "verificationMethod":[{
+      "id": "did:example:123#vm-2",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+    }]
+  }
+        
+
+ +
+

publicKeyMultibase

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/v3-unstable +
+
+ +
+

blockchainAccountId

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/v3-unstable +
+
+  {
+    "@context":[
+      "https://www.w3.org/ns/did/v1",
+      "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+    ],
+    "id":"did:example:123",
+    "verificationMethod":[{
+      "id": "did:example:123#vm-3",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "blockchainAccountId":"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
+    }]
+  }
+        
+
+ +
+

ethereumAddress

+ Deprecated +

+This property is deprecated in favor of blockchainAccountId. It's +generally expected that this term will still be used in older suites and +therefore needs be supported for legacy compatibility, but is expected to not be +used for newly defined suites. +

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ security-vocab + + https://w3id.org/security/v3-unstable +
+
+  {
+    "@context":[
+      "https://www.w3.org/ns/did/v1",
+      "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+    ],
+    "id":"did:example:123",
+    "verificationMethod":[{
+      "id": "did:example:123#vm-3",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+    }]
+  }
+        
+
+
+ +
+

Service properties

+

+These properties are for use on a service object, in the value of +service. +

+
+

serviceEndpoint

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  ...
+  "service": [{
+    "id": "did:example:123#edv",
+    "type": "EncryptedDataVault",
+    "serviceEndpoint": "https://edv.example.com/"
+  }]
+}
+        
+ +
+ +
+ +
+ +
+

Property Values

+ +
+

Verification method types

+

+These are values to be used for the type in a verification method object. +

+ +
+

JsonWebKey2020

+ +

+Do not include private or extraneous information in verification methods. The +class of private information related to JWKs is defined here. Please review +the DID Core +specification for additional details on this topic. +

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ JSON Web Signature 2020 + + https://w3id.org/security/suite/jws-2020/v1 +
+ +
+  {
+    "id": "did:example:123#_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw",
+    "type": "JsonWebKey2020",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "crv": "P-256",
+      "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8",
+      "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4",
+      "kty": "EC",
+      "kid": "_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw"
+    }
+  }
+        
+
+
+

EcdsaSecp256k1VerificationKey2019

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Ecdsa Secp256k1 Signature 2019 + + https://w3id.org/security/suites/secp256k1-2019/v1 +
+ +
+{
+  "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+  "type": "EcdsaSecp256k1VerificationKey2019",
+  "controller": "did:example:123",
+  "publicKeyJwk": {
+    "crv": "secp256k1",
+    "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+    "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+    "kty": "EC",
+    "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+  }
+}
+        
+
+ +
+

Ed25519VerificationKey2018

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Ed25519 Signature 2018 + + https://w3id.org/security/suites/ed25519-2018/v1 +
+ +
+          {
+            "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+            "type": "Ed25519VerificationKey2018",
+            "controller": "did:example:123",
+            "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+          }
+        
+
+ +
+

Bls12381G1Key2020

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ BBS+ Signatures 2020 + + https://w3id.org/security/suites/bls12381-2020/v1 +
+ +
+          {
+            "id": "did:example:123#z3tEGVtEKzdhJB2rT5hLVjwQPis8k7bTM16t7vDZrQaoddk6wZ7or6xPPs1P8H9U16Xe75",
+            "type": "Bls12381G1Key2020",
+            "controller": "did:example:123",
+            "publicKeyBase58": "7bXhTVonHPizXP72AE92PPmRiaXipC519yU7F6NxUFExWpyQo57LuKKBoTyuZ3uWm9",
+          }
+        
+
+ +
+

Bls12381G2Key2020

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ BBS+ Signatures 2020 + + https://w3id.org/security/suites/bls12381-2020/v1 +
+ +
+          {
+            "id": "did:example:123#zUC7K51WYEsj8y6KPVa1XfwdW5ZJrW5kSbMV619j128T6atCLLXJjjovMZsJ3Ay4STdngRkvM4ygT4qm1mk6HR8FvipSY435nLgYS1TTcaqJAzDWzM1iB9vh3hTL1DEKitwn56i",
+            "type": "Bls12381G2Key2020",
+            "controller": "did:example:123",
+            "publicKeyBase58": "25ETdUZDVnME6yYuAMjFRCnCPcDmYQcoZDcZuXAfeMhXPvjZg35QmZ7uctBcovA69YDM3Jf7s5BHo4u1y89nY6mHiji8yphZ4AMm4iNCRh35edSg76Dkasu3MY2VS9LnuaVQ",
+
+          }
+        
+
+ +
+

PgpVerificationKey2021

+ + + + + + + + + + + + + + + + +
Normative DefinitionJSON-LDAdditional Details
+ Linked Data Signatures for PGP + + https://w3id.org/security/suites/pgp-2021/v1 + + Use of this verification key should be in line with the OpenPGP Message Format + as defined in RFC 4880 +
+
+{
+  "@context":[
+    "https://www.w3.org/ns/did/v1",
+    "https://gpg.jsld.org/contexts/lds-gpg2020-v0.0.jsonld"
+  ],
+  "id":"did:example:123",
+  "verificationMethod":[{
+    "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2",
+    "type": "PgpVerificationKey2021",
+    "controller": "did:example:123",
+    "publicKeyPgp": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n"
+  }]
+}
+        
+
+ +
+

RsaVerificationKey2018

+

+DID +Specification Registries Issue 370 This property should be moved into a +separate suite and linked to here rather than relying on the Verifiable +Credentials vocabulary. There are known issues with the first version of the +Security vocabulary JSON-LD context and the first version of the Verifiable +Credentials JSON-LD context which will prevent these contexts from being listed +in the same document. For now it's suggested that implementers rely upon the +first version of the Verifiable Credentials JSON-LD context and not rely on +the Security vocabulary JSON-LD context in the same document. +

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ RSA Signature Suite 2018 + + https://www.w3.org/2018/credentials/v1 +
+
+  {
+    "id": "did:example:123#key-0",
+    "type": "RsaVerificationKey2018",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "kty":"RSA",
+      "e":"AQAB",
+      "use":"sig",
+      "kid":"tNksV42EUs3Xct9AkgZyFWglItRGMxVZ1A1XM68SNq0
+      "n":"kO2d_qQTEBjYFGcoY_da7ziFY4L2QX14K7snCee09n-cY2eP-oJXk8T2_lL20YnpYhf4i
+      jhkWHGU8kY8-FWPRrzSeu3JUMVSZoqTgoAiKWdnSLNvPVxvGuD2CiA3T6AkwUC03D2AkOLCcJV
+      8h_hxUEPeDawF7ArpuJW5DXzEJjE7gOjN4r6d7VB6sd5y-3la54H2ADz2amHLdBWs30fL4BRBH
+      lVdx0YmF37V4u5yvnnb5Iyr3kBXJes8t0MUMPkjqEEXRmukpKUzZYNpWDXY0tVcXeK5sRx0DAn
+      lNgNNf14-vsyjGkj2Rz0oGW73jjWa8dw-yVlDEHyIkQU9-UY4dFXbVjdIO8j_5ghh62o1T7Y4w
+      5CWMc-FxPE3LHe-_teW97X__NN-ToYgfi42IvV2mYOdQMCbvnvY2oMdK3b9wmeVi0marToauL5
+      LMg5xHDKopmIR7E3VyRtNYwDFAZ89kadcbSrZ8zTR5APaB7Tmp2L2ZfXKxqKQuxlFTTCcZtg4e
+      5AN8QuYdI18DEDQn2umUU_Twj7k4CXvuIKVL8p4yRHC4CHAGIm9cH_t11dF3wXygaENVOGRXQu
+      0g1iKq0mO2rWpOqkGJ5uXMFb5lx54i8uOjCdZ9y2el28xA55Ve95KCxeTHp997Bn3TIgbeQ-B_
+      -3PBVTuuAAH8y9fFNKtu5E"
+    }
+  }
+        
+
+ +
+

X25519KeyAgreementKey2019

+
+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Normative definition pending + + http://w3id.org/security/suites/x25519-2019/v1 +
+
+  {
+    ...
+    "keyAgreement": [
+      {
+        "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+        "type": "X25519KeyAgreementKey2019",
+        "controller": "did:example:123",
+        "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+      }
+    ]
+  }
+        
+ +
+ +
+

EcdsaSecp256k1RecoveryMethod2020

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ ECDSA Secp256k1 Recovery Signature 2020 + + https://w3id.org/security/suites/secp256k1recovery-2020/v1 +
+
+{
+  "@context": [
+    "https://www.w3.org/ns/did/v1",
+    "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+  ],
+  "id":"did:example:123",
+  "verificationMethod": [
+    {
+      "id": "did:example:123#vm-1",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "publicKeyJwk": {
+        "crv": "secp256k1",
+        "kid": "JUvpllMEYUZ2joO59UNui_XYDqxVqiFLLAJ8klWuPBw",
+        "kty": "EC",
+        "x": "dWCvM4fTdeM0KmloF57zxtBPXTOythHPMm1HCLrdd3A",
+        "y": "36uMVGM7hnw-N6GnjFcihWE3SkrhMLzzLCdPMXPEXlA"
+      }
+    },
+    {
+      "id": "did:example:123#vm-2",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+    },
+    {
+      "id": "did:example:123#vm-3",
+      "controller": "did:example:123",
+      "type": "EcdsaSecp256k1RecoveryMethod2020",
+      "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+    }
+  ]
+}
+        
+
+ +
+

VerifiableCondition2021

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Verifiable + Conditions Verification Method Suite 2021 + + https://w3c-ccg.github.io/verifiable-conditions/contexts/verifiable-conditions-2021-v1.json +
+
+          {
+              "id": "did:example:123#1",
+              "controller": "did:example:123",
+              "type": "VerifiableCondition2021",
+              "conditionAnd": [{
+                  "id": "did:example:123#1-1",
+                  "controller": "did:example:123",
+                  "type": "VerifiableCondition2021",
+                  "conditionOr": [{
+                      "id": "did:example:123#1-1-1",
+                      "controller": "did:example:123",
+                      "type": "EcdsaSecp256k1VerificationKey2019",
+                      "publicKeyBase58": "5JBxKqYKzzoHrzeqwp6zXk8wZU3Ah94ChWAinSj1fYmyJvJS5rT"
+                  }, {
+                      "id": "did:example:123#1-1-2",
+                      "controller": "did:example:123",
+                      "type": "Ed25519VerificationKey2018",
+                      "publicKeyBase58": "PZ8Tyr4Nx8MHsRAGMpZmZ6TWY63dXWSCzamP7YTHkZc78MJgqWsAy"
+                  }]
+              }, {
+                  "id": "did:example:123#1-2",
+                  "controller": "did:example:123",
+                  "type": "Ed25519VerificationKey2018",
+                  "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+              }]
+          }
+        
+
+ +
+ +
+

Service types

+

+These are values to be used for the type property +in a service object. +

+ +
+

LinkedDomains

+
+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Well Known DID Configuration + + Well Known DID Configuration +
+ +
+{
+  "@context": ["https://www.w3.org/ns/did/v1","https://identity.foundation/.well-known/did-configuration/v1"],
+  "id": "did:example:123",
+  "verificationMethod": [{
+    "id": "did:example:123#456",
+    "type": "JsonWebKey2020",
+    "controller": "did:example:123",
+    "publicKeyJwk": {
+      "kty": "OKP",
+      "crv": "Ed25519",
+      "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ"
+    }
+  }],
+  "service": [
+    {
+      "id":"did:example:123#foo",
+      "type": "LinkedDomains",
+      "serviceEndpoint": {
+        "origins": ["https://foo.example.com", "https://identity.foundation"]
+      }
+    },
+    {
+      "id":"did:example:123#bar",
+      "type": "LinkedDomains",
+      "serviceEndpoint": "https://bar.example.com"
+    }
+  ]
+}
+        
+ +
+ +
+

DIDCommMessaging

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DIDComm Messaging + + A valid JSON-LD context needs to be published. + DIDComm Messaging +
+ +
+{
+  "@context":[
+      "https://www.w3.org/ns/did/v1",
+      "https://didcomm.org/messaging/contexts/v2"
+  ],
+  ...
+  "type":"DIDCommMessaging",
+  "serviceEndpoint":"http://example.com/path",
+  "accept":[
+      "didcomm/v2",
+      "didcomm/aip2;env=rfc587"
+  ],
+  "routingKeys":[
+      "did:example:somemediator#somekey"
+  ]
+  ...
+}
+        
+ +
+ +
+

CredentialRegistry

+

The CredentialRegistry endpoint allows publication of a dedicated service endpoint in a DID document, through which verifiable credentials can be queried. Each registry endpoint is a REST endpoint. When a `GET` request is sent to the URI formed by appending the credentialSubject.id as a URL-encoded string to the given endpoint URI, the registry MUST return an array of verifiable credentials associated with the subject ID. A sample registry endpoint can be found here.

+

+ Verifiable credential registries are supposed to hold credentials that are publicly accessible by default, e.g., for product passports on a product type level. An additional authentication for limiting access to certain credentials is currently under development. +

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ Verifiable Credential Registry + + Verifiable Credential Registry +
+ +
+{
+  ...
+  "service": [
+    {
+      "id": "did:example:123#vcregistry-1",
+      "type": "CredentialRegistry",
+      "serviceEndpoint": {
+        "registries": ["https://registry.example.com/{credentialSubject.id}", "https://identity.foundation/vcs/{credentialSubject.id}"]
+      }
+    },
+    {
+      "id": "did:example:123#vcregistry-2",
+      "type": "CredentialRegistry",
+      "serviceEndpoint": "https://ssi.eecc.de/api/registry/vcs/{credentialSubject.id}"
+    }
+  ]
+}
+        
+
+$ curl 'https://ssi.eecc.de/api/registry/vcs/https%3A%2F%2Ftest.de%2Ftest1' -H 'accept: application/ld+json, application/json'
+
+[
+  {
+    "@context": ["https://www.w3.org/2018/credentials/v1",... ],
+    "type": ["VerifiableCredential",...],
+    "credentialSubject": {...},
+    "proof": {...},
+    ...
+  },
+  ...
+]
+        
+
+ +
+

OpenID4 Verifiable Credential Issuance

+

The OID4VCI service allows publication of a credential issuer that conforms to the OpenID for Verifiable Credential Issuance (OID4VCI) specification. +

The service endpoint `id` MUST be the Credential Issuer Identifier to get the Credential Issuer Metadata as described in Section Credential Issuer Metadata of OpenIDVCI.

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ OpenID4VCI + + OpenID4VCI +
+ +
+{
+  ...
+  "service": [
+    {
+      "id": "did:example:123#oid4vci",
+      "type": "OID4VCI",
+      "serviceEndpoint": "https://issuer.example.com/"
+    }
+  ]
+}
+        
+
+ +
+

OpenID4 Verifiable Presentation

+

The OID4VP service allows publication of how to interact with a credential wallet that conforms with the OpenID for Verifiable Presentation (OID4VP) specification.

+

The service endpoint `id` MUST be the Wallet (OAuth2) Issuer Identifier to obtain Wallet Metadata to invoke the wallet as described in section Wallet Invocation.

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ OpenID4VP + + OpenID4VP +
+ +
+{
+  ...
+  "service": [
+    {
+      "id": "did:example:123#oid4vp",
+      "type": "OID4VP",
+      "serviceEndpoint": "https://wallet.example.com"
+    }
+  ]
+}
+        
+
+ +
+ +
+ +
+

Representations

+

This table provides a reference for media types and the associated specifications for producing and consuming those representations.

+ + + + + + + + + + + + + + + + + + + + + +
Media TypeSpecification
application/did+json + DID Core +
application/did+ld+json + DID Core +
application/did+cbor + The Plain CBOR Representation +
+ +
+ +
+

Representation-Specific Entries

+ +
+

JSON

+ +

+These are entries in DID documents that are specific to the +JSON representation. +

+

+(No entries yet) +

+
+ +
+

JSON-LD

+ +

+These are entries in DID documents that are specific to the +JSON-LD representation. +

+ +
+

@context

+ + + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +

+The following values are acceptable values for the @context entry as +a JSON + String or first item of a JSON Array, +represented as a JSON + String. +

+ + + + + + + + + + + + +
`@context` ValuesSpecification Version
+ https://www.w3.org/ns/did/v1 + + DID Core 1.0 Working draft +
+ +
+{
+  "@context": [
+    "https://www.w3.org/ns/did/v1",
+    "https://example.com/blockchain-identity/v1"
+  ],
+  ...
+}
+        
+ +
+
+ +
+

CBOR

+ +

+These are entries in DID documents that are specific to the +CBOR representation. +

+

+(No entries yet) +

+
+
+ +
+

DID Resolution Options

+

+These properties contain information pertaining to the DID resolution request. +

+ +
+

accept

+ + + + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "accept": "application/did+ld+json"
+}
+      
+
+
+ +
+

DID Resolution Metadata

+

+These properties contain information pertaining to the DID resolution response. +

+
+

contentType

+ + + + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "contentType": "application/did+ld+json"
+}
+      
+
+ +
+

error

+ + + + + + + + + + + + + +
Normative Definition
+ DID Core + +
+ +
+{
+  "error": "notFound"
+}
+      
+ +
+

invalidDid

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "error": "invalidDid"
+}
+        
+
+ +
+

notFound

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "error": "notFound"
+}
+        
+
+ +
+

representationNotSupported

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "error": "representationNotSupported"
+}
+        
+
+ +
+

methodNotSupported

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "methodNotSupported"
+}
+        
+
+ +
+

internalError

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "internalError"
+}
+        
+
+
+

invalidPublicKey

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "invalidPublicKey"
+}
+        
+
+
+

invalidPublicKeyLength

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "invalidPublicKeyLength"
+}
+        
+
+
+

invalidPublicKeyType

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "invalidPublicKeyType"
+}
+        
+
+ +
+

unsupportedPublicKeyType

+ + + + + + + + + + + +
Normative Definition
+ DID Resolution +
+ +
+{
+  "error": "unsupportedPublicKeyType"
+}
+        
+
+ +
+

notAllowedVerificationMethodType

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedVerificationMethodType +
+ +
+{
+  "error": "notAllowedVerificationMethodType"
+}
+        
+
+ +
+

notAllowedKeyType

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedKeyType +
+ +
+{
+  "error": "notAllowedKeyType"
+}
+        
+
+ +
+

notAllowedMethod

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedMethod +
+ +
+{
+  "error": "notAllowedMethod"
+}
+        
+
+ +
+

notAllowedCertificate

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedCertificate +
+ +
+{
+  "error": "notAllowedCertificate"
+}
+        
+
+ +
+

notAllowedLocalDuplicateKey

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedLocalDuplicateKey +
+ +
+{
+  "error": "notAllowedLocalDuplicateKey"
+}
+        
+
+ +
+

notAllowedLocalDerivedKey

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedLocalDerivedKey +
+ +
+{
+  "error": "notAllowedLocalDerivedKey"
+}
+        
+
+ +
+

notAllowedGlobalDuplicateKey

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extension: notAllowedGlobalDuplicateKey +
+ +
+{
+  "error": "notAllowedGlobalDuplicateKey"
+}
+        
+
+
+
+
+

DID Dereferencing Metadata

+

+These properties contain information pertaining to the DID dereferencing response. +

+
+

error

+ + + + + + + + + + + + + +
Normative Definition
+ DID Core + +
+ +
+{
+  "error": "notFound"
+}
+      
+
+

invalidDidUrl

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "error": "invalidDidUrl"
+}
+        
+
+
+

notFound

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+{
+  "error": "notFound"
+}
+        
+
+
+
+
+

DID Document Metadata

+

+These properties contain information pertaining to the DID document itself, +rather than the DID subject. +

+
+

created

+

+ See DID Core #203. +

+ + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "created": "2019-03-23T06:35:22Z"
+}
+      
+
+ +
+

updated

+

+ See DID Core #203. +

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "updated": "2023-08-10T13:40:06Z"
+}
+      
+ +
+ +
+

deactivated

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "deactivated": true
+}
+      
+ +
+ +
+

nextUpdate

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "nextUpdate": "2023-08-10T13:40:06Z"
+}
+      
+ +
+ +
+

versionId

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "versionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i"
+}
+      
+ +
+ +
+

nextVersionId

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "nextVersionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i"
+}
+      
+ +
+ +
+

equivalentId

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "equivalentId": ["did:example:ABC", "did:example:Abc"]
+}
+      
+ +
+ +
+

canonicalId

+ + + + + + + + + + + + + + +
Normative DefinitionJSON-LD
+ DID Core + + DID Core +
+ +
+{
+  "canonicalId": "did:example:ABC"
+}
+      
+ +
+
+ +
+ +

Parameters

+ +
+

hl

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+did:example:123?hl=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e
+      
+
+ +
+

service

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+did:example:123?service=agent
+      
+
+ +
+

versionId

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+did:example:123?versionId=4
+      
+
+ +
+

versionTime

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+did:example:123?versionTime=2016-10-17T02:41:00Z
+      
+
+ +
+

relativeRef

+ + + + + + + + + + + +
Normative Definition
+ DID Core +
+ +
+did:example:123?service=files&relativeRef=%2Fmyresume%2Fdoc%3Fversion%3Dlatest%23intro
+      
+
+ +
+

initialState

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extensions by DIF +
+ +
+did:example:123?initialState=eyJkZWx0YV9oYXNoIjoiRWlDUlRKZ2Q0U0V2YUZDLW9fNUZjQnZJUkRtWF94Z3RLX3g...
+      
+
+ +
+

transformKeys

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extensions by DIF +
+ +
+did:example:123?transformKeys=jwk
+      
+
+ +
+

signedIetfJsonPatch

+ + + + + + + + + + + +
Normative Definition
+ DID Spec Extensions by DIF +
+ +
+did:example:123?signedIetfJsonPatch=eyJraWQiOiJkaWQ6ZXhhbXBsZTo0NTYjX1FxMFVMMkZxNjUxUTBGamQ2VH...
+      
+
+ +
+

resource

+ + + + + + + + + + + +
Normative Definition
+ DID URL Resource Parameter Specification +
+ +
+did:foo:21tDAKCERh95uGgKbJNHYp?resource=true
+      
+
+ +
+ +
+

DID Methods

+ +

+This table summarizes the DID method specifications currently in development. +The links will be updated as subsequent Implementer’s Drafts are produced. +This registry does not act as an endorsement of any particular DID method or its +underlying technologies by the W3C, the W3C Decentralized Identifier Working Group, +or any affiliated members of the W3C. It exists as a mechanism for developers to +discover various DID methods that they might wish to implement. +

+

+The normative requirements for DID method specifications can be found in +Decentralized Identifiers +v1.0: Methods [[DID-CORE]]. DID methods that do not meet these requirements +will not be accepted. We encourage DID method authors to provide an email +address in the Author Links column, as this helps with maintenance. +If an email address is omitted, a label noting that there is no +contact information for the author will be applied to the registry entry. +

+ +
+ +
+ + + diff --git a/json_schemas/core.schema.json b/json_schemas/core.schema.json new file mode 100644 index 00000000..40ce78ec --- /dev/null +++ b/json_schemas/core.schema.json @@ -0,0 +1,201 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3c.github.io/did-spec-registries/schemas/core.schema.json", + "title": "DID Core Vocabulary schema", + "$comment": "The JWK.schema part is a copy of the JWK schema (https://preview.npmjs.com/package/jwk-schema), published by Jonathan Wilbur (https://github.com/JonathanWilbur)", + "definitions": { + "did.schema" : { + "type" : "string", + "pattern" : "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" + }, + + "type.schema" : { + "type" : [ + "string", + "array" + ], + "uniqueItems": true, + "items" : { + "type" : "string" + } + }, + + "JWK.schema" : { + "type" : "object", + "properties": { + "kty": { + "type": "string" + }, + "use": { + "type": "string" + }, + "key_ops": { + "type": "array", + "items": { + "type": "string" + } + }, + "alg": { + "type": "string" + }, + "kid": { + "type": "string" + }, + "x5u": { + "type": "string" + }, + "x5c": { + "type": "array", + "items": { + "type": "string" + } + }, + "x5t": { + "type": "string" + }, + "x5t#S256": { + "type": "string" + } + }, + "required": ["kty"], + "additionalProperties": true + }, + + "one_verification_method.schema" : { + "type" : "object", + "properties": { + "publicKeyJwk" : { + "$ref" : "#/definitions/JWK.schema" + }, + "publicKeyMultibase" : { + "type" : "string" + }, + "controller" : { + "$ref" : "#/definitions/did.schema" + }, + "id" : { + "type": "string", + "format" : "uri-reference" + }, + "type" : { + "$ref" : "#/definitions/type.schema" + } + }, + "required" : ["id", "type", "controller"], + "not": { + "required" : ["publicKeyJwk","publicKeyMultibase"] + }, + "additionalProperties" : true + }, + + "verification_method_strict.schema" : { + "type" : "array", + "uniqueItems": true, + "items" : { + "$ref" : "#/definitions/one_verification_method.schema" + } + }, + + "verification_method_with_urls.schema" : { + "type" : "array", + "uniqueItems": true, + "items" : { + "oneOf" : [ + { + "type": "string", + "format" : "uri-reference" + }, + { + "$ref" : "#/definitions/one_verification_method.schema" + } + ] + } + }, + + "service.schema" : { + "type" : "array", + "uniqueItems": true, + "items" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string", + "format" : "uri-reference" + }, + "type" : { + "$ref" : "#/definitions/type.schema" + }, + "serviceEndpoint" : { + "oneOf" : [ + { + "type": "string", + "format" : "uri-reference" + }, + { + "type" : "object" + }, + { + "type" : "array", + "uniqueItems": true, + "items": { + "oneOf" : [ + { + "type": "string", + "format" : "uri-reference" + }, + { + "type" : "object" + } + ] + } + } + ] + } + }, + "required": ["id", "type", "serviceEndpoint"], + "additionalProperties" : true + } + } + }, + + "type": "object", + "properties": { + "id" : { + "$ref" : "#/definitions/did.schema" + }, + "alsoKnownAs" : { + "type" : "array", + "uniqueItems": true, + "items": { + "type" : "string", + "format" : "uri-reference" + } + }, + "controller" : { + "$ref" : "#/definitions/did.schema" + }, + "verificationMethod" : { + "$ref" : "#/definitions/verification_method_strict.schema" + }, + "authentication" : { + "$ref" : "#/definitions/verification_method_with_urls.schema" + }, + "assertionMethod" : { + "$ref" : "#/definitions/verification_method_with_urls.schema" + }, + "keyAgreement" : { + "$ref" : "#/definitions/verification_method_with_urls.schema" + }, + "capabilityDelegation" : { + "$ref" : "#/definitions/verification_method_with_urls.schema" + }, + "capabilityInvocation" : { + "$ref" : "#/definitions/verification_method_with_urls.schema" + }, + "service" : { + "$ref" : "#/definitions/service.schema" + } + }, + "required" : ["id"], + "additionalProperties" : true +} diff --git a/methods/3.json b/methods/3.json new file mode 100644 index 00000000..c3cfff38 --- /dev/null +++ b/methods/3.json @@ -0,0 +1,9 @@ +{ + "name": "3", + "status": "registered", + "verifiableDataRegistry": "Ceramic Network", + "contactName": "3Box Labs", + "contactEmail": "devs@3box.io", + "contactWebsite": "https://3boxlabs.com/", + "specification": "https://cips.ceramic.network/CIPs/cip-79" +} diff --git a/methods/abt.json b/methods/abt.json new file mode 100644 index 00000000..6894188a --- /dev/null +++ b/methods/abt.json @@ -0,0 +1,9 @@ +{ + "name": "abt", + "status": "registered", + "verifiableDataRegistry": "ABT Network", + "contactName": "ArcBlock", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://arcblock.github.io/abt-did-spec/" +} \ No newline at end of file diff --git a/methods/aergo.json b/methods/aergo.json new file mode 100644 index 00000000..2ef8fbc1 --- /dev/null +++ b/methods/aergo.json @@ -0,0 +1,9 @@ +{ + "name": "aergo", + "status": "registered", + "verifiableDataRegistry": "Aergo", + "contactName": "Blocko", + "contactEmail": "", + "contactWebsite": "https://www.blocko.io/", + "specification": "https://github.com/aergoio/aergo-identity/blob/master/doc/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/ala.json b/methods/ala.json new file mode 100644 index 00000000..7d6cd3e1 --- /dev/null +++ b/methods/ala.json @@ -0,0 +1,9 @@ +{ + "name": "ala", + "status": "registered", + "verifiableDataRegistry": "Alastria", + "contactName": "Alastria National Blockchain Ecosystem", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/alastria/alastria-identity/wiki/Alastria-DID-Method-Specification-(Quorum-version)" +} \ No newline at end of file diff --git a/methods/amo.json b/methods/amo.json new file mode 100644 index 00000000..9629d17d --- /dev/null +++ b/methods/amo.json @@ -0,0 +1,9 @@ +{ + "name": "amo", + "status": "registered", + "verifiableDataRegistry": "AMO blockchain mainnet", + "contactName": "AMO Labs", + "contactEmail": "", + "contactWebsite": "https://amo.foundation", + "specification": "https://github.com/amolabs/docs/blob/master/amo-did.md" +} \ No newline at end of file diff --git a/methods/antelope.json b/methods/antelope.json new file mode 100644 index 00000000..6f2ff288 --- /dev/null +++ b/methods/antelope.json @@ -0,0 +1,9 @@ +{ + "name": "antelope", + "status": "registered", + "verifiableDataRegistry": "Antelope", + "contactName": "Tonomy Foundation", + "contactEmail": "", + "contactWebsite": "https://tonomy.foundation", + "specification": "https://github.com/Tonomy-Foundation/antelope-did-spec" +} \ No newline at end of file diff --git a/methods/art.json b/methods/art.json new file mode 100644 index 00000000..39063977 --- /dev/null +++ b/methods/art.json @@ -0,0 +1,9 @@ +{ + "name": "art", + "status": "registered", + "specification": "https://github.com/ArtracID/ArtracID-DID-ART-Method", + "contactName": "Ming-lam Ng (RealMatter)", + "contactEmail": "did_inquiry@artrac.id", + "contactWebsite": "www.artracx.com", + "verifiableDataRegistry": "Artwork ID Method" +} diff --git a/methods/asset.json b/methods/asset.json new file mode 100644 index 00000000..d69f4139 --- /dev/null +++ b/methods/asset.json @@ -0,0 +1,9 @@ +{ + "name": "asset", + "status": "registered", + "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/asset-did-spec.md", + "contactEmail": "devs@kilt.io", + "contactName": "BOTLabs GmbH", + "contactWebsite": "https://www.kilt.io/", + "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-19 identifiers" +} \ No newline at end of file diff --git a/methods/bba.json b/methods/bba.json new file mode 100644 index 00000000..d0f0f4f3 --- /dev/null +++ b/methods/bba.json @@ -0,0 +1,9 @@ +{ + "name": "bba", + "status": "registered", + "verifiableDataRegistry": "Ardor", + "contactName": "Attila Aldemir", + "contactEmail": "attila.aldemir@atz3n.dev", + "contactWebsite": "", + "specification": "https://github.com/blobaa/bba-did-method-specification/blob/master/docs/markdown/spec.md" +} \ No newline at end of file diff --git a/methods/bee.json b/methods/bee.json new file mode 100644 index 00000000..af9b0fb7 --- /dev/null +++ b/methods/bee.json @@ -0,0 +1,9 @@ +{ + "name": "bee", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "mesur.io", + "contactEmail": "mprorock@mesur.io", + "contactWebsite": "https://mesur.io.io/", + "specification": "https://github.com/mesur-io/did-method-bee" +} diff --git a/methods/bid.json b/methods/bid.json new file mode 100644 index 00000000..7de05cd1 --- /dev/null +++ b/methods/bid.json @@ -0,0 +1,9 @@ +{ + "name": "bid", + "status": "registered", + "verifiableDataRegistry": "bif", + "contactName": "teleinfo caict", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/teleinfo-bif/bid/tree/master/doc/en" +} \ No newline at end of file diff --git a/methods/bit.json b/methods/bit.json new file mode 100644 index 00000000..50f89dcf --- /dev/null +++ b/methods/bit.json @@ -0,0 +1,9 @@ +{ + "name": "bit", + "status": "registered", + "verifiableDataRegistry": "d.id", + "contactName": "d.id", + "contactEmail": "support@d.id", + "contactWebsite": "https://d.id", + "specification": "https://github.com/dotbitHQ/did-bit-spec" +} diff --git a/methods/bluetoqueagent.json b/methods/bluetoqueagent.json new file mode 100644 index 00000000..7ccc5c9d --- /dev/null +++ b/methods/bluetoqueagent.json @@ -0,0 +1,9 @@ +{ + "name": "bluetoqueagent", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueagent-1-0-0.md" +} diff --git a/methods/bluetoquedeed.json b/methods/bluetoquedeed.json new file mode 100644 index 00000000..25c54d1c --- /dev/null +++ b/methods/bluetoquedeed.json @@ -0,0 +1,9 @@ +{ + "name": "bluetoquedeed", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquedeed-1-0-0.md" +} diff --git a/methods/bluetoquenfe.json b/methods/bluetoquenfe.json new file mode 100644 index 00000000..5eefa7ff --- /dev/null +++ b/methods/bluetoquenfe.json @@ -0,0 +1,9 @@ +{ + "name": "bluetoquenfe", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquenfe-1-0-0.md" +} diff --git a/methods/bluetoqueprocess.json b/methods/bluetoqueprocess.json new file mode 100644 index 00000000..3cbbdb5d --- /dev/null +++ b/methods/bluetoqueprocess.json @@ -0,0 +1,9 @@ +{ + "name": "bluetoqueproc", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueprocess-1-0-0.md" +} diff --git a/methods/bnb.json b/methods/bnb.json new file mode 100644 index 00000000..93449283 --- /dev/null +++ b/methods/bnb.json @@ -0,0 +1,9 @@ +{ + "name": "bnb", + "status": "registered", + "verifiableDataRegistry": "Binance Smart Chain", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-bnb/DID-Method-bnb.md" +} \ No newline at end of file diff --git a/methods/bryk.json b/methods/bryk.json new file mode 100644 index 00000000..f692f5d5 --- /dev/null +++ b/methods/bryk.json @@ -0,0 +1,9 @@ +{ + "name": "bryk", + "status": "registered", + "verifiableDataRegistry": "bryk", + "contactName": "Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/bryk-io/did-method/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/btcr.json b/methods/btcr.json new file mode 100644 index 00000000..4282cdac --- /dev/null +++ b/methods/btcr.json @@ -0,0 +1,9 @@ +{ + "name": "btcr", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Christopher Allen, Ryan Grant, Kim Hamilton Duffy", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://w3c-ccg.github.io/didm-btcr" +} \ No newline at end of file diff --git a/methods/candid.json b/methods/candid.json new file mode 100644 index 00000000..e4a06acb --- /dev/null +++ b/methods/candid.json @@ -0,0 +1,9 @@ +{ + "name": "candid", + "status": "registered", + "verifiableDataRegistry": "Quorum", + "contactName": "Eric Lin", + "contactEmail": "ericlin@cathayholdings.com.tw", + "contactWebsite": "https://www.linkedin.com/in/eric-lin-875b42b0/", + "specification": "https://github.com/ericlin716/did-spec/blob/main/candid-did-method-spec.md" +} diff --git a/methods/ccd.json b/methods/ccd.json new file mode 100644 index 00000000..3e56b684 --- /dev/null +++ b/methods/ccd.json @@ -0,0 +1,9 @@ +{ + "name": "ccd", + "status": "registered", + "specification": "https://proposals.concordium.software/ID/concordium-did.html", + "contactName": "Concordium development team", + "contactEmail": "developers@concordium.com", + "contactWebsite": "https://concordium.com", + "verifiableDataRegistry": "Concordium" +} diff --git a/methods/ccf.json b/methods/ccf.json new file mode 100644 index 00000000..d6fca32d --- /dev/null +++ b/methods/ccf.json @@ -0,0 +1,10 @@ +{ + "name": "ccf", + "status": "registered", + "verifiableDataRegistry": "Confidential Consortium Framework (CCF)", + "contactName": "Microsoft", + "contactEmail": "ccf-did@microsoft.com", + "contactWebsite": "https://ccf.dev", + "specification": "https://github.com/microsoft/did-ccf/blob/main/DID_CCF.md" + } + \ No newline at end of file diff --git a/methods/ccp.json b/methods/ccp.json new file mode 100644 index 00000000..bb20b513 --- /dev/null +++ b/methods/ccp.json @@ -0,0 +1,9 @@ +{ + "name": "ccp", + "status": "registered", + "verifiableDataRegistry": "Quorum", + "contactName": "Baidu, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did.baidu.com/did-spec/" +} \ No newline at end of file diff --git a/methods/celo.json b/methods/celo.json new file mode 100644 index 00000000..4e7038c6 --- /dev/null +++ b/methods/celo.json @@ -0,0 +1,9 @@ +{ + "name": "celo", + "status": "registered", + "verifiableDataRegistry": "Celo", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-celo/DID-Method-celo.md" +} \ No newline at end of file diff --git a/methods/cheqd.json b/methods/cheqd.json new file mode 100644 index 00000000..c6e87554 --- /dev/null +++ b/methods/cheqd.json @@ -0,0 +1,9 @@ +{ + "name": "cheqd", + "status": "registered", + "verifiableDataRegistry": "cheqd", + "contactName": "CHEQD FOUNDATION LIMITED", + "contactEmail": "contact@cheqd.io", + "contactWebsite": "https://cheqd.io", + "specification": "https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method" +} \ No newline at end of file diff --git a/methods/com.json b/methods/com.json new file mode 100644 index 00000000..71d35cf9 --- /dev/null +++ b/methods/com.json @@ -0,0 +1,9 @@ +{ + "name": "com", + "status": "registered", + "verifiableDataRegistry": "commercio.network", + "contactName": "Commercio Consortium", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/commercionetwork/Commercio.network-DID-Method-Specification/" +} \ No newline at end of file diff --git a/methods/content.json b/methods/content.json new file mode 100644 index 00000000..5b9d2cd5 --- /dev/null +++ b/methods/content.json @@ -0,0 +1,9 @@ +{ + "name": "content", + "status": "registered", + "specification": "https://github.com/KataruInc/did-content-spec", + "contactName": "Mizuki Sonoko", + "contactEmail": "sonoko@mizuki.io", + "contactWebsite": "https://mizuki.io", + "verifiableDataRegistry": "" +} diff --git a/methods/corda.json b/methods/corda.json new file mode 100644 index 00000000..64c34abf --- /dev/null +++ b/methods/corda.json @@ -0,0 +1,9 @@ +{ + "name": "corda", + "status": "registered", + "verifiableDataRegistry": "Corda", + "contactName": "Nitesh Solanki,Moritz Platt,Pranav Kirtani", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://htmlpreview.github.io/?https://github.com/persistentsystems/corda-did-method/blob/master/corda_did_method.html" +} \ No newline at end of file diff --git a/methods/cosmos.json b/methods/cosmos.json new file mode 100644 index 00000000..c281eb7e --- /dev/null +++ b/methods/cosmos.json @@ -0,0 +1,9 @@ +{ + "name": "cosmos", + "status": "registered", + "verifiableDataRegistry": "Cosmos application chains", + "contactName": "Shaun Conway", + "contactEmail": "earthprogram@ixo.world", + "contactWebsite": "https://www.ixo.world/", + "specification": "https://github.com/EarthProgram/did-cosmos" +} \ No newline at end of file diff --git a/methods/cot.json b/methods/cot.json new file mode 100644 index 00000000..c32d6a55 --- /dev/null +++ b/methods/cot.json @@ -0,0 +1,9 @@ +{ + "name": "cot", + "status": "registered", + "verifiableDataRegistry": "CoTChain", + "contactName": "CoTNetwork, Inc.", + "contactEmail": "", + "contactWebsite": "https://www.cotnetwork.com", + "specification": "https://github.com/ComputingOfThings/dids#readme" +} \ No newline at end of file diff --git a/methods/cr.json b/methods/cr.json new file mode 100644 index 00000000..f7fed514 --- /dev/null +++ b/methods/cr.json @@ -0,0 +1,9 @@ +{ + "name": "cr", + "status": "registered", + "specification": "https://github.com/SelfSovereignDrm/core/blob/main/README.md", + "contactName": "", + "contactEmail": "ssdrm@digicaps.com", + "contactWebsite": "", + "verifiableDataRegistry": "Hyperledger Fabric" +} diff --git a/methods/did.json b/methods/did.json new file mode 100644 index 00000000..57157094 --- /dev/null +++ b/methods/did.json @@ -0,0 +1,9 @@ +{ + "name": "did", + "status": "registered", + "verifiableDataRegistry": "Decentralized Identifiers", + "contactName": "Spruce Systems, Inc.", + "contactEmail": "", + "contactWebsite": "https://spruceid.com", + "specification": "https://did-did.spruceid.com" +} \ No newline at end of file diff --git a/methods/dns.json b/methods/dns.json new file mode 100644 index 00000000..871442e9 --- /dev/null +++ b/methods/dns.json @@ -0,0 +1,9 @@ +{ + "name": "dns", + "status": "registered", + "verifiableDataRegistry": "Domain Name System (DNS)", + "contactName": "Danube Tech", + "contactEmail": "markus@danubetech.com", + "contactWebsite": "https://danubetech.com", + "specification": "https://danubetech.github.io/did-method-dns/" +} \ No newline at end of file diff --git a/methods/dock.json b/methods/dock.json new file mode 100644 index 00000000..f1aed16a --- /dev/null +++ b/methods/dock.json @@ -0,0 +1,9 @@ +{ + "name": "dock", + "status": "registered", + "verifiableDataRegistry": "Dock", + "contactName": "Dock.io", + "contactEmail": "", + "contactWebsite": "https://www.dock.io", + "specification": "https://github.com/docknetwork/dock-did-driver/blob/master/Dock%20DID%20method%20specification.md" +} \ No newline at end of file diff --git a/methods/dom.json b/methods/dom.json new file mode 100644 index 00000000..4a6c39cb --- /dev/null +++ b/methods/dom.json @@ -0,0 +1,9 @@ +{ + "name": "dom", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Dominode", + "contactEmail": "", + "contactWebsite": "", + "specification": "" +} \ No newline at end of file diff --git a/methods/dotbit.json b/methods/dotbit.json new file mode 100644 index 00000000..b0e093a0 --- /dev/null +++ b/methods/dotbit.json @@ -0,0 +1,9 @@ +{ + "name": "dotbit", + "status": "registered", + "verifiableDataRegistry": "Nervos CKB", + "contactName": "dotbit", + "contactEmail": "jeff@did.id", + "contactWebsite": "https://did.id/", + "specification": "https://github.com/zgayjjf/dotbit-did-spec" +} diff --git a/methods/dsrv.json b/methods/dsrv.json new file mode 100644 index 00000000..82b60010 --- /dev/null +++ b/methods/dsrv.json @@ -0,0 +1,9 @@ +{ + "name": "dsrv", + "status": "registered", + "specification": "https://github.com/dsrvlabs/did_method/blob/main/DID-Method-DSRV.md", + "contactName": "dsrv", + "contactEmail": "did@dsrvlabs.com", + "contactWebsite": "https://welldonestake.io/", + "verifiableDataRegistry": "" +} diff --git a/methods/dual.json b/methods/dual.json new file mode 100644 index 00000000..d65c8251 --- /dev/null +++ b/methods/dual.json @@ -0,0 +1,9 @@ +{ + "name": "dual", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Smart ID Card Alliance", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Smart-ID-Card/Dual-DID/blob/main/docs/dual-did-method.md" +} \ No newline at end of file diff --git a/methods/dxd.json b/methods/dxd.json new file mode 100644 index 00000000..a874336a --- /dev/null +++ b/methods/dxd.json @@ -0,0 +1,9 @@ +{ + "name": "dxd", + "status": "registered", + "verifiableDataRegistry": "fabric.data-alliace.com", + "contactName": "Data Alliance Co., Ltd.", + "contactEmail": "blockchain@data-alliance.com", + "contactWebsite": "https://www.data-alliance.com/", + "specification": "https://github.com/Data-Alliance/did-dxd/blob/master/README.md" +} diff --git a/methods/dyne.json b/methods/dyne.json new file mode 100755 index 00000000..2f740452 --- /dev/null +++ b/methods/dyne.json @@ -0,0 +1,9 @@ +{ + "name": "dyne", + "status": "registered", + "verifiableDataRegistry": "Dyne.org Foundation", + "contactName": "Andrea D'Intino", + "contactEmail": "info@dyne.org", + "contactWebsite": "https://dyne.org", + "specification": "https://dyne.github.io/W3C-DID" +} \ No newline at end of file diff --git a/methods/echo.json b/methods/echo.json new file mode 100644 index 00000000..d2f20a82 --- /dev/null +++ b/methods/echo.json @@ -0,0 +1,9 @@ +{ + "name": "echo", + "status": "registered", + "verifiableDataRegistry": "Echo", + "contactName": "Echo Technological Solutions LLC", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/echoprotocol/uni-resolver-driver-did-echo/blob/master/echo_did_specifications.md" +} \ No newline at end of file diff --git a/methods/elastos.json b/methods/elastos.json new file mode 100644 index 00000000..1a43a173 --- /dev/null +++ b/methods/elastos.json @@ -0,0 +1,9 @@ +{ + "name": "elastos", + "status": "registered", + "verifiableDataRegistry": "Elastos ID Sidechain", + "contactName": "Elastos Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/elastos/Elastos.DID.Method/blob/master/DID/Elastos-DID-Method-Specification_en.md" +} \ No newline at end of file diff --git a/methods/elem.json b/methods/elem.json new file mode 100644 index 00000000..ce19a918 --- /dev/null +++ b/methods/elem.json @@ -0,0 +1,9 @@ +{ + "name": "elem", + "status": "registered", + "verifiableDataRegistry": "Element DID", + "contactName": "Transmute", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/element/blob/master/docs/did-method-spec/spec.md" +} \ No newline at end of file diff --git a/methods/emtrust.json b/methods/emtrust.json new file mode 100644 index 00000000..2e217593 --- /dev/null +++ b/methods/emtrust.json @@ -0,0 +1,9 @@ +{ + "name": "emtrust", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "Halialabs Pte Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Halialabs/did-spec/blob/gh-pages/readme.md" +} \ No newline at end of file diff --git a/methods/ens.json b/methods/ens.json new file mode 100644 index 00000000..e39f1b70 --- /dev/null +++ b/methods/ens.json @@ -0,0 +1,9 @@ +{ + "name": "ens", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "ConsenSys MESH", + "contactEmail": "oliver.terbu@mesh.xyz", + "contactWebsite": "https://mesh.xyz", + "specification": "https://github.com/veramolabs/did-ens-spec" +} \ No newline at end of file diff --git a/methods/eosio.json b/methods/eosio.json new file mode 100644 index 00000000..ccbd4327 --- /dev/null +++ b/methods/eosio.json @@ -0,0 +1,9 @@ +{ + "name": "eosio", + "status": "registered", + "verifiableDataRegistry": "EOSIO", + "contactName": "Gimly Blockchain", + "contactEmail": "", + "contactWebsite": "https://gimly.io", + "specification": "https://github.com/Gimly-Blockchain/eosio-did-spec" +} \ No newline at end of file diff --git a/methods/erc725.json b/methods/erc725.json new file mode 100644 index 00000000..17ae8f0f --- /dev/null +++ b/methods/erc725.json @@ -0,0 +1,9 @@ +{ + "name": "erc725", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Markus Sabadello, Fabian Vogelsteller, Peter Kolarov", + "contactEmail": "markus@danubetech.com", + "contactWebsite": "", + "specification": "https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/topics-and-advance-readings/DID-Method-erc725.md" +} diff --git a/methods/etho.json b/methods/etho.json new file mode 100644 index 00000000..5119708b --- /dev/null +++ b/methods/etho.json @@ -0,0 +1,9 @@ +{ + "name": "etho", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-etho/DID-Method-etho.md" +} \ No newline at end of file diff --git a/methods/ethr.json b/methods/ethr.json new file mode 100644 index 00000000..bf0a68c2 --- /dev/null +++ b/methods/ethr.json @@ -0,0 +1,9 @@ +{ + "name": "ethr", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "uPort", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/ethr-did-resolver/blob/master/doc/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/ev.json b/methods/ev.json new file mode 100644 index 00000000..9b434f70 --- /dev/null +++ b/methods/ev.json @@ -0,0 +1,9 @@ +{ + "name": "ev", + "status": "registered", + "specification": "https://github.com/KayTrust/did-method-ev", + "contactName": "David Ammouial (NTT DATA)", + "contactEmail": "david.ammouial@nttdata.com", + "contactWebsite": "https://kaytrust.id/", + "verifiableDataRegistry": "Any Ethereum or EVM-compatible ledger" +} diff --git a/methods/evan.json b/methods/evan.json new file mode 100644 index 00000000..1fc4626b --- /dev/null +++ b/methods/evan.json @@ -0,0 +1,9 @@ +{ + "name": "evan", + "status": "registered", + "verifiableDataRegistry": "evan.network", + "contactName": "evan GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/evannetwork/evan.network-DID-method-specification/blob/master/evan_did_method_spec.md" +} \ No newline at end of file diff --git a/methods/everscale.json b/methods/everscale.json new file mode 100644 index 00000000..aeb3a130 --- /dev/null +++ b/methods/everscale.json @@ -0,0 +1,9 @@ +{ + "name": "everscale", + "status": "registered", + "specification": "https://git.defispace.com/ssi-4/everscale-did-registry/-/blob/master/docs/documentation.md", + "verifiableDataRegistry": "Everscale blockchain", + "contactName": "Dmitry V. Samorodkin", + "contactEmail": "ds@radianceteam.com", + "contactWebsite": "https://www.radianceteam.com/" +} diff --git a/methods/example.json b/methods/example.json new file mode 100644 index 00000000..90baf8c1 --- /dev/null +++ b/methods/example.json @@ -0,0 +1,9 @@ +{ + "name": "example", + "status": "registered", + "verifiableDataRegistry": "DID Specification", + "contactName": "W3C DID Working Group", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://www.w3.org/TR/did-core/" +} diff --git a/methods/factom.json b/methods/factom.json new file mode 100644 index 00000000..65c26e9b --- /dev/null +++ b/methods/factom.json @@ -0,0 +1,9 @@ +{ + "name": "factom", + "status": "registered", + "verifiableDataRegistry": "Factom", + "contactName": "Sphereon, Factomatic, Factom Inc", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/factom-protocol/FIS/blob/master/FIS/DID.md" +} \ No newline at end of file diff --git a/methods/fairx.json b/methods/fairx.json new file mode 100644 index 00000000..c2955141 --- /dev/null +++ b/methods/fairx.json @@ -0,0 +1,9 @@ +{ + "name": "fairx", + "status": "registered", + "verifiableDataRegistry": "FairX Node", + "contactName": "Michael Dowling", + "contactEmail": "mdowling@gmail.com", + "contactWebsite": "https://github.com/fairxio/", + "specification": "https://github.com/fairxio/protocol/tree/main/did" + } \ No newline at end of file diff --git a/methods/future.json b/methods/future.json new file mode 100644 index 00000000..0c0f93a9 --- /dev/null +++ b/methods/future.json @@ -0,0 +1,9 @@ +{ + "name": "future", + "status": "registered", + "verifiableDataRegistry": "Netease Chain", + "contactName": "Netease Blockchain Team", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/netease-chain/Future-DID-Method-Specification/blob/main/README.md" +} \ No newline at end of file diff --git a/methods/gatc.json b/methods/gatc.json new file mode 100644 index 00000000..b56bd380 --- /dev/null +++ b/methods/gatc.json @@ -0,0 +1,9 @@ +{ + "name": "gatc", + "status": "registered", + "verifiableDataRegistry": "Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria", + "contactName": "Gataca", + "contactEmail": "", + "contactWebsite": "https://gataca.io/", + "specification": "https://github.com/gatacaid/gataca-did-method" +} \ No newline at end of file diff --git a/methods/gns.json b/methods/gns.json new file mode 100644 index 00000000..7ae91349 --- /dev/null +++ b/methods/gns.json @@ -0,0 +1,9 @@ +{ + "name": "gns", + "status": "registered", + "verifiableDataRegistry": "GNU Name System", + "contactName": "GNUnet", + "contactEmail": "gnunet-developers@gnu.org", + "contactWebsite": "https://gnunet.org", + "specification": "https://lsd.gnunet.org/lsd0005/" +} diff --git a/methods/grg.json b/methods/grg.json new file mode 100644 index 00000000..046b518b --- /dev/null +++ b/methods/grg.json @@ -0,0 +1,9 @@ +{ + "name": "grg", + "status": "registered", + "verifiableDataRegistry": "GrgChain", + "contactName": "GRGBanking Blockchain Express Co. Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/GrgChain/DID-method-specs/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/grn.json b/methods/grn.json new file mode 100644 index 00000000..3bd48d09 --- /dev/null +++ b/methods/grn.json @@ -0,0 +1,9 @@ +{ + "name": "grn", + "status": "registered", + "specification": "https://github.com/EG-easy/grano-did/blob/main/did-method-specification.md", + "contactName": "EG-easy", + "contactEmail": "", + "contactWebsite": "", + "verifiableDataRegistry": "Any CosmWasm-compatible ledger" +} diff --git a/methods/health.json b/methods/health.json new file mode 100644 index 00000000..15ee5664 --- /dev/null +++ b/methods/health.json @@ -0,0 +1,9 @@ +{ + "name": "health", + "status": "registered", + "verifiableDataRegistry": "DID Health", + "contactName": "support", + "contactEmail": "support@did.healthcare", + "contactWebsite": "https://www.did.healthcare/", + "specification": "https://github.com/didhealth/health-did-resolver/blob/main/doc/did-method-spec.md" +} diff --git a/methods/hedera.json b/methods/hedera.json new file mode 100644 index 00000000..cca0f4b8 --- /dev/null +++ b/methods/hedera.json @@ -0,0 +1,9 @@ +{ + "name": "hedera", + "status": "registered", + "verifiableDataRegistry": "Hedera Hashgraph", + "contactName": "Hedera Hashgraph, Swisscom Blockchain AG", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/hashgraph/did-method/blob/master/did-method-specification.md" +} \ No newline at end of file diff --git a/methods/hid.json b/methods/hid.json new file mode 100644 index 00000000..8d07b10f --- /dev/null +++ b/methods/hid.json @@ -0,0 +1,9 @@ +{ + "name": "hid", + "status": "registered", + "specification": "https://github.com/hypersign-protocol/HIPs/blob/main/HIPs/hip-10.md", + "contactName": "Hypermine Limited", + "contactEmail": "connect@hypermine.in", + "contactWebsite": "https://hypersign.id/", + "verifiableDataRegistry": "Hypersign Blockchain Network" +} \ No newline at end of file diff --git a/methods/holo.json b/methods/holo.json new file mode 100644 index 00000000..f223d5aa --- /dev/null +++ b/methods/holo.json @@ -0,0 +1,9 @@ +{ + "name": "holo", + "status": "registered", + "verifiableDataRegistry": "Holochain", + "contactName": "Holo.Host", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/draft-documents/did:hc-method.md" +} \ No newline at end of file diff --git a/methods/hpass.json b/methods/hpass.json new file mode 100644 index 00000000..f02163b2 --- /dev/null +++ b/methods/hpass.json @@ -0,0 +1,9 @@ +{ + "name": "hpass", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "IBM", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/IBM/hpass/blob/main/doc/did-spec.md" +} \ No newline at end of file diff --git a/methods/hpo.json b/methods/hpo.json new file mode 100644 index 00000000..15fc1be8 --- /dev/null +++ b/methods/hpo.json @@ -0,0 +1,9 @@ +{ + "name": "hpo", + "status": "registered", + "verifiableDataRegistry": "", + "contactName": "Hippocrat DAO", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/hippocrat-protocol/hpo-did-method-spec/blob/main/HPO-DID-method-spec.md" +} diff --git a/methods/hsk.json b/methods/hsk.json new file mode 100644 index 00000000..dbcf2820 --- /dev/null +++ b/methods/hsk.json @@ -0,0 +1,8 @@ +{ + "name": "hsk", + "status": "registered", + "verifiableDataRegistry": "PlatON", + "contactName": "HashKey DID", + "contactEmail": "info@hashkey.id", + "specification": "https://github.com/hashkeydid/hashkeydid-w3c-specification/blob/master/did-specfication/hsk-method.md" +} diff --git a/methods/iamx.json b/methods/iamx.json new file mode 100644 index 00000000..070d4869 --- /dev/null +++ b/methods/iamx.json @@ -0,0 +1,8 @@ +{ + "name": "iamx", + "status": "registered", + "specification": "https://github.com/IAMXID/did-method-iamx/blob/main/IAMX_DID_method.md", + "contactName": "IAMX AG, 6300 Zug, Switzerland", + "contactEmail": "contact@iamx.id", + "contactWebsite": "https://iamx.id/" +} diff --git a/methods/ibmdc.json b/methods/ibmdc.json new file mode 100644 index 00000000..72cc66cf --- /dev/null +++ b/methods/ibmdc.json @@ -0,0 +1,9 @@ +{ + "name": "ibmdc", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "IBM Digital Credentials", + "contactEmail": "digitalcredentials@ibm.com", + "contactWebsite": "https://www.ibm.com/blockchain/identity", + "specification": "https://wiki.digitalcredentials.ibm.com/#/spec/v1/did-method" +} diff --git a/methods/icon.json b/methods/icon.json new file mode 100644 index 00000000..252ebdfd --- /dev/null +++ b/methods/icon.json @@ -0,0 +1,9 @@ +{ + "name": "icon", + "status": "registered", + "verifiableDataRegistry": "ICON", + "contactName": "ICONLOOP", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/icon-project/icon-DID/blob/master/docs/ICON-DID-method.md" +} \ No newline at end of file diff --git a/methods/id.json b/methods/id.json new file mode 100644 index 00000000..9ee0cec5 --- /dev/null +++ b/methods/id.json @@ -0,0 +1,9 @@ +{ + "name": "id", + "status": "registered", + "verifiableDataRegistry": "ID Service", + "contactName": "Mastercard", + "contactEmail": "", + "contactWebsite": "https://idservice.com/en/contactus.html", + "specification": "https://github.com/Mastercard/did-methods/blob/master/id.md" +} diff --git a/methods/iid.json b/methods/iid.json new file mode 100644 index 00000000..7041b4a3 --- /dev/null +++ b/methods/iid.json @@ -0,0 +1,9 @@ +{ + "name": "iid", + "status": "registered", + "verifiableDataRegistry": "Inspur Chain", + "contactName": "zoe Yian", + "contactEmail": "ranyueranyue@outlook.com", + "contactWebsite": "", + "specification": "https://github.com/InspurIndustrialInternet/iid/blob/main/doc/en/InspurChain_DID_protocol_Specification.md" +} diff --git a/methods/index.json b/methods/index.json new file mode 100644 index 00000000..9458c219 --- /dev/null +++ b/methods/index.json @@ -0,0 +1,1674 @@ +[ + { + "name": "3", + "status": "registered", + "verifiableDataRegistry": "Ceramic Network", + "contactName": "3Box Labs", + "contactEmail": "devs@3box.io", + "contactWebsite": "https://3boxlabs.com/", + "specification": "https://cips.ceramic.network/CIPs/cip-79" + }, + { + "name": "abt", + "status": "registered", + "verifiableDataRegistry": "ABT Network", + "contactName": "ArcBlock", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://arcblock.github.io/abt-did-spec/" + }, + { + "name": "aergo", + "status": "registered", + "verifiableDataRegistry": "Aergo", + "contactName": "Blocko", + "contactEmail": "", + "contactWebsite": "https://www.blocko.io/", + "specification": "https://github.com/aergoio/aergo-identity/blob/master/doc/did-method-spec.md" + }, + { + "name": "ala", + "status": "registered", + "verifiableDataRegistry": "Alastria", + "contactName": "Alastria National Blockchain Ecosystem", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/alastria/alastria-identity/wiki/Alastria-DID-Method-Specification-(Quorum-version)" + }, + { + "name": "amo", + "status": "registered", + "verifiableDataRegistry": "AMO blockchain mainnet", + "contactName": "AMO Labs", + "contactEmail": "", + "contactWebsite": "https://amo.foundation", + "specification": "https://github.com/amolabs/docs/blob/master/amo-did.md" + }, + { + "name": "antelope", + "status": "registered", + "verifiableDataRegistry": "Antelope", + "contactName": "Tonomy Foundation", + "contactEmail": "", + "contactWebsite": "https://tonomy.foundation", + "specification": "https://github.com/Tonomy-Foundation/antelope-did-spec" + }, + { + "name": "art", + "status": "registered", + "specification": "https://github.com/ArtracID/ArtracID-DID-ART-Method", + "contactName": "Ming-lam Ng (RealMatter)", + "contactEmail": "did_inquiry@artrac.id", + "contactWebsite": "www.artracx.com", + "verifiableDataRegistry": "Artwork ID Method" + }, + { + "name": "asset", + "status": "registered", + "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/asset-did-spec.md", + "contactEmail": "devs@kilt.io", + "contactName": "BOTLabs GmbH", + "contactWebsite": "https://www.kilt.io/", + "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-19 identifiers" + }, + { + "name": "bba", + "status": "registered", + "verifiableDataRegistry": "Ardor", + "contactName": "Attila Aldemir", + "contactEmail": "attila.aldemir@atz3n.dev", + "contactWebsite": "", + "specification": "https://github.com/blobaa/bba-did-method-specification/blob/master/docs/markdown/spec.md" + }, + { + "name": "bee", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "mesur.io", + "contactEmail": "mprorock@mesur.io", + "contactWebsite": "https://mesur.io.io/", + "specification": "https://github.com/mesur-io/did-method-bee" + }, + { + "name": "bid", + "status": "registered", + "verifiableDataRegistry": "bif", + "contactName": "teleinfo caict", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/teleinfo-bif/bid/tree/master/doc/en" + }, + { + "name": "bit", + "status": "registered", + "verifiableDataRegistry": "d.id", + "contactName": "d.id", + "contactEmail": "support@d.id", + "contactWebsite": "https://d.id", + "specification": "https://github.com/dotbitHQ/did-bit-spec" + }, + { + "name": "bluetoqueagent", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueagent-1-0-0.md" + }, + { + "name": "bluetoquedeed", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquedeed-1-0-0.md" + }, + { + "name": "bluetoquenfe", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquenfe-1-0-0.md" + }, + { + "name": "bluetoqueproc", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueprocess-1-0-0.md" + }, + { + "name": "bnb", + "status": "registered", + "verifiableDataRegistry": "Binance Smart Chain", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-bnb/DID-Method-bnb.md" + }, + { + "name": "bryk", + "status": "registered", + "verifiableDataRegistry": "bryk", + "contactName": "Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/bryk-io/did-method/blob/master/README.md" + }, + { + "name": "btcr", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Christopher Allen, Ryan Grant, Kim Hamilton Duffy", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://w3c-ccg.github.io/didm-btcr" + }, + { + "name": "candid", + "status": "registered", + "verifiableDataRegistry": "Quorum", + "contactName": "Eric Lin", + "contactEmail": "ericlin@cathayholdings.com.tw", + "contactWebsite": "https://www.linkedin.com/in/eric-lin-875b42b0/", + "specification": "https://github.com/ericlin716/did-spec/blob/main/candid-did-method-spec.md" + }, + { + "name": "ccd", + "status": "registered", + "specification": "https://proposals.concordium.software/ID/concordium-did.html", + "contactName": "Concordium development team", + "contactEmail": "developers@concordium.com", + "contactWebsite": "https://concordium.com", + "verifiableDataRegistry": "Concordium" + }, + { + "name": "ccf", + "status": "registered", + "verifiableDataRegistry": "Confidential Consortium Framework (CCF)", + "contactName": "Microsoft", + "contactEmail": "ccf-did@microsoft.com", + "contactWebsite": "https://ccf.dev", + "specification": "https://github.com/microsoft/did-ccf/blob/main/DID_CCF.md" + }, + { + "name": "ccp", + "status": "registered", + "verifiableDataRegistry": "Quorum", + "contactName": "Baidu, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did.baidu.com/did-spec/" + }, + { + "name": "celo", + "status": "registered", + "verifiableDataRegistry": "Celo", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-celo/DID-Method-celo.md" + }, + { + "name": "cheqd", + "status": "registered", + "verifiableDataRegistry": "cheqd", + "contactName": "CHEQD FOUNDATION LIMITED", + "contactEmail": "contact@cheqd.io", + "contactWebsite": "https://cheqd.io", + "specification": "https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method" + }, + { + "name": "com", + "status": "registered", + "verifiableDataRegistry": "commercio.network", + "contactName": "Commercio Consortium", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/commercionetwork/Commercio.network-DID-Method-Specification/" + }, + { + "name": "content", + "status": "registered", + "specification": "https://github.com/KataruInc/did-content-spec", + "contactName": "Mizuki Sonoko", + "contactEmail": "sonoko@mizuki.io", + "contactWebsite": "https://mizuki.io", + "verifiableDataRegistry": "" + }, + { + "name": "corda", + "status": "registered", + "verifiableDataRegistry": "Corda", + "contactName": "Nitesh Solanki,Moritz Platt,Pranav Kirtani", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://htmlpreview.github.io/?https://github.com/persistentsystems/corda-did-method/blob/master/corda_did_method.html" + }, + { + "name": "cosmos", + "status": "registered", + "verifiableDataRegistry": "Cosmos application chains", + "contactName": "Shaun Conway", + "contactEmail": "earthprogram@ixo.world", + "contactWebsite": "https://www.ixo.world/", + "specification": "https://github.com/EarthProgram/did-cosmos" + }, + { + "name": "cot", + "status": "registered", + "verifiableDataRegistry": "CoTChain", + "contactName": "CoTNetwork, Inc.", + "contactEmail": "", + "contactWebsite": "https://www.cotnetwork.com", + "specification": "https://github.com/ComputingOfThings/dids#readme" + }, + { + "name": "cr", + "status": "registered", + "specification": "https://github.com/SelfSovereignDrm/core/blob/main/README.md", + "contactName": "", + "contactEmail": "ssdrm@digicaps.com", + "contactWebsite": "", + "verifiableDataRegistry": "Hyperledger Fabric" + }, + { + "name": "did", + "status": "registered", + "verifiableDataRegistry": "Decentralized Identifiers", + "contactName": "Spruce Systems, Inc.", + "contactEmail": "", + "contactWebsite": "https://spruceid.com", + "specification": "https://did-did.spruceid.com" + }, + { + "name": "dns", + "status": "registered", + "verifiableDataRegistry": "Domain Name System (DNS)", + "contactName": "Danube Tech", + "contactEmail": "markus@danubetech.com", + "contactWebsite": "https://danubetech.com", + "specification": "https://danubetech.github.io/did-method-dns/" + }, + { + "name": "dock", + "status": "registered", + "verifiableDataRegistry": "Dock", + "contactName": "Dock.io", + "contactEmail": "", + "contactWebsite": "https://www.dock.io", + "specification": "https://github.com/docknetwork/dock-did-driver/blob/master/Dock%20DID%20method%20specification.md" + }, + { + "name": "dom", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Dominode", + "contactEmail": "", + "contactWebsite": "", + "specification": "" + }, + { + "name": "dotbit", + "status": "registered", + "verifiableDataRegistry": "Nervos CKB", + "contactName": "dotbit", + "contactEmail": "jeff@did.id", + "contactWebsite": "https://did.id/", + "specification": "https://github.com/zgayjjf/dotbit-did-spec" + }, + { + "name": "dsrv", + "status": "registered", + "specification": "https://github.com/dsrvlabs/did_method/blob/main/DID-Method-DSRV.md", + "contactName": "dsrv", + "contactEmail": "did@dsrvlabs.com", + "contactWebsite": "https://welldonestake.io/", + "verifiableDataRegistry": "" + }, + { + "name": "dual", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Smart ID Card Alliance", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Smart-ID-Card/Dual-DID/blob/main/docs/dual-did-method.md" + }, + { + "name": "dxd", + "status": "registered", + "verifiableDataRegistry": "fabric.data-alliace.com", + "contactName": "Data Alliance Co., Ltd.", + "contactEmail": "blockchain@data-alliance.com", + "contactWebsite": "https://www.data-alliance.com/", + "specification": "https://github.com/Data-Alliance/did-dxd/blob/master/README.md" + }, + { + "name": "dyne", + "status": "registered", + "verifiableDataRegistry": "Dyne.org Foundation", + "contactName": "Andrea D'Intino", + "contactEmail": "info@dyne.org", + "contactWebsite": "https://dyne.org", + "specification": "https://dyne.github.io/W3C-DID" + }, + { + "name": "echo", + "status": "registered", + "verifiableDataRegistry": "Echo", + "contactName": "Echo Technological Solutions LLC", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/echoprotocol/uni-resolver-driver-did-echo/blob/master/echo_did_specifications.md" + }, + { + "name": "elastos", + "status": "registered", + "verifiableDataRegistry": "Elastos ID Sidechain", + "contactName": "Elastos Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/elastos/Elastos.DID.Method/blob/master/DID/Elastos-DID-Method-Specification_en.md" + }, + { + "name": "elem", + "status": "registered", + "verifiableDataRegistry": "Element DID", + "contactName": "Transmute", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/element/blob/master/docs/did-method-spec/spec.md" + }, + { + "name": "emtrust", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "Halialabs Pte Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Halialabs/did-spec/blob/gh-pages/readme.md" + }, + { + "name": "ens", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "ConsenSys MESH", + "contactEmail": "oliver.terbu@mesh.xyz", + "contactWebsite": "https://mesh.xyz", + "specification": "https://github.com/veramolabs/did-ens-spec" + }, + { + "name": "eosio", + "status": "registered", + "verifiableDataRegistry": "EOSIO", + "contactName": "Gimly Blockchain", + "contactEmail": "", + "contactWebsite": "https://gimly.io", + "specification": "https://github.com/Gimly-Blockchain/eosio-did-spec" + }, + { + "name": "erc725", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Markus Sabadello, Fabian Vogelsteller, Peter Kolarov", + "contactEmail": "markus@danubetech.com", + "contactWebsite": "", + "specification": "https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/topics-and-advance-readings/DID-Method-erc725.md" + }, + { + "name": "etho", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-etho/DID-Method-etho.md" + }, + { + "name": "ethr", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "uPort", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/ethr-did-resolver/blob/master/doc/did-method-spec.md" + }, + { + "name": "ev", + "status": "registered", + "specification": "https://github.com/KayTrust/did-method-ev", + "contactName": "David Ammouial (NTT DATA)", + "contactEmail": "david.ammouial@nttdata.com", + "contactWebsite": "https://kaytrust.id/", + "verifiableDataRegistry": "Any Ethereum or EVM-compatible ledger" + }, + { + "name": "evan", + "status": "registered", + "verifiableDataRegistry": "evan.network", + "contactName": "evan GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/evannetwork/evan.network-DID-method-specification/blob/master/evan_did_method_spec.md" + }, + { + "name": "everscale", + "status": "registered", + "specification": "https://git.defispace.com/ssi-4/everscale-did-registry/-/blob/master/docs/documentation.md", + "verifiableDataRegistry": "Everscale blockchain", + "contactName": "Dmitry V. Samorodkin", + "contactEmail": "ds@radianceteam.com", + "contactWebsite": "https://www.radianceteam.com/" + }, + { + "name": "example", + "status": "registered", + "verifiableDataRegistry": "DID Specification", + "contactName": "W3C DID Working Group", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://www.w3.org/TR/did-core/" + }, + { + "name": "factom", + "status": "registered", + "verifiableDataRegistry": "Factom", + "contactName": "Sphereon, Factomatic, Factom Inc", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/factom-protocol/FIS/blob/master/FIS/DID.md" + }, + { + "name": "fairx", + "status": "registered", + "verifiableDataRegistry": "FairX Node", + "contactName": "Michael Dowling", + "contactEmail": "mdowling@gmail.com", + "contactWebsite": "https://github.com/fairxio/", + "specification": "https://github.com/fairxio/protocol/tree/main/did" + }, + { + "name": "future", + "status": "registered", + "verifiableDataRegistry": "Netease Chain", + "contactName": "Netease Blockchain Team", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/netease-chain/Future-DID-Method-Specification/blob/main/README.md" + }, + { + "name": "gatc", + "status": "registered", + "verifiableDataRegistry": "Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria", + "contactName": "Gataca", + "contactEmail": "", + "contactWebsite": "https://gataca.io/", + "specification": "https://github.com/gatacaid/gataca-did-method" + }, + { + "name": "gns", + "status": "registered", + "verifiableDataRegistry": "GNU Name System", + "contactName": "GNUnet", + "contactEmail": "gnunet-developers@gnu.org", + "contactWebsite": "https://gnunet.org", + "specification": "https://lsd.gnunet.org/lsd0005/" + }, + { + "name": "grg", + "status": "registered", + "verifiableDataRegistry": "GrgChain", + "contactName": "GRGBanking Blockchain Express Co. Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/GrgChain/DID-method-specs/blob/master/README.md" + }, + { + "name": "grn", + "status": "registered", + "specification": "https://github.com/EG-easy/grano-did/blob/main/did-method-specification.md", + "contactName": "EG-easy", + "contactEmail": "", + "contactWebsite": "", + "verifiableDataRegistry": "Any CosmWasm-compatible ledger" + }, + { + "name": "health", + "status": "registered", + "verifiableDataRegistry": "DID Health", + "contactName": "support", + "contactEmail": "support@did.healthcare", + "contactWebsite": "https://www.did.healthcare/", + "specification": "https://github.com/didhealth/health-did-resolver/blob/main/doc/did-method-spec.md" + }, + { + "name": "hedera", + "status": "registered", + "verifiableDataRegistry": "Hedera Hashgraph", + "contactName": "Hedera Hashgraph, Swisscom Blockchain AG", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/hashgraph/did-method/blob/master/did-method-specification.md" + }, + { + "name": "hid", + "status": "registered", + "specification": "https://github.com/hypersign-protocol/HIPs/blob/main/HIPs/hip-10.md", + "contactName": "Hypermine Limited", + "contactEmail": "connect@hypermine.in", + "contactWebsite": "https://hypersign.id/", + "verifiableDataRegistry": "Hypersign Blockchain Network" + }, + { + "name": "holo", + "status": "registered", + "verifiableDataRegistry": "Holochain", + "contactName": "Holo.Host", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/draft-documents/did:hc-method.md" + }, + { + "name": "hpass", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "IBM", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/IBM/hpass/blob/main/doc/did-spec.md" + }, + { + "name": "hpo", + "status": "registered", + "verifiableDataRegistry": "", + "contactName": "Hippocrat DAO", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/hippocrat-protocol/hpo-did-method-spec/blob/main/HPO-DID-method-spec.md" + }, + { + "name": "hsk", + "status": "registered", + "verifiableDataRegistry": "PlatON", + "contactName": "HashKey DID", + "contactEmail": "info@hashkey.id", + "specification": "https://github.com/hashkeydid/hashkeydid-w3c-specification/blob/master/did-specfication/hsk-method.md" + }, + { + "name": "iamx", + "status": "registered", + "specification": "https://github.com/IAMXID/did-method-iamx/blob/main/IAMX_DID_method.md", + "contactName": "IAMX AG, 6300 Zug, Switzerland", + "contactEmail": "contact@iamx.id", + "contactWebsite": "https://iamx.id/" + }, + { + "name": "ibmdc", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "IBM Digital Credentials", + "contactEmail": "digitalcredentials@ibm.com", + "contactWebsite": "https://www.ibm.com/blockchain/identity", + "specification": "https://wiki.digitalcredentials.ibm.com/#/spec/v1/did-method" + }, + { + "name": "icon", + "status": "registered", + "verifiableDataRegistry": "ICON", + "contactName": "ICONLOOP", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/icon-project/icon-DID/blob/master/docs/ICON-DID-method.md" + }, + { + "name": "id", + "status": "registered", + "verifiableDataRegistry": "ID Service", + "contactName": "Mastercard", + "contactEmail": "", + "contactWebsite": "https://idservice.com/en/contactus.html", + "specification": "https://github.com/Mastercard/did-methods/blob/master/id.md" + }, + { + "name": "iid", + "status": "registered", + "verifiableDataRegistry": "Inspur Chain", + "contactName": "zoe Yian", + "contactEmail": "ranyueranyue@outlook.com", + "contactWebsite": "", + "specification": "https://github.com/InspurIndustrialInternet/iid/blob/main/doc/en/InspurChain_DID_protocol_Specification.md" + }, + { + "name": "indy", + "status": "registered", + "verifiableDataRegistry": "Any Hyperledger Indy Ledger", + "contactName": "Stephen Curran", + "contactEmail": "swcurran@cloudcompass.ca", + "contactWebsite": "", + "specification": "https://hyperledger.github.io/indy-did-method/" + }, + { + "name": "infra", + "status": "registered", + "verifiableDataRegistry": "InfraBlockchain", + "contactName": "Blockchain Labs", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/InfraBlockchain/infra-did-method-specs/blob/main/docs/Infra-DID-method-spec.md" + }, + { + "name": "io", + "status": "registered", + "verifiableDataRegistry": "IoTeX", + "contactName": "IoTeX Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/iotexproject/iotex-did/blob/master/README.md" + }, + { + "name": "ion", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Various DIF contributors", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/ion-did-method" + }, + { + "name": "iota", + "status": "registered", + "verifiableDataRegistry": "IOTA", + "contactName": "IOTA Foundation", + "contactEmail": "", + "contactWebsite": "https://iota.org", + "specification": "https://wiki.iota.org/identity.rs/specs/did/iota_did_method_spec" + }, + { + "name": "ipid", + "status": "registered", + "verifiableDataRegistry": "IPFS", + "contactName": "TranSendX", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did-ipid.github.io/ipid-did-method/" + }, + { + "name": "is", + "status": "registered", + "verifiableDataRegistry": "Blockcore", + "contactName": "Blockcore", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/block-core/blockcore-did-method" + }, + { + "name": "iscc", + "status": "registered", + "verifiableDataRegistry": "Public Blockchains", + "contactName": "ISCC Foundation", + "contactEmail": "tp@iscc.foundation", + "contactWebsite": "https://iscc.foundation", + "specification": "https://ieps.iscc.codes/iep-0015/" + }, + { + "name": "iwt", + "status": "registered", + "verifiableDataRegistry": "InfoWallet", + "contactName": "Raonsecure", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/infowallet/did_method/blob/master/did_method.md" + }, + { + "name": "jlinc", + "status": "registered", + "verifiableDataRegistry": "JLINC Protocol", + "contactName": "Victor Grey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did-spec.jlinc.org/" + }, + { + "name": "jnctn", + "status": "registered", + "verifiableDataRegistry": "Jnctn Network", + "contactName": "Jnctn Limited", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/jnctn/did-method-spec/" + }, + { + "name": "jolo", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Jolocom", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/jolocom/jolo-did-method/blob/master/jolocom-did-method-specification.md" + }, + { + "name": "jwk", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Jeremie Miller", + "contactEmail": "jeremie.miller@gmail.com", + "contactWebsite": "", + "specification": "https://github.com/quartzjer/did-jwk" + }, + { + "name": "kaname", + "status": "registered", + "specification": "https://github.com/KanameProtocol/did-kaname-spec/blob/main/README.md", + "contactName": "", + "contactEmail": "", + "contactWebsite": "https://kaname.io/", + "verifiableDataRegistry": "Any EVM Compatible Blockchains" + }, + { + "name": "kdid", + "status": "registered", + "specification": "https://github.com/KingdomFintechBJ-BC/kdid/blob/main/doc/en/kdid.md", + "contactName": "KINGDOM FINTECH(BEIJING)CO,LTD.", + "contactEmail": "quklsyb@szkingdom.com", + "contactWebsite": "", + "verifiableDataRegistry": "FISCO BCOS" + }, + { + "name": "keri", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Dr. Sam Smith, Charles Cunningham, Phil Feairheller", + "contactEmail": "pfeairheller@gmail.com", + "contactWebsite": "", + "specification": "https://weboftrust.github.io/did-keri/" + }, + { + "name": "key", + "status": "registered", + "verifiableDataRegistry": "Ledger-independent DID method based on public/private key pairs", + "contactName": "Rick Astley (thank you for your inspiration), Manu Sporny, Dmitri Zagidulin, Dave Longley, Orie Steele", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://w3c-ccg.github.io/did-method-key/" + }, + { + "name": "kilt", + "status": "registered", + "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/did-spec.md", + "contactEmail": "devs@kilt.io", + "contactName": "BOTLabs GmbH", + "contactWebsite": "https://www.kilt.io/", + "verifiableDataRegistry": "KILT Blockchain" + }, + { + "name": "klay", + "status": "registered", + "verifiableDataRegistry": "Klaytn", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-klay/DID-Method-klay.md" + }, + { + "name": "knox", + "status": "registered", + "verifiableDataRegistry": "Knox Networks", + "contactName": "Francis Kim", + "contactEmail": "developers@knox-networks.com", + "contactWebsite": "https://www.knox-networks.com/", + "specification": "https://github.com/knox-networks/knox-did-specification" + }, + { + "name": "kr", + "status": "registered", + "verifiableDataRegistry": "Korea Mobile Identity System", + "contactName": "Ministry of the Interior and Safety, korea", + "contactEmail": "", + "contactWebsite": "https://github.com/identify202020/did-method/blob/main/did_author.md", + "specification": "https://github.com/identify202020/did-method/blob/main/did_kr_method.md" + }, + { + "name": "kscirc", + "status": "registered", + "specification": "https://tangy-gallium-b9b.notion.site/DID-Method-Specification-KSChain-7a77664f1eae47769692f4ff2d029fe0", + "contactName": "K4-Security", + "contactEmail": "", + "contactWebsite": "http://www.k4-security.com/", + "verifiableDataRegistry": "KSChain Blockchain" + }, + { + "name": "lac", + "status": "registered", + "verifiableDataRegistry": "LACChain Network", + "contactName": "LACChain Alliance", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/lacchain/lacchain-did-registry/blob/master/DID_SPEC.md" + }, + { + "name": "life", + "status": "registered", + "verifiableDataRegistry": "RChain", + "contactName": "lifeID Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://lifeid.github.io/did-method-spec/" + }, + { + "name": "lisk", + "status": "registered", + "verifiableDataRegistry": "Lisk Sidechain", + "contactName": "Aldo Suhartono Putra", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/aldhosutra/lisk-did/blob/main/packages/lisk-did-module/docs/did-method-spec.md" + }, + { + "name": "lit", + "status": "registered", + "verifiableDataRegistry": "LEDGIS", + "contactName": "IBCT", + "contactEmail": "", + "contactWebsite": "http://en.ibct.kr", + "specification": "https://github.com/ibct-dev/lit-DID/blob/main/docs/did:lit-method-spec_eng_v0.1.0.md" + }, + { + "name": "meme", + "status": "registered", + "verifiableDataRegistry": "IPFS & DNS & HTTP", + "contactName": "DID Meme Maintainers", + "contactEmail": "orie@or13.io", + "contactWebsite": "https://didme.me/", + "specification": "https://or13.github.io/didme.me/did-method-spec" + }, + { + "name": "mesh", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-mesh-1-0-1.md" + }, + { + "name": "meta", + "status": "registered", + "verifiableDataRegistry": "Metadium", + "contactName": "Metadium Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/METADIUM/meta-DID/blob/master/doc/DID-method-metadium.md" + }, + { + "name": "moac", + "status": "registered", + "verifiableDataRegistry": "MOAC", + "contactName": "MOAC Blockchain Tech, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/DavidRicardoWilde/moac-did/blob/master/did-moac-method.md" + }, + { + "name": "monid", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Min Ju", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://lianxi-tech.github.io/monid/" + }, + { + "name": "morpheus", + "status": "registered", + "verifiableDataRegistry": "Hydra", + "contactName": "Internet of People", + "contactEmail": "", + "contactWebsite": "https://iop.global/", + "specification": "https://developer.iop.global/w3c" + }, + { + "name": "myDiD", + "status": "registered", + "specification": "https://github.com/MyDidCom/myDiD_Method", + "contactName": "", + "contactEmail": "contact@mydid.com", + "contactWebsite": "https://mydid.com", + "verifiableDataRegistry": "DID Specification" + }, + { + "name": "mydata", + "status": "registered", + "verifiableDataRegistry": "iGrant.io", + "contactName": "iGrant.io", + "contactEmail": "", + "contactWebsite": "https://igrant.io/", + "specification": "https://github.com/decentralised-dataexchange/automated-data-agreements/blob/main/docs/did-spec.md" + }, + { + "name": "near", + "status": "registered", + "verifiableDataRegistry": "NEAR", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-spec-near/blob/master/NEAR/DID-Method-NEAR.md" + }, + { + "name": "next", + "status": "registered", + "verifiableDataRegistry": "Nextme DIDs Network", + "contactName": "Next Labs", + "contactEmail": "did@nextme.one", + "contactWebsite": "https://nextme.one", + "specification": "https://docs.nextme.one/#/DID/NextDID" + }, + { + "name": "nft", + "status": "registered", + "verifiableDataRegistry": "Ceramic Network", + "contactName": "3Box Labs", + "contactEmail": "devs@3box.io", + "contactWebsite": "https://3boxlabs.com/", + "specification": "https://cips.ceramic.network/CIPs/cip-94" + }, + { + "name": "nuggets", + "status": "registered", + "verifiableDataRegistry": "Nuggets Network", + "contactName": "Nuggets Ltd", + "contactEmail": "contact@nuggets.life", + "contactWebsite": "https://nuggets.life", + "specification": "https://github.com/NuggetsLtd/nuggets-did-resolver/blob/master/doc/did-methods/did:nuggets.md" + }, + { + "name": "nuts", + "status": "registered", + "verifiableDataRegistry": "Nuts network", + "contactName": "Nuts community", + "contactEmail": "w3c-did-core@nuts.nl", + "contactWebsite": "https://nuts.nl", + "specification": "https://nuts-foundation.gitbook.io/drafts/rfc/rfc006-distributed-registry" + }, + { + "name": "object", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-object-1-5-0.md" + }, + { + "name": "ockam", + "status": "registered", + "verifiableDataRegistry": "Ockam", + "contactName": "Ockam", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ockam-network/did-method-spec/blob/master/README.md" + }, + { + "name": "omn", + "status": "registered", + "verifiableDataRegistry": "OmniOne", + "contactName": "OmniOne", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/OmniOneID/did_method/blob/master/did_method.md" + }, + { + "name": "onion", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Blockchain Commons", + "contactEmail": "", + "contactWebsite": "https://github.com/BlockchainCommons/did-method-onion", + "specification": "https://blockchaincommons.github.io/did-method-onion/" + }, + { + "name": "ont", + "status": "registered", + "verifiableDataRegistry": "Ontology", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontio/ontology-DID/blob/master/docs/en/DID-ONT-method.md" + }, + { + "name": "op", + "status": "registered", + "verifiableDataRegistry": "Ocean Protocol", + "contactName": "Ocean Protocol", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/oceanprotocol/OEPs/blob/master/7/v0.2/README.md" + }, + { + "name": "orb", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Avast", + "contactEmail": "troy.ronda@avast.com", + "contactWebsite": "https://avast.com/", + "specification": "https://trustbloc.github.io/did-method-orb/" + }, + { + "name": "oyd", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "OwnYourData.eu", + "contactEmail": "christoph@ownyourdata.eu", + "contactWebsite": "https://ownyourdata.eu/", + "specification": "https://ownyourdata.github.io/oydid/" + }, + { + "name": "panacea", + "status": "registered", + "verifiableDataRegistry": "Panacea", + "contactName": "MediBloc", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/medibloc/panacea-core/blob/master/docs/did.md" + }, + { + "name": "peaq", + "status": "registered", + "specification": "https://github.com/peaqnetwork/peaq-did-specifications", + "contactEmail": "info@peaq.network", + "contactName": "Peaq Technology GmbH", + "contactWebsite": "https://www.peaq.network", + "verifiableDataRegistry": "peaq Blockchain" + }, + { + "name": "peer", + "status": "registered", + "verifiableDataRegistry": "peer", + "contactName": "Daniel Hardman", + "contactEmail": "daniel.hardman@gmail.com", + "contactWebsite": "", + "specification": "https://identity.foundation/peer-did-method-spec/index.html" + }, + { + "name": "pid", + "status": "registered", + "verifiableDataRegistry": "ProofID Blockchain", + "contactName": "Alvin Reyes", + "contactEmail": "tech@proofid.me", + "contactWebsite": "https://proofid.me", + "specification": "https://github.com/proof-id/pid-did-driver/blob/main/did-method-specification.md" + }, + { + "name": "pistis", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Andrea Taglia, Matteo Sinico", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/uino95/ssi/blob/consensys/dashboard/server/pistis/pistis-did-resolver/README.md" + }, + { + "name": "pkh", + "status": "registered", + "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-10 keypair expressions", + "contactName": "Wayne Chang, Charles Lehner, Juan Caballero, Joel Thorstensson", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/w3c-ccg/did-pkh/blob/90b28ad3c18d63822a8aab3c752302aa64fc9382/did-pkh-method-draft.md" + }, + { + "name": "plc", + "status": "registered", + "specification": "https://github.com/bluesky-social/did-method-plc", + "contactName": "Bluesky PBLLC", + "contactEmail": "protocol@blueskyweb.xyz", + "contactWebsite": "https://blueskyweb.xyz/", + "verifiableDataRegistry": "https://plc.directory" + }, + { + "name": "pml", + "status": "registered", + "verifiableDataRegistry": "PML Chain", + "contactName": "Purple Mountain Laboratories", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/PML-ID/pml-did-specs/blob/main/did-method.md" + }, + { + "name": "polygon", + "status": "registered", + "verifiableDataRegistry": "Polygon (Previously MATIC)", + "contactName": "AyanWorks, MATIC", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ayanworks/polygon-did-method-spec" + }, + { + "name": "polygonid", + "status": "registered", + "verifiableDataRegistry": "EVM compatible chains. Primary on Polygon", + "contactName": "0xPolygonID", + "contactEmail": "", + "contactWebsite": "https://polygon.technology/polygon-id", + "specification": "https://github.com/0xPolygonID/did-polygonid" + }, + { + "name": "prism", + "status": "registered", + "specification": "https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md", + "contactName": "Input Output Global Inc (IOG)", + "contactEmail": "security-atala@iohk.io", + "contactWebsite": "https://iohk.io/", + "verifiableDataRegistry": "The Cardano blockchain" + }, + { + "name": "psi", + "status": "registered", + "verifiableDataRegistry": "LEDGIS", + "contactName": "Police Science Institution", + "contactEmail": "", + "contactWebsite": "https://www.psi.go.kr/", + "specification": "https://github.com/didpsi/psi-DID/blob/main/docs/did:psi-method-spec_eng.md" + }, + { + "name": "psqr", + "status": "registered", + "verifiableDataRegistry": "Public Square", + "contactName": "Christian Gribneau", + "contactEmail": "protocol@vpsqr.com", + "contactWebsite": "https://vpsqr.com", + "specification": "https://vpsqr.com/did-method-psqr/v1/" + }, + { + "name": "ptn", + "status": "registered", + "verifiableDataRegistry": "PalletOne", + "contactName": "PalletOne", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/palletone/palletone-DID/blob/master/docs/did-method/README.md" + }, + { + "name": "qes", + "status": "registered", + "verifiableDataRegistry": "QES", + "contactName": "IDnow GmbH", + "contactEmail": "sebastian.elfors@idnow.de", + "contactWebsite": "https://www.idnow.io/", + "specification": "https://github.com/idnow/de.idnow.qes.did.method.specification" + }, + { + "name": "qui", + "status": "registered", + "verifiableDataRegistry": "Qui", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-qui-1-0-0.md" + }, + { + "name": "ray", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ray Peng", + "contactEmail": "275400726@qq.com", + "contactWebsite": "", + "specification": "https://github.com/pcrui/did-spec/blob/main/README.md" + }, + { + "name": "real", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Real Items", + "contactEmail": "rocky@realitems.io", + "contactWebsite": "https://realitems.io", + "specification": "https://github.com/realitems/did-real/blob/main/did-real-method-specification.md" + }, + { + "name": "rm", + "status": "registered", + "specification": "https://github.com/realmatterio/RealMatter-DID-Method", + "contactName": "Ming-lam Ng (RealMatter)", + "contactEmail": "mn@realmatter.io", + "contactWebsite": "realmatter.io", + "verifiableDataRegistry": "Real-world Asset Tokenization DID Method" + }, + { + "name": "safe", + "status": "registered", + "verifiableDataRegistry": "Safe", + "contactName": "Safe Ecosystem Foundation", + "contactEmail": "info@safe.global", + "contactWebsite": "https://safe.global", + "specification": "https://cips.ceramic.network/CIPs/cip-101" + }, + { + "name": "san", + "status": "registered", + "verifiableDataRegistry": "SAN Cloudchain", + "contactName": "YLZ Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Baasze/DID-method-specification" + }, + { + "name": "schema", + "status": "registered", + "verifiableDataRegistry": "Multiple storage networks, currently public IPFS and evan.network IPFS", + "contactName": "51nodes GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/51nodes/schema-registry-did-method/blob/master/README.md" + }, + { + "name": "scid", + "status": "registered", + "verifiableDataRegistry": "StraitsChain", + "contactName": "Lorna", + "contactEmail": "lornayang@straitschain.com", + "contactWebsite": "https://straitschain.com/", + "specification": "https://github.com/StraitsChain/SCID/blob/main/README.md" + }, + { + "name": "self", + "status": "registered", + "specification": "https://github.com/excid-io/did-self", + "contactName": "Nikos Fotiou", + "contactEmail": "fotiou@excid.io", + "contactWebsite": "https://www.excid.io", + "verifiableDataRegistry": "Ledger agnostic" + }, + { + "name": "selfkey", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "SelfKey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/SelfKeyFoundation/selfkey-identity/blob/develop/DIDMethodSpecs.md" + }, + { + "name": "sideos", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "sideos GmbH", + "contactEmail": "", + "contactWebsite": "https://sideos.io", + "specification": "https://github.com/sideos/sideos-did-method" + }, + { + "name": "signor", + "status": "registered", + "verifiableDataRegistry": "Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu", + "contactName": "Cryptonics", + "contactEmail": "", + "contactWebsite": "https://cryptonics.consulting/", + "specification": "https://github.com/cryptonicsconsulting/signor-did-contracts/blob/master/did-method-spec.md" + }, + { + "name": "sirius", + "status": "registered", + "verifiableDataRegistry": "ProximaX Sirius Chain", + "contactName": "ProximaX Singapore Pte. Ltd.", + "contactEmail": "", + "contactWebsite": "https://www.proximax.ltd", + "specification": "https://gitlab.com/proximax-enterprise/siriusid/sirius-id-specs/-/blob/master/docs/did-method-spec.md" + }, + { + "name": "snail", + "status": "registered", + "verifiableDataRegistry": "Penpal network", + "contactName": "Amy Guy, Dmitri Zagidulin", + "contactEmail": "amy@rhiaro.co.uk", + "contactWebsite": "", + "specification": "https://🐌.amy.gy/" + }, + { + "name": "snplab", + "status": "registered", + "specification": "https://github.com/snplab-io/snplab-did-method/blob/main/snplab-did-method-spec.md", + "contactName": "SNPLab Inc.", + "contactEmail": "hellodata@snplab.io", + "contactWebsite": "https://www.snplab.io", + "verifiableDataRegistry": "SNPLab MyD Network" + }, + { + "name": "sol", + "status": "registered", + "verifiableDataRegistry": "Solana", + "contactName": "Identity.com", + "contactEmail": "contact@identity.org", + "contactWebsite": "https://identity.com/contact-us", + "specification": "https://g.identity.com/sol-did/" + }, + { + "name": "sov", + "status": "registered", + "verifiableDataRegistry": "Sovrin", + "contactName": "Mike Lodder", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html" + }, + { + "name": "ssb", + "status": "registered", + "verifiableDataRegistry": "Secure Scuttlebutt", + "contactName": "Charles E. Lehner", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://viewer.scuttlebot.io/&5Bne/slGKH/i1361qemVlNBElWInSUfntlWvMXaD4M4=.sha256?hl=zQmdh4Ya6WasmjnS4UMn5ot6k5tbCypy1oyhhdJ6yB6MjfT" + }, + { + "name": "ssw", + "status": "registered", + "verifiableDataRegistry": "Initial Network", + "contactName": "SK telecom", + "contactEmail": "", + "contactWebsite": "https://www.sktelecom.com/index_en.html", + "specification": "https://sktston.github.io/ssw-did/did-method-spec.html" + }, + { + "name": "stack", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Jude Nelson", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/blockstack/blockstack-core/blob/stacks-1.0/docs/blockstack-did-spec.md" + }, + { + "name": "tangle", + "status": "registered", + "verifiableDataRegistry": "IOTA Tangle", + "contactName": "BiiLabs Co., Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/TangleID/TangleID/blob/develop/did-method-spec.md" + }, + { + "name": "tdid", + "status": "registered", + "verifiableDataRegistry": "FISCO BCOS", + "contactName": "Tencent Technology (Shenzhen) Co.Ltd", + "contactEmail": "shuangclhan@tencent.com", + "contactWebsite": "https://cloud.tencent.com/product/tdid", + "specification": "https://github.com/TencentCloud-Blockchain/TDID-Method-Specification/blob/main/README.md" + }, + { + "name": "ti", + "status": "registered", + "specification": "https://github.com/HTiBRI/TiDID-Method-Specification/blob/main/README.md", + "contactName": "Hunan tianhe Guoyun Technology Co.Ltd", + "contactEmail": "yangangao@tianhecloud.com", + "contactWebsite": "https://tianhecloud.com/", + "verifiableDataRegistry": "TiChain" + }, + { + "name": "tls", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ulrich Gallersdörfer, Kilian Käslin", + "contactEmail": "", + "contactWebsite": "", + "specification": "" + }, + { + "name": "trust", + "status": "registered", + "verifiableDataRegistry": "TrustChain", + "contactName": "TrustCerts GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/trustcerts/did-trust-method/blob/main/README.md" + }, + { + "name": "trustbloc", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "SecureKey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/trustbloc/trustbloc-did-method/blob/master/docs/spec/trustbloc-did-method.md" + }, + { + "name": "trx", + "status": "registered", + "verifiableDataRegistry": "TRON", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-trx/DID-Method-trx.md" + }, + { + "name": "ttm", + "status": "registered", + "verifiableDataRegistry": "TMChain", + "contactName": "Token.TM", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/TokenTM/TM-DID/blob/master/docs/en/DID_spec.md" + }, + { + "name": "twit", + "status": "registered", + "verifiableDataRegistry": "Twit", + "contactName": "DID Twit GitHub", + "contactEmail": "", + "contactWebsite": "https://github.com/did-twit/did-twit/blob/master/spec/index.md", + "specification": "https://did-twit.github.io/did-twit/" + }, + { + "name": "tyron", + "status": "registered", + "verifiableDataRegistry": "Zilliqa", + "contactName": "Julio Cabrapan Duarte", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://www.tyronzil.com" + }, + { + "name": "tys", + "status": "registered", + "verifiableDataRegistry": "DID Specification", + "contactName": "Chainyard", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/chainyard-tys/tys/blob/master/README.md" + }, + { + "name": "tz", + "status": "registered", + "verifiableDataRegistry": "Tezos", + "contactName": "Spruce Systems, Inc.", + "contactEmail": "", + "contactWebsite": "https://spruceid.com", + "specification": "https://did-tezos.spruceid.com" + }, + { + "name": "unik", + "status": "registered", + "verifiableDataRegistry": "uns.network", + "contactName": "Space Elephant SAS", + "contactEmail": "", + "contactWebsite": "https://www.spacelephant.org/", + "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-unik/UNIK-DID-Specification.md" + }, + { + "name": "unisot", + "status": "registered", + "verifiableDataRegistry": "Bitcoin SV", + "contactName": "UNISOT AS", + "contactEmail": "", + "contactWebsite": "https://www.unisot.com", + "specification": "https://gitlab.com/unisot-did/unisot-did-method-specification" + }, + { + "name": "uns", + "status": "registered", + "verifiableDataRegistry": "uns.network", + "contactName": "Space Elephant SAS", + "contactEmail": "", + "contactWebsite": "https://www.spacelephant.org/", + "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-uns/UNS-DID-Specification.md" + }, + { + "name": "uport", + "status": "deprecated", + "verifiableDataRegistry": "Ethereum", + "contactName": "uPort", + "contactEmail": "", + "contactWebsite": "", + "specification": "" + }, + { + "name": "v1", + "status": "registered", + "verifiableDataRegistry": "Veres One DLT", + "contactName": "Veres One Maintainer (Digital Bazaar)", + "contactEmail": "maintainer@veres.one", + "contactWebsite": "https://veres.one/", + "specification": "https://w3c-ccg.github.io/did-method-v1/" + }, + { + "name": "vaa", + "status": "registered", + "verifiableDataRegistry": "bif", + "contactName": "China Academy of Information and Communications Technology (CAICT)", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/caict-develop-zhangbo/vaa-method/blob/master/README.md" + }, + { + "name": "vaultie", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Vaultie Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/vaultie/vaultie-did-method/blob/master/vaultie-did-method-specification.md" + }, + { + "name": "vertu", + "status": "registered", + "verifiableDataRegistry": "VERTU", + "contactName": "V2", + "contactEmail": "bigui.yin@vertu.com", + "contactWebsite": "", + "specification": "http://did.vertu.com/spec/" + }, + { + "name": "vid", + "status": "registered", + "verifiableDataRegistry": "VP", + "contactName": "VP Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/vpayment/did-method-spec/blob/master/vid.md" + }, + { + "name": "vivid", + "status": "registered", + "verifiableDataRegistry": "NEO2, NEO3, Zilliqa", + "contactName": "Vivid", + "contactEmail": "", + "contactWebsite": "https://getviv.id/", + "specification": "https://github.com/Moonlight-io/specs/blob/master/did-method-spec.md" + }, + { + "name": "vtid", + "status": "registered", + "verifiableDataRegistry": "", + "contactName": "JianKong", + "contactEmail": "806916678@qq.com", + "contactWebsite": "", + "specification": "http://my-did.vertu.com/spec/" + }, + { + "name": "vvo", + "status": "registered", + "verifiableDataRegistry": "Vivvo", + "contactName": "Vivvo Application Studios", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://vivvo.github.io/vivvo-did-scheme/spec/did-method-spec-template.html" + }, + { + "name": "web", + "status": "registered", + "verifiableDataRegistry": "Web", + "contactName": "Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/w3c-ccg/did-method-web" + }, + { + "name": "web7", + "status": "registered", + "verifiableDataRegistry": "Web 7.0 Foundation", + "contactName": "Web 7.0 Foundation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/Web7Foundation/Specifications/blob/main/methods/did-web7-1-0-1.md" + }, + { + "name": "webs", + "status": "registered", + "specification": "https://trustoverip.github.io/tswg-did-method-webs-specification/", + "contactName": "Trust over IP (ToIP) DID Method webs Task Force", + "contactEmail": "technology-stack-wg@lists.trustoverip.org", + "contactWebsite": "https://wiki.trustoverip.org/display/HOME/DID+Method+webs+Task+Force", + "verifiableDataRegistry": "Web, and Key Event Receipt Infrastructure (KERI)" + }, + { + "name": "wlk", + "status": "registered", + "verifiableDataRegistry": "Weelink Network", + "contactName": "Weelink", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://weelink-team.github.io/weelink/DIDDesignEn" + }, + { + "name": "work", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "Workday, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://workday.github.io/work-did-method-spec/" + }, + { + "name": "yourd", + "status": "registered", + "verifiableDataRegistry": "YourD compatible chains", + "contactName": "YourD", + "contactEmail": "", + "contactWebsite": "https://www.yourd.xyz/", + "specification": "https://github.com/DataSovereignty-YourD/YourD-did-sepcification" + }, + { + "name": "zk", + "status": "registered", + "verifiableDataRegistry": "Arweave", + "contactName": "zCloak Network Research", + "contactEmail": "info@zcloak.network", + "contactWebsite": "https://zcloak.network/#/", + "specification": "https://github.com/zCloak-Network/zk-did-method-specs" + }, + { + "name": "zkme", + "status": "registered", + "verifiableDataRegistry": "EVM compatible chains. Primary on Polygon", + "contactName": "zkMe", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/zkMeLabs/zkme-did-method-spec" + } +] \ No newline at end of file diff --git a/methods/indy.json b/methods/indy.json new file mode 100644 index 00000000..dded525f --- /dev/null +++ b/methods/indy.json @@ -0,0 +1,9 @@ +{ + "name": "indy", + "status": "registered", + "verifiableDataRegistry": "Any Hyperledger Indy Ledger", + "contactName": "Stephen Curran", + "contactEmail": "swcurran@cloudcompass.ca", + "contactWebsite": "", + "specification": "https://hyperledger.github.io/indy-did-method/" +} diff --git a/methods/infra.json b/methods/infra.json new file mode 100644 index 00000000..e2fa0d12 --- /dev/null +++ b/methods/infra.json @@ -0,0 +1,9 @@ +{ + "name": "infra", + "status": "registered", + "verifiableDataRegistry": "InfraBlockchain", + "contactName": "Blockchain Labs", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/InfraBlockchain/infra-did-method-specs/blob/main/docs/Infra-DID-method-spec.md" +} \ No newline at end of file diff --git a/methods/io.json b/methods/io.json new file mode 100644 index 00000000..3a9edf6a --- /dev/null +++ b/methods/io.json @@ -0,0 +1,9 @@ +{ + "name": "io", + "status": "registered", + "verifiableDataRegistry": "IoTeX", + "contactName": "IoTeX Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/iotexproject/iotex-did/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/ion.json b/methods/ion.json new file mode 100644 index 00000000..b4b4868b --- /dev/null +++ b/methods/ion.json @@ -0,0 +1,9 @@ +{ + "name": "ion", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Various DIF contributors", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/decentralized-identity/ion-did-method" +} \ No newline at end of file diff --git a/methods/iota.json b/methods/iota.json new file mode 100644 index 00000000..119914ef --- /dev/null +++ b/methods/iota.json @@ -0,0 +1,9 @@ +{ + "name": "iota", + "status": "registered", + "verifiableDataRegistry": "IOTA", + "contactName": "IOTA Foundation", + "contactEmail": "", + "contactWebsite": "https://iota.org", + "specification": "https://wiki.iota.org/identity.rs/specs/did/iota_did_method_spec" +} \ No newline at end of file diff --git a/methods/ipid.json b/methods/ipid.json new file mode 100644 index 00000000..26024c46 --- /dev/null +++ b/methods/ipid.json @@ -0,0 +1,9 @@ +{ + "name": "ipid", + "status": "registered", + "verifiableDataRegistry": "IPFS", + "contactName": "TranSendX", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did-ipid.github.io/ipid-did-method/" +} \ No newline at end of file diff --git a/methods/is.json b/methods/is.json new file mode 100644 index 00000000..0fcebb2a --- /dev/null +++ b/methods/is.json @@ -0,0 +1,9 @@ +{ + "name": "is", + "status": "registered", + "verifiableDataRegistry": "Blockcore", + "contactName": "Blockcore", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/block-core/blockcore-did-method" +} \ No newline at end of file diff --git a/methods/iscc.json b/methods/iscc.json new file mode 100644 index 00000000..a0e030ef --- /dev/null +++ b/methods/iscc.json @@ -0,0 +1,9 @@ +{ + "name": "iscc", + "status": "registered", + "verifiableDataRegistry": "Public Blockchains", + "contactName": "ISCC Foundation", + "contactEmail": "tp@iscc.foundation", + "contactWebsite": "https://iscc.foundation", + "specification": "https://ieps.iscc.codes/iep-0015/" +} diff --git a/methods/iwt.json b/methods/iwt.json new file mode 100644 index 00000000..dcc470c4 --- /dev/null +++ b/methods/iwt.json @@ -0,0 +1,9 @@ +{ + "name": "iwt", + "status": "registered", + "verifiableDataRegistry": "InfoWallet", + "contactName": "Raonsecure", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/infowallet/did_method/blob/master/did_method.md" +} \ No newline at end of file diff --git a/methods/jlinc.json b/methods/jlinc.json new file mode 100644 index 00000000..43649ca3 --- /dev/null +++ b/methods/jlinc.json @@ -0,0 +1,9 @@ +{ + "name": "jlinc", + "status": "registered", + "verifiableDataRegistry": "JLINC Protocol", + "contactName": "Victor Grey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://did-spec.jlinc.org/" +} \ No newline at end of file diff --git a/methods/jnctn.json b/methods/jnctn.json new file mode 100644 index 00000000..0d327bd5 --- /dev/null +++ b/methods/jnctn.json @@ -0,0 +1,9 @@ +{ + "name": "jnctn", + "status": "registered", + "verifiableDataRegistry": "Jnctn Network", + "contactName": "Jnctn Limited", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/jnctn/did-method-spec/" +} \ No newline at end of file diff --git a/methods/jolo.json b/methods/jolo.json new file mode 100644 index 00000000..c930d9cc --- /dev/null +++ b/methods/jolo.json @@ -0,0 +1,9 @@ +{ + "name": "jolo", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Jolocom", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/jolocom/jolo-did-method/blob/master/jolocom-did-method-specification.md" +} \ No newline at end of file diff --git a/methods/jwk.json b/methods/jwk.json new file mode 100644 index 00000000..e120de56 --- /dev/null +++ b/methods/jwk.json @@ -0,0 +1,9 @@ +{ + "name": "jwk", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Jeremie Miller", + "contactEmail": "jeremie.miller@gmail.com", + "contactWebsite": "", + "specification": "https://github.com/quartzjer/did-jwk" +} \ No newline at end of file diff --git a/methods/kaname.json b/methods/kaname.json new file mode 100644 index 00000000..3b2a065b --- /dev/null +++ b/methods/kaname.json @@ -0,0 +1,9 @@ +{ + "name": "kaname", + "status": "registered", + "specification": "https://github.com/KanameProtocol/did-kaname-spec/blob/main/README.md", + "contactName": "", + "contactEmail": "", + "contactWebsite": "https://kaname.io/", + "verifiableDataRegistry": "Any EVM Compatible Blockchains" +} diff --git a/methods/kdid.json b/methods/kdid.json new file mode 100644 index 00000000..72972d7c --- /dev/null +++ b/methods/kdid.json @@ -0,0 +1,9 @@ +{ + "name": "kdid", + "status": "registered", + "specification": "https://github.com/KingdomFintechBJ-BC/kdid/blob/main/doc/en/kdid.md", + "contactName": "KINGDOM FINTECH(BEIJING)CO,LTD.", + "contactEmail": "quklsyb@szkingdom.com", + "contactWebsite": "", + "verifiableDataRegistry": "FISCO BCOS" +} diff --git a/methods/keri.json b/methods/keri.json new file mode 100644 index 00000000..7279308a --- /dev/null +++ b/methods/keri.json @@ -0,0 +1,9 @@ +{ + "name": "keri", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Dr. Sam Smith, Charles Cunningham, Phil Feairheller", + "contactEmail": "pfeairheller@gmail.com", + "contactWebsite": "", + "specification": "https://weboftrust.github.io/did-keri/" +} \ No newline at end of file diff --git a/methods/key.json b/methods/key.json new file mode 100644 index 00000000..d3ae479a --- /dev/null +++ b/methods/key.json @@ -0,0 +1,9 @@ +{ + "name": "key", + "status": "registered", + "verifiableDataRegistry": "Ledger-independent DID method based on public/private key pairs", + "contactName": "Rick Astley (thank you for your inspiration), Manu Sporny, Dmitri Zagidulin, Dave Longley, Orie Steele", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://w3c-ccg.github.io/did-method-key/" +} \ No newline at end of file diff --git a/methods/kilt.json b/methods/kilt.json new file mode 100644 index 00000000..f1f39097 --- /dev/null +++ b/methods/kilt.json @@ -0,0 +1,9 @@ +{ + "name": "kilt", + "status": "registered", + "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/did-spec.md", + "contactEmail": "devs@kilt.io", + "contactName": "BOTLabs GmbH", + "contactWebsite": "https://www.kilt.io/", + "verifiableDataRegistry": "KILT Blockchain" +} \ No newline at end of file diff --git a/methods/klay.json b/methods/klay.json new file mode 100644 index 00000000..77da1ca7 --- /dev/null +++ b/methods/klay.json @@ -0,0 +1,9 @@ +{ + "name": "klay", + "status": "registered", + "verifiableDataRegistry": "Klaytn", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-klay/DID-Method-klay.md" +} \ No newline at end of file diff --git a/methods/knox.json b/methods/knox.json new file mode 100644 index 00000000..b017575f --- /dev/null +++ b/methods/knox.json @@ -0,0 +1,9 @@ +{ + "name": "knox", + "status": "registered", + "verifiableDataRegistry": "Knox Networks", + "contactName": "Francis Kim", + "contactEmail": "developers@knox-networks.com", + "contactWebsite": "https://www.knox-networks.com/", + "specification": "https://github.com/knox-networks/knox-did-specification" + } diff --git a/methods/kr.json b/methods/kr.json new file mode 100644 index 00000000..56ca3be3 --- /dev/null +++ b/methods/kr.json @@ -0,0 +1,9 @@ +{ + "name": "kr", + "status": "registered", + "verifiableDataRegistry": "Korea Mobile Identity System", + "contactName": "Ministry of the Interior and Safety, korea", + "contactEmail": "", + "contactWebsite": "https://github.com/identify202020/did-method/blob/main/did_author.md", + "specification": "https://github.com/identify202020/did-method/blob/main/did_kr_method.md" +} \ No newline at end of file diff --git a/methods/kscirc.json b/methods/kscirc.json new file mode 100644 index 00000000..9d126db0 --- /dev/null +++ b/methods/kscirc.json @@ -0,0 +1,9 @@ +{ + "name": "kscirc", + "status": "registered", + "specification": "https://tangy-gallium-b9b.notion.site/DID-Method-Specification-KSChain-7a77664f1eae47769692f4ff2d029fe0", + "contactName": "K4-Security", + "contactEmail": "", + "contactWebsite": "http://www.k4-security.com/", + "verifiableDataRegistry": "KSChain Blockchain" +} \ No newline at end of file diff --git a/methods/lac.json b/methods/lac.json new file mode 100644 index 00000000..8ccdb6f4 --- /dev/null +++ b/methods/lac.json @@ -0,0 +1,9 @@ +{ + "name": "lac", + "status": "registered", + "verifiableDataRegistry": "LACChain Network", + "contactName": "LACChain Alliance", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/lacchain/lacchain-did-registry/blob/master/DID_SPEC.md" +} \ No newline at end of file diff --git a/methods/life.json b/methods/life.json new file mode 100644 index 00000000..406f1f23 --- /dev/null +++ b/methods/life.json @@ -0,0 +1,9 @@ +{ + "name": "life", + "status": "registered", + "verifiableDataRegistry": "RChain", + "contactName": "lifeID Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://lifeid.github.io/did-method-spec/" +} \ No newline at end of file diff --git a/methods/lisk.json b/methods/lisk.json new file mode 100644 index 00000000..edda5f9a --- /dev/null +++ b/methods/lisk.json @@ -0,0 +1,9 @@ +{ + "name": "lisk", + "status": "registered", + "verifiableDataRegistry": "Lisk Sidechain", + "contactName": "Aldo Suhartono Putra", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/aldhosutra/lisk-did/blob/main/packages/lisk-did-module/docs/did-method-spec.md" +} diff --git a/methods/lit.json b/methods/lit.json new file mode 100644 index 00000000..e607fb91 --- /dev/null +++ b/methods/lit.json @@ -0,0 +1,9 @@ +{ + "name": "lit", + "status": "registered", + "verifiableDataRegistry": "LEDGIS", + "contactName": "IBCT", + "contactEmail": "", + "contactWebsite": "http://en.ibct.kr", + "specification": "https://github.com/ibct-dev/lit-DID/blob/main/docs/did:lit-method-spec_eng_v0.1.0.md" +} \ No newline at end of file diff --git a/methods/meme.json b/methods/meme.json new file mode 100644 index 00000000..304e27a4 --- /dev/null +++ b/methods/meme.json @@ -0,0 +1,9 @@ +{ + "name": "meme", + "status": "registered", + "verifiableDataRegistry": "IPFS & DNS & HTTP", + "contactName": "DID Meme Maintainers", + "contactEmail": "orie@or13.io", + "contactWebsite": "https://didme.me/", + "specification": "https://or13.github.io/didme.me/did-method-spec" +} diff --git a/methods/mesh.json b/methods/mesh.json new file mode 100644 index 00000000..67291192 --- /dev/null +++ b/methods/mesh.json @@ -0,0 +1,9 @@ +{ + "name": "mesh", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-mesh-1-0-1.md" +} diff --git a/methods/meta.json b/methods/meta.json new file mode 100644 index 00000000..6fcfe4c7 --- /dev/null +++ b/methods/meta.json @@ -0,0 +1,9 @@ +{ + "name": "meta", + "status": "registered", + "verifiableDataRegistry": "Metadium", + "contactName": "Metadium Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/METADIUM/meta-DID/blob/master/doc/DID-method-metadium.md" +} \ No newline at end of file diff --git a/methods/moac.json b/methods/moac.json new file mode 100644 index 00000000..78cc74e9 --- /dev/null +++ b/methods/moac.json @@ -0,0 +1,9 @@ +{ + "name": "moac", + "status": "registered", + "verifiableDataRegistry": "MOAC", + "contactName": "MOAC Blockchain Tech, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/DavidRicardoWilde/moac-did/blob/master/did-moac-method.md" +} \ No newline at end of file diff --git a/methods/monid.json b/methods/monid.json new file mode 100644 index 00000000..b0cc88b5 --- /dev/null +++ b/methods/monid.json @@ -0,0 +1,9 @@ +{ + "name": "monid", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Min Ju", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://lianxi-tech.github.io/monid/" +} \ No newline at end of file diff --git a/methods/morpheus.json b/methods/morpheus.json new file mode 100644 index 00000000..15f07aaa --- /dev/null +++ b/methods/morpheus.json @@ -0,0 +1,9 @@ +{ + "name": "morpheus", + "status": "registered", + "verifiableDataRegistry": "Hydra", + "contactName": "Internet of People", + "contactEmail": "", + "contactWebsite": "https://iop.global/", + "specification": "https://developer.iop.global/w3c" +} \ No newline at end of file diff --git a/methods/myDiD.json b/methods/myDiD.json new file mode 100644 index 00000000..cf5631c4 --- /dev/null +++ b/methods/myDiD.json @@ -0,0 +1,10 @@ +{ + "name": "myDiD", + "status": "registered", + "specification": "https://github.com/MyDidCom/myDiD_Method", + "contactName": "", + "contactEmail": "contact@mydid.com", + "contactWebsite": "https://mydid.com", + "verifiableDataRegistry": "DID Specification" +} + diff --git a/methods/mydata.json b/methods/mydata.json new file mode 100644 index 00000000..aa6470f4 --- /dev/null +++ b/methods/mydata.json @@ -0,0 +1,9 @@ +{ + "name": "mydata", + "status": "registered", + "verifiableDataRegistry": "iGrant.io", + "contactName": "iGrant.io", + "contactEmail": "", + "contactWebsite": "https://igrant.io/", + "specification": "https://github.com/decentralised-dataexchange/automated-data-agreements/blob/main/docs/did-spec.md" +} \ No newline at end of file diff --git a/methods/near.json b/methods/near.json new file mode 100644 index 00000000..c3823d09 --- /dev/null +++ b/methods/near.json @@ -0,0 +1,9 @@ +{ + "name": "near", + "status": "registered", + "verifiableDataRegistry": "NEAR", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-spec-near/blob/master/NEAR/DID-Method-NEAR.md" +} \ No newline at end of file diff --git a/methods/next.json b/methods/next.json new file mode 100644 index 00000000..f48c8601 --- /dev/null +++ b/methods/next.json @@ -0,0 +1,9 @@ +{ + "name": "next", + "status": "registered", + "verifiableDataRegistry": "Nextme DIDs Network", + "contactName": "Next Labs", + "contactEmail": "did@nextme.one", + "contactWebsite": "https://nextme.one", + "specification": "https://docs.nextme.one/#/DID/NextDID" +} \ No newline at end of file diff --git a/methods/nft.json b/methods/nft.json new file mode 100644 index 00000000..7569afef --- /dev/null +++ b/methods/nft.json @@ -0,0 +1,9 @@ +{ + "name": "nft", + "status": "registered", + "verifiableDataRegistry": "Ceramic Network", + "contactName": "3Box Labs", + "contactEmail": "devs@3box.io", + "contactWebsite": "https://3boxlabs.com/", + "specification": "https://cips.ceramic.network/CIPs/cip-94" +} diff --git a/methods/nuggets.json b/methods/nuggets.json new file mode 100644 index 00000000..a2565f60 --- /dev/null +++ b/methods/nuggets.json @@ -0,0 +1,9 @@ +{ + "name": "nuggets", + "status": "registered", + "verifiableDataRegistry": "Nuggets Network", + "contactName": "Nuggets Ltd", + "contactEmail": "contact@nuggets.life", + "contactWebsite": "https://nuggets.life", + "specification": "https://github.com/NuggetsLtd/nuggets-did-resolver/blob/master/doc/did-methods/did:nuggets.md" +} diff --git a/methods/nuts.json b/methods/nuts.json new file mode 100644 index 00000000..2da70f69 --- /dev/null +++ b/methods/nuts.json @@ -0,0 +1,9 @@ +{ + "name": "nuts", + "status": "registered", + "verifiableDataRegistry": "Nuts network", + "contactName": "Nuts community", + "contactEmail": "w3c-did-core@nuts.nl", + "contactWebsite": "https://nuts.nl", + "specification": "https://nuts-foundation.gitbook.io/drafts/rfc/rfc006-distributed-registry" +} diff --git a/methods/object.json b/methods/object.json new file mode 100644 index 00000000..1b460a49 --- /dev/null +++ b/methods/object.json @@ -0,0 +1,9 @@ +{ + "name": "object", + "status": "registered", + "verifiableDataRegistry": "Trusted Digital Web", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-object-1-5-0.md" +} diff --git a/methods/ockam.json b/methods/ockam.json new file mode 100644 index 00000000..89937c4b --- /dev/null +++ b/methods/ockam.json @@ -0,0 +1,9 @@ +{ + "name": "ockam", + "status": "registered", + "verifiableDataRegistry": "Ockam", + "contactName": "Ockam", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ockam-network/did-method-spec/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/omn.json b/methods/omn.json new file mode 100644 index 00000000..730f7dc9 --- /dev/null +++ b/methods/omn.json @@ -0,0 +1,9 @@ +{ + "name": "omn", + "status": "registered", + "verifiableDataRegistry": "OmniOne", + "contactName": "OmniOne", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/OmniOneID/did_method/blob/master/did_method.md" +} \ No newline at end of file diff --git a/methods/onion.json b/methods/onion.json new file mode 100644 index 00000000..97980436 --- /dev/null +++ b/methods/onion.json @@ -0,0 +1,9 @@ +{ + "name": "onion", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Blockchain Commons", + "contactEmail": "", + "contactWebsite": "https://github.com/BlockchainCommons/did-method-onion", + "specification": "https://blockchaincommons.github.io/did-method-onion/" +} \ No newline at end of file diff --git a/methods/ont.json b/methods/ont.json new file mode 100644 index 00000000..d63110f9 --- /dev/null +++ b/methods/ont.json @@ -0,0 +1,9 @@ +{ + "name": "ont", + "status": "registered", + "verifiableDataRegistry": "Ontology", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontio/ontology-DID/blob/master/docs/en/DID-ONT-method.md" +} \ No newline at end of file diff --git a/methods/op.json b/methods/op.json new file mode 100644 index 00000000..b20de69e --- /dev/null +++ b/methods/op.json @@ -0,0 +1,9 @@ +{ + "name": "op", + "status": "registered", + "verifiableDataRegistry": "Ocean Protocol", + "contactName": "Ocean Protocol", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/oceanprotocol/OEPs/blob/master/7/v0.2/README.md" +} \ No newline at end of file diff --git a/methods/orb.json b/methods/orb.json new file mode 100644 index 00000000..201bbbd9 --- /dev/null +++ b/methods/orb.json @@ -0,0 +1,9 @@ +{ + "name": "orb", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "Avast", + "contactEmail": "troy.ronda@avast.com", + "contactWebsite": "https://avast.com/", + "specification": "https://trustbloc.github.io/did-method-orb/" +} diff --git a/methods/oyd.json b/methods/oyd.json new file mode 100644 index 00000000..ef0cc536 --- /dev/null +++ b/methods/oyd.json @@ -0,0 +1,9 @@ +{ + "name": "oyd", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "OwnYourData.eu", + "contactEmail": "christoph@ownyourdata.eu", + "contactWebsite": "https://ownyourdata.eu/", + "specification": "https://ownyourdata.github.io/oydid/" +} diff --git a/methods/panacea.json b/methods/panacea.json new file mode 100644 index 00000000..cb07dded --- /dev/null +++ b/methods/panacea.json @@ -0,0 +1,9 @@ +{ + "name": "panacea", + "status": "registered", + "verifiableDataRegistry": "Panacea", + "contactName": "MediBloc", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/medibloc/panacea-core/blob/master/docs/did.md" +} \ No newline at end of file diff --git a/methods/peaq.json b/methods/peaq.json new file mode 100644 index 00000000..22903244 --- /dev/null +++ b/methods/peaq.json @@ -0,0 +1,9 @@ +{ + "name": "peaq", + "status": "registered", + "specification": "https://github.com/peaqnetwork/peaq-did-specifications", + "contactEmail": "info@peaq.network", + "contactName": "Peaq Technology GmbH", + "contactWebsite": "https://www.peaq.network", + "verifiableDataRegistry": "peaq Blockchain" + } diff --git a/methods/peer.json b/methods/peer.json new file mode 100644 index 00000000..5cde033f --- /dev/null +++ b/methods/peer.json @@ -0,0 +1,9 @@ +{ + "name": "peer", + "status": "registered", + "verifiableDataRegistry": "peer", + "contactName": "Daniel Hardman", + "contactEmail": "daniel.hardman@gmail.com", + "contactWebsite": "", + "specification": "https://identity.foundation/peer-did-method-spec/index.html" +} \ No newline at end of file diff --git a/methods/pid.json b/methods/pid.json new file mode 100644 index 00000000..afe3e863 --- /dev/null +++ b/methods/pid.json @@ -0,0 +1,9 @@ +{ + "name": "pid", + "status": "registered", + "verifiableDataRegistry": "ProofID Blockchain", + "contactName": "Alvin Reyes", + "contactEmail": "tech@proofid.me", + "contactWebsite": "https://proofid.me", + "specification": "https://github.com/proof-id/pid-did-driver/blob/main/did-method-specification.md" + } \ No newline at end of file diff --git a/methods/pistis.json b/methods/pistis.json new file mode 100644 index 00000000..ed372eb6 --- /dev/null +++ b/methods/pistis.json @@ -0,0 +1,9 @@ +{ + "name": "pistis", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Andrea Taglia, Matteo Sinico", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/uino95/ssi/blob/consensys/dashboard/server/pistis/pistis-did-resolver/README.md" +} \ No newline at end of file diff --git a/methods/pkh.json b/methods/pkh.json new file mode 100644 index 00000000..1e8d3f27 --- /dev/null +++ b/methods/pkh.json @@ -0,0 +1,9 @@ +{ + "name": "pkh", + "status": "registered", + "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-10 keypair expressions", + "contactName": "Wayne Chang, Charles Lehner, Juan Caballero, Joel Thorstensson", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/w3c-ccg/did-pkh/blob/90b28ad3c18d63822a8aab3c752302aa64fc9382/did-pkh-method-draft.md" +} \ No newline at end of file diff --git a/methods/plc.json b/methods/plc.json new file mode 100644 index 00000000..e5b2cc47 --- /dev/null +++ b/methods/plc.json @@ -0,0 +1,9 @@ +{ + "name": "plc", + "status": "registered", + "specification": "https://github.com/bluesky-social/did-method-plc", + "contactName": "Bluesky PBLLC", + "contactEmail": "protocol@blueskyweb.xyz", + "contactWebsite": "https://blueskyweb.xyz/", + "verifiableDataRegistry": "https://plc.directory" +} diff --git a/methods/pml.json b/methods/pml.json new file mode 100644 index 00000000..2397140c --- /dev/null +++ b/methods/pml.json @@ -0,0 +1,9 @@ +{ + "name": "pml", + "status": "registered", + "verifiableDataRegistry": "PML Chain", + "contactName": "Purple Mountain Laboratories", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/PML-ID/pml-did-specs/blob/main/did-method.md" +} \ No newline at end of file diff --git a/methods/polygon.json b/methods/polygon.json new file mode 100644 index 00000000..802a0c6e --- /dev/null +++ b/methods/polygon.json @@ -0,0 +1,9 @@ +{ + "name": "polygon", + "status": "registered", + "verifiableDataRegistry": "Polygon (Previously MATIC)", + "contactName": "AyanWorks, MATIC", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ayanworks/polygon-did-method-spec" +} \ No newline at end of file diff --git a/methods/polygonid.json b/methods/polygonid.json new file mode 100644 index 00000000..483dfa97 --- /dev/null +++ b/methods/polygonid.json @@ -0,0 +1,9 @@ +{ + "name": "polygonid", + "status": "registered", + "verifiableDataRegistry": "EVM compatible chains. Primary on Polygon", + "contactName": "0xPolygonID", + "contactEmail": "", + "contactWebsite": "https://polygon.technology/polygon-id", + "specification": "https://github.com/0xPolygonID/did-polygonid" +} \ No newline at end of file diff --git a/methods/prism.json b/methods/prism.json new file mode 100644 index 00000000..911c9765 --- /dev/null +++ b/methods/prism.json @@ -0,0 +1,9 @@ +{ + "name": "prism", + "status": "registered", + "specification": "https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md", + "contactName": "Input Output Global Inc (IOG)", + "contactEmail": "security-atala@iohk.io", + "contactWebsite": "https://iohk.io/", + "verifiableDataRegistry": "The Cardano blockchain" +} diff --git a/methods/psi.json b/methods/psi.json new file mode 100644 index 00000000..800721db --- /dev/null +++ b/methods/psi.json @@ -0,0 +1,9 @@ +{ + "name": "psi", + "status": "registered", + "verifiableDataRegistry": "LEDGIS", + "contactName": "Police Science Institution", + "contactEmail": "", + "contactWebsite": "https://www.psi.go.kr/", + "specification": "https://github.com/didpsi/psi-DID/blob/main/docs/did:psi-method-spec_eng.md" +} diff --git a/methods/psqr.json b/methods/psqr.json new file mode 100644 index 00000000..2260a8f2 --- /dev/null +++ b/methods/psqr.json @@ -0,0 +1,9 @@ +{ + "name": "psqr", + "status": "registered", + "verifiableDataRegistry": "Public Square", + "contactName": "Christian Gribneau", + "contactEmail": "protocol@vpsqr.com", + "contactWebsite": "https://vpsqr.com", + "specification": "https://vpsqr.com/did-method-psqr/v1/" +} diff --git a/methods/ptn.json b/methods/ptn.json new file mode 100644 index 00000000..6c3d338f --- /dev/null +++ b/methods/ptn.json @@ -0,0 +1,9 @@ +{ + "name": "ptn", + "status": "registered", + "verifiableDataRegistry": "PalletOne", + "contactName": "PalletOne", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/palletone/palletone-DID/blob/master/docs/did-method/README.md" +} \ No newline at end of file diff --git a/methods/qes.json b/methods/qes.json new file mode 100644 index 00000000..5db5c9a3 --- /dev/null +++ b/methods/qes.json @@ -0,0 +1,9 @@ +{ + "name": "qes", + "status": "registered", + "verifiableDataRegistry": "QES", + "contactName": "IDnow GmbH", + "contactEmail": "sebastian.elfors@idnow.de", + "contactWebsite": "https://www.idnow.io/", + "specification": "https://github.com/idnow/de.idnow.qes.did.method.specification" +} diff --git a/methods/qui.json b/methods/qui.json new file mode 100644 index 00000000..dfdaf6ab --- /dev/null +++ b/methods/qui.json @@ -0,0 +1,9 @@ +{ + "name": "qui", + "status": "registered", + "verifiableDataRegistry": "Qui", + "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-qui-1-0-0.md" +} diff --git a/methods/ray.json b/methods/ray.json new file mode 100644 index 00000000..c05dca18 --- /dev/null +++ b/methods/ray.json @@ -0,0 +1,9 @@ +{ + "name": "ray", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ray Peng", + "contactEmail": "275400726@qq.com", + "contactWebsite": "", + "specification": "https://github.com/pcrui/did-spec/blob/main/README.md" +} diff --git a/methods/real.json b/methods/real.json new file mode 100644 index 00000000..a6891fa9 --- /dev/null +++ b/methods/real.json @@ -0,0 +1,9 @@ +{ + "name": "real", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Real Items", + "contactEmail": "rocky@realitems.io", + "contactWebsite": "https://realitems.io", + "specification": "https://github.com/realitems/did-real/blob/main/did-real-method-specification.md" +} diff --git a/methods/rm.json b/methods/rm.json new file mode 100644 index 00000000..cb7ff023 --- /dev/null +++ b/methods/rm.json @@ -0,0 +1,9 @@ +{ + "name": "rm", + "status": "registered", + "specification": "https://github.com/realmatterio/RealMatter-DID-Method", + "contactName": "Ming-lam Ng (RealMatter)", + "contactEmail": "mn@realmatter.io", + "contactWebsite": "realmatter.io", + "verifiableDataRegistry": "Real-world Asset Tokenization DID Method" +} diff --git a/methods/safe.json b/methods/safe.json new file mode 100644 index 00000000..ec7ad996 --- /dev/null +++ b/methods/safe.json @@ -0,0 +1,9 @@ +{ + "name": "safe", + "status": "registered", + "verifiableDataRegistry": "Safe", + "contactName": "Safe Ecosystem Foundation", + "contactEmail": "info@safe.global", + "contactWebsite": "https://safe.global", + "specification": "https://cips.ceramic.network/CIPs/cip-101" +} diff --git a/methods/san.json b/methods/san.json new file mode 100644 index 00000000..1b12cb9a --- /dev/null +++ b/methods/san.json @@ -0,0 +1,9 @@ +{ + "name": "san", + "status": "registered", + "verifiableDataRegistry": "SAN Cloudchain", + "contactName": "YLZ Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/Baasze/DID-method-specification" +} \ No newline at end of file diff --git a/methods/schema.json b/methods/schema.json new file mode 100644 index 00000000..bd14d803 --- /dev/null +++ b/methods/schema.json @@ -0,0 +1,9 @@ +{ + "name": "schema", + "status": "registered", + "verifiableDataRegistry": "Multiple storage networks, currently public IPFS and evan.network IPFS", + "contactName": "51nodes GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/51nodes/schema-registry-did-method/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/scid.json b/methods/scid.json new file mode 100644 index 00000000..e68e027f --- /dev/null +++ b/methods/scid.json @@ -0,0 +1,9 @@ +{ + "name": "scid", + "status": "registered", + "verifiableDataRegistry": "StraitsChain", + "contactName": "Lorna", + "contactEmail": "lornayang@straitschain.com", + "contactWebsite": "https://straitschain.com/", + "specification": "https://github.com/StraitsChain/SCID/blob/main/README.md" +} diff --git a/methods/self.json b/methods/self.json new file mode 100644 index 00000000..4f0a132f --- /dev/null +++ b/methods/self.json @@ -0,0 +1,9 @@ +{ + "name": "self", + "status": "registered", + "specification": "https://github.com/excid-io/did-self", + "contactName": "Nikos Fotiou", + "contactEmail": "fotiou@excid.io", + "contactWebsite": "https://www.excid.io", + "verifiableDataRegistry": "Ledger agnostic" + } \ No newline at end of file diff --git a/methods/selfkey.json b/methods/selfkey.json new file mode 100644 index 00000000..591d9309 --- /dev/null +++ b/methods/selfkey.json @@ -0,0 +1,9 @@ +{ + "name": "selfkey", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "SelfKey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/SelfKeyFoundation/selfkey-identity/blob/develop/DIDMethodSpecs.md" +} \ No newline at end of file diff --git a/methods/sideos.json b/methods/sideos.json new file mode 100644 index 00000000..43d59271 --- /dev/null +++ b/methods/sideos.json @@ -0,0 +1,9 @@ +{ + "name": "sideos", + "status": "registered", + "verifiableDataRegistry": "Ledger agnostic", + "contactName": "sideos GmbH", + "contactEmail": "", + "contactWebsite": "https://sideos.io", + "specification": "https://github.com/sideos/sideos-did-method" +} \ No newline at end of file diff --git a/methods/signor.json b/methods/signor.json new file mode 100644 index 00000000..88bcdc6f --- /dev/null +++ b/methods/signor.json @@ -0,0 +1,9 @@ +{ + "name": "signor", + "status": "registered", + "verifiableDataRegistry": "Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu", + "contactName": "Cryptonics", + "contactEmail": "", + "contactWebsite": "https://cryptonics.consulting/", + "specification": "https://github.com/cryptonicsconsulting/signor-did-contracts/blob/master/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/sirius.json b/methods/sirius.json new file mode 100644 index 00000000..6e3fba3a --- /dev/null +++ b/methods/sirius.json @@ -0,0 +1,9 @@ +{ + "name": "sirius", + "status": "registered", + "verifiableDataRegistry": "ProximaX Sirius Chain", + "contactName": "ProximaX Singapore Pte. Ltd.", + "contactEmail": "", + "contactWebsite": "https://www.proximax.ltd", + "specification": "https://gitlab.com/proximax-enterprise/siriusid/sirius-id-specs/-/blob/master/docs/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/snail.json b/methods/snail.json new file mode 100644 index 00000000..e3170369 --- /dev/null +++ b/methods/snail.json @@ -0,0 +1,9 @@ +{ + "name": "snail", + "status": "registered", + "verifiableDataRegistry": "Penpal network", + "contactName": "Amy Guy, Dmitri Zagidulin", + "contactEmail": "amy@rhiaro.co.uk", + "contactWebsite": "", + "specification": "https://🐌.amy.gy/" +} \ No newline at end of file diff --git a/methods/snplab.json b/methods/snplab.json new file mode 100644 index 00000000..d34c22c2 --- /dev/null +++ b/methods/snplab.json @@ -0,0 +1,9 @@ +{ + "name": "snplab", + "status": "registered", + "specification": "https://github.com/snplab-io/snplab-did-method/blob/main/snplab-did-method-spec.md", + "contactName": "SNPLab Inc.", + "contactEmail": "hellodata@snplab.io", + "contactWebsite": "https://www.snplab.io", + "verifiableDataRegistry": "SNPLab MyD Network" +} diff --git a/methods/sol.json b/methods/sol.json new file mode 100644 index 00000000..7862feb8 --- /dev/null +++ b/methods/sol.json @@ -0,0 +1,9 @@ +{ + "name": "sol", + "status": "registered", + "verifiableDataRegistry": "Solana", + "contactName": "Identity.com", + "contactEmail": "contact@identity.org", + "contactWebsite": "https://identity.com/contact-us", + "specification": "https://g.identity.com/sol-did/" +} diff --git a/methods/sov.json b/methods/sov.json new file mode 100644 index 00000000..70254b1f --- /dev/null +++ b/methods/sov.json @@ -0,0 +1,9 @@ +{ + "name": "sov", + "status": "registered", + "verifiableDataRegistry": "Sovrin", + "contactName": "Mike Lodder", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html" +} \ No newline at end of file diff --git a/methods/ssb.json b/methods/ssb.json new file mode 100644 index 00000000..86fd1139 --- /dev/null +++ b/methods/ssb.json @@ -0,0 +1,9 @@ +{ + "name": "ssb", + "status": "registered", + "verifiableDataRegistry": "Secure Scuttlebutt", + "contactName": "Charles E. Lehner", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://viewer.scuttlebot.io/&5Bne/slGKH/i1361qemVlNBElWInSUfntlWvMXaD4M4=.sha256?hl=zQmdh4Ya6WasmjnS4UMn5ot6k5tbCypy1oyhhdJ6yB6MjfT" +} \ No newline at end of file diff --git a/methods/ssw.json b/methods/ssw.json new file mode 100644 index 00000000..2f4c2630 --- /dev/null +++ b/methods/ssw.json @@ -0,0 +1,9 @@ +{ + "name": "ssw", + "status": "registered", + "verifiableDataRegistry": "Initial Network", + "contactName": "SK telecom", + "contactEmail": "", + "contactWebsite": "https://www.sktelecom.com/index_en.html", + "specification": "https://sktston.github.io/ssw-did/did-method-spec.html" +} \ No newline at end of file diff --git a/methods/stack.json b/methods/stack.json new file mode 100644 index 00000000..4063490a --- /dev/null +++ b/methods/stack.json @@ -0,0 +1,9 @@ +{ + "name": "stack", + "status": "registered", + "verifiableDataRegistry": "Bitcoin", + "contactName": "Jude Nelson", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/blockstack/blockstack-core/blob/stacks-1.0/docs/blockstack-did-spec.md" +} \ No newline at end of file diff --git a/methods/tangle.json b/methods/tangle.json new file mode 100644 index 00000000..e1c1e484 --- /dev/null +++ b/methods/tangle.json @@ -0,0 +1,9 @@ +{ + "name": "tangle", + "status": "registered", + "verifiableDataRegistry": "IOTA Tangle", + "contactName": "BiiLabs Co., Ltd.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/TangleID/TangleID/blob/develop/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/tdid.json b/methods/tdid.json new file mode 100644 index 00000000..2fa3a436 --- /dev/null +++ b/methods/tdid.json @@ -0,0 +1,9 @@ +{ + "name": "tdid", + "status": "registered", + "verifiableDataRegistry": "FISCO BCOS", + "contactName": "Tencent Technology (Shenzhen) Co.Ltd", + "contactEmail": "shuangclhan@tencent.com", + "contactWebsite": "https://cloud.tencent.com/product/tdid", + "specification": "https://github.com/TencentCloud-Blockchain/TDID-Method-Specification/blob/main/README.md" +} diff --git a/methods/ti.json b/methods/ti.json new file mode 100644 index 00000000..aee5b773 --- /dev/null +++ b/methods/ti.json @@ -0,0 +1,9 @@ +{ + "name": "ti", + "status": "registered", + "specification": "https://github.com/HTiBRI/TiDID-Method-Specification/blob/main/README.md", + "contactName": "Hunan tianhe Guoyun Technology Co.Ltd", + "contactEmail": "yangangao@tianhecloud.com", + "contactWebsite": "https://tianhecloud.com/", + "verifiableDataRegistry": "TiChain" +} diff --git a/methods/tls.json b/methods/tls.json new file mode 100644 index 00000000..0bdee6b3 --- /dev/null +++ b/methods/tls.json @@ -0,0 +1,9 @@ +{ + "name": "tls", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Ulrich Gallersdörfer, Kilian Käslin", + "contactEmail": "", + "contactWebsite": "", + "specification": "" +} \ No newline at end of file diff --git a/methods/trust.json b/methods/trust.json new file mode 100644 index 00000000..b65a8277 --- /dev/null +++ b/methods/trust.json @@ -0,0 +1,9 @@ +{ + "name": "trust", + "status": "registered", + "verifiableDataRegistry": "TrustChain", + "contactName": "TrustCerts GmbH", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/trustcerts/did-trust-method/blob/main/README.md" +} \ No newline at end of file diff --git a/methods/trustbloc.json b/methods/trustbloc.json new file mode 100644 index 00000000..40b48a2a --- /dev/null +++ b/methods/trustbloc.json @@ -0,0 +1,9 @@ +{ + "name": "trustbloc", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "SecureKey", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/trustbloc/trustbloc-did-method/blob/master/docs/spec/trustbloc-did-method.md" +} \ No newline at end of file diff --git a/methods/trx.json b/methods/trx.json new file mode 100644 index 00000000..21299841 --- /dev/null +++ b/methods/trx.json @@ -0,0 +1,9 @@ +{ + "name": "trx", + "status": "registered", + "verifiableDataRegistry": "TRON", + "contactName": "Ontology Foundation", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-trx/DID-Method-trx.md" +} \ No newline at end of file diff --git a/methods/ttm.json b/methods/ttm.json new file mode 100644 index 00000000..44c6e137 --- /dev/null +++ b/methods/ttm.json @@ -0,0 +1,9 @@ +{ + "name": "ttm", + "status": "registered", + "verifiableDataRegistry": "TMChain", + "contactName": "Token.TM", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/TokenTM/TM-DID/blob/master/docs/en/DID_spec.md" +} \ No newline at end of file diff --git a/methods/twit.json b/methods/twit.json new file mode 100644 index 00000000..b61fa62b --- /dev/null +++ b/methods/twit.json @@ -0,0 +1,9 @@ +{ + "name": "twit", + "status": "registered", + "verifiableDataRegistry": "Twit", + "contactName": "DID Twit GitHub", + "contactEmail": "", + "contactWebsite": "https://github.com/did-twit/did-twit/blob/master/spec/index.md", + "specification": "https://did-twit.github.io/did-twit/" +} \ No newline at end of file diff --git a/methods/tyron.json b/methods/tyron.json new file mode 100644 index 00000000..d2dae29c --- /dev/null +++ b/methods/tyron.json @@ -0,0 +1,9 @@ +{ + "name": "tyron", + "status": "registered", + "verifiableDataRegistry": "Zilliqa", + "contactName": "Julio Cabrapan Duarte", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://www.tyronzil.com" +} \ No newline at end of file diff --git a/methods/tys.json b/methods/tys.json new file mode 100644 index 00000000..c8864295 --- /dev/null +++ b/methods/tys.json @@ -0,0 +1,9 @@ +{ + "name": "tys", + "status": "registered", + "verifiableDataRegistry": "DID Specification", + "contactName": "Chainyard", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/chainyard-tys/tys/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/tz.json b/methods/tz.json new file mode 100644 index 00000000..31ff7a9d --- /dev/null +++ b/methods/tz.json @@ -0,0 +1,9 @@ +{ + "name": "tz", + "status": "registered", + "verifiableDataRegistry": "Tezos", + "contactName": "Spruce Systems, Inc.", + "contactEmail": "", + "contactWebsite": "https://spruceid.com", + "specification": "https://did-tezos.spruceid.com" +} \ No newline at end of file diff --git a/methods/unik.json b/methods/unik.json new file mode 100644 index 00000000..349c161f --- /dev/null +++ b/methods/unik.json @@ -0,0 +1,9 @@ +{ + "name": "unik", + "status": "registered", + "verifiableDataRegistry": "uns.network", + "contactName": "Space Elephant SAS", + "contactEmail": "", + "contactWebsite": "https://www.spacelephant.org/", + "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-unik/UNIK-DID-Specification.md" +} \ No newline at end of file diff --git a/methods/unisot.json b/methods/unisot.json new file mode 100644 index 00000000..e895c7d7 --- /dev/null +++ b/methods/unisot.json @@ -0,0 +1,9 @@ +{ + "name": "unisot", + "status": "registered", + "verifiableDataRegistry": "Bitcoin SV", + "contactName": "UNISOT AS", + "contactEmail": "", + "contactWebsite": "https://www.unisot.com", + "specification": "https://gitlab.com/unisot-did/unisot-did-method-specification" +} \ No newline at end of file diff --git a/methods/uns.json b/methods/uns.json new file mode 100644 index 00000000..c7d94f88 --- /dev/null +++ b/methods/uns.json @@ -0,0 +1,9 @@ +{ + "name": "uns", + "status": "registered", + "verifiableDataRegistry": "uns.network", + "contactName": "Space Elephant SAS", + "contactEmail": "", + "contactWebsite": "https://www.spacelephant.org/", + "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-uns/UNS-DID-Specification.md" +} \ No newline at end of file diff --git a/methods/uport.json b/methods/uport.json new file mode 100644 index 00000000..facc1381 --- /dev/null +++ b/methods/uport.json @@ -0,0 +1,9 @@ +{ + "name": "uport", + "status": "deprecated", + "verifiableDataRegistry": "Ethereum", + "contactName": "uPort", + "contactEmail": "", + "contactWebsite": "", + "specification": "" +} \ No newline at end of file diff --git a/methods/v1.json b/methods/v1.json new file mode 100644 index 00000000..1c7edaab --- /dev/null +++ b/methods/v1.json @@ -0,0 +1,9 @@ +{ + "name": "v1", + "status": "registered", + "verifiableDataRegistry": "Veres One DLT", + "contactName": "Veres One Maintainer (Digital Bazaar)", + "contactEmail": "maintainer@veres.one", + "contactWebsite": "https://veres.one/", + "specification": "https://w3c-ccg.github.io/did-method-v1/" +} diff --git a/methods/vaa.json b/methods/vaa.json new file mode 100644 index 00000000..c0a99c36 --- /dev/null +++ b/methods/vaa.json @@ -0,0 +1,9 @@ +{ + "name": "vaa", + "status": "registered", + "verifiableDataRegistry": "bif", + "contactName": "China Academy of Information and Communications Technology (CAICT)", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/caict-develop-zhangbo/vaa-method/blob/master/README.md" +} \ No newline at end of file diff --git a/methods/vaultie.json b/methods/vaultie.json new file mode 100644 index 00000000..9d4538f5 --- /dev/null +++ b/methods/vaultie.json @@ -0,0 +1,9 @@ +{ + "name": "vaultie", + "status": "registered", + "verifiableDataRegistry": "Ethereum", + "contactName": "Vaultie Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/vaultie/vaultie-did-method/blob/master/vaultie-did-method-specification.md" +} \ No newline at end of file diff --git a/methods/vertu.json b/methods/vertu.json new file mode 100644 index 00000000..7b1d62d2 --- /dev/null +++ b/methods/vertu.json @@ -0,0 +1,9 @@ +{ + "name": "vertu", + "status": "registered", + "verifiableDataRegistry": "VERTU", + "contactName": "V2", + "contactEmail": "bigui.yin@vertu.com", + "contactWebsite": "", + "specification": "http://did.vertu.com/spec/" +} diff --git a/methods/vid.json b/methods/vid.json new file mode 100644 index 00000000..397613e2 --- /dev/null +++ b/methods/vid.json @@ -0,0 +1,9 @@ +{ + "name": "vid", + "status": "registered", + "verifiableDataRegistry": "VP", + "contactName": "VP Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/vpayment/did-method-spec/blob/master/vid.md" +} \ No newline at end of file diff --git a/methods/vivid.json b/methods/vivid.json new file mode 100644 index 00000000..a9db6a62 --- /dev/null +++ b/methods/vivid.json @@ -0,0 +1,9 @@ +{ + "name": "vivid", + "status": "registered", + "verifiableDataRegistry": "NEO2, NEO3, Zilliqa", + "contactName": "Vivid", + "contactEmail": "", + "contactWebsite": "https://getviv.id/", + "specification": "https://github.com/Moonlight-io/specs/blob/master/did-method-spec.md" +} \ No newline at end of file diff --git a/methods/vtid.json b/methods/vtid.json new file mode 100644 index 00000000..46f89991 --- /dev/null +++ b/methods/vtid.json @@ -0,0 +1,9 @@ +{ + "name": "vtid", + "status": "registered", + "verifiableDataRegistry": "", + "contactName": "JianKong", + "contactEmail": "806916678@qq.com", + "contactWebsite": "", + "specification": "http://my-did.vertu.com/spec/" +} diff --git a/methods/vvo.json b/methods/vvo.json new file mode 100644 index 00000000..fb0ea0bb --- /dev/null +++ b/methods/vvo.json @@ -0,0 +1,9 @@ +{ + "name": "vvo", + "status": "registered", + "verifiableDataRegistry": "Vivvo", + "contactName": "Vivvo Application Studios", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://vivvo.github.io/vivvo-did-scheme/spec/did-method-spec-template.html" +} \ No newline at end of file diff --git a/methods/web.json b/methods/web.json new file mode 100644 index 00000000..f39d10f2 --- /dev/null +++ b/methods/web.json @@ -0,0 +1,9 @@ +{ + "name": "web", + "status": "registered", + "verifiableDataRegistry": "Web", + "contactName": "Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/w3c-ccg/did-method-web" +} \ No newline at end of file diff --git a/methods/web7.json b/methods/web7.json new file mode 100644 index 00000000..f6d3e9de --- /dev/null +++ b/methods/web7.json @@ -0,0 +1,9 @@ +{ + "name": "web7", + "status": "registered", + "verifiableDataRegistry": "Web 7.0 Foundation", + "contactName": "Web 7.0 Foundation", + "contactEmail": "mwherman@parallelspace.net", + "contactWebsite": "http://hyperonomy.com", + "specification": "https://github.com/Web7Foundation/Specifications/blob/main/methods/did-web7-1-0-1.md" +} diff --git a/methods/webs.json b/methods/webs.json new file mode 100644 index 00000000..4755e2fb --- /dev/null +++ b/methods/webs.json @@ -0,0 +1,9 @@ +{ + "name": "webs", + "status": "registered", + "specification": "https://trustoverip.github.io/tswg-did-method-webs-specification/", + "contactName": "Trust over IP (ToIP) DID Method webs Task Force", + "contactEmail": "technology-stack-wg@lists.trustoverip.org", + "contactWebsite": "https://wiki.trustoverip.org/display/HOME/DID+Method+webs+Task+Force", + "verifiableDataRegistry": "Web, and Key Event Receipt Infrastructure (KERI)" +} diff --git a/methods/wlk.json b/methods/wlk.json new file mode 100644 index 00000000..80ac43c7 --- /dev/null +++ b/methods/wlk.json @@ -0,0 +1,9 @@ +{ + "name": "wlk", + "status": "registered", + "verifiableDataRegistry": "Weelink Network", + "contactName": "Weelink", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://weelink-team.github.io/weelink/DIDDesignEn" +} \ No newline at end of file diff --git a/methods/work.json b/methods/work.json new file mode 100644 index 00000000..448bf214 --- /dev/null +++ b/methods/work.json @@ -0,0 +1,9 @@ +{ + "name": "work", + "status": "registered", + "verifiableDataRegistry": "Hyperledger Fabric", + "contactName": "Workday, Inc.", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://workday.github.io/work-did-method-spec/" +} \ No newline at end of file diff --git a/methods/yourd.json b/methods/yourd.json new file mode 100644 index 00000000..236c44b5 --- /dev/null +++ b/methods/yourd.json @@ -0,0 +1,9 @@ +{ + "name": "yourd", + "status": "registered", + "verifiableDataRegistry": "YourD compatible chains", + "contactName": "YourD", + "contactEmail": "", + "contactWebsite": "https://www.yourd.xyz/", + "specification": "https://github.com/DataSovereignty-YourD/YourD-did-sepcification" +} diff --git a/methods/zk.json b/methods/zk.json new file mode 100644 index 00000000..6f7b6813 --- /dev/null +++ b/methods/zk.json @@ -0,0 +1,9 @@ + { + "name": "zk", + "status": "registered", + "verifiableDataRegistry": "Arweave", + "contactName": "zCloak Network Research", + "contactEmail": "info@zcloak.network", + "contactWebsite": "https://zcloak.network/#/", + "specification": "https://github.com/zCloak-Network/zk-did-method-specs" + } diff --git a/methods/zkme.json b/methods/zkme.json new file mode 100644 index 00000000..160c1bdb --- /dev/null +++ b/methods/zkme.json @@ -0,0 +1,9 @@ +{ + "name": "zkme", + "status": "registered", + "verifiableDataRegistry": "EVM compatible chains. Primary on Polygon", + "contactName": "zkMe", + "contactEmail": "", + "contactWebsite": "", + "specification": "https://github.com/zkMeLabs/zkme-did-method-spec" + } \ No newline at end of file diff --git a/tooling/README.md b/tooling/README.md new file mode 100644 index 00000000..b2386bce --- /dev/null +++ b/tooling/README.md @@ -0,0 +1,27 @@ +## Registry Tooling + +This directory contains command line tooling and support scripts for the did spec registries. + +### Setup Tooling + +``` +npm i +``` + +### Validate DID Methods + +``` +npm run registry:validate +``` + +### Generate DID Methods Registry Index + +This command is run in CI, the index file produced is git ignored. + +This file is used by the Respec build plugin to build the registry + +in client side javascript at page load time. + +``` +npm run registry:generate:index +``` \ No newline at end of file diff --git a/tooling/did-method-registry-entry.yml b/tooling/did-method-registry-entry.yml new file mode 100644 index 00000000..10e02622 --- /dev/null +++ b/tooling/did-method-registry-entry.yml @@ -0,0 +1,53 @@ +--- +title: DID Method Registry Entry +description: This schema defines the shape of did method registrations in the did spec registries +type: object +additionalProperties: false +required: + - name + - status + - specification +properties: + name: + description: https://www.w3.org/TR/did-core/#dfn-did-methods + type: string + maxLength: 512 + status: + description: The status of the entry in the registry + type: string + enum: + - registered + - withdrawn + - deprecated + specification: + description: An active URL that resolves to a human readable did method specification + type: string + maxLength: 512 + contactName: + description: A person or organization which responds to contact requests + type: string + maxLength: 512 + contactEmail: + description: An email to send contact requests + type: string + maxLength: 512 + contactWebsite: + description: An website to send contact requests + type: string + maxLength: 512 + verifiableDataRegistry: + description: https://www.w3.org/TR/did-core/#dfn-verifiable-data-registry + type: string + maxLength: 512 + +example: { + # These fields are required + "name": "key", + "status": "registered", + "specification": "https://w3c-ccg.github.io/did-method-key/", + # These fields are optional + "contactName": "W3C Credentials Community Group", + "contactEmail": "public-credentials@w3.org", + "contactWebsite": "https://w3c-ccg.github.io/", + "verifiableDataRegistry": "None (ephemeral DID Method)" +} diff --git a/tooling/generate-index.js b/tooling/generate-index.js new file mode 100644 index 00000000..cfb25943 --- /dev/null +++ b/tooling/generate-index.js @@ -0,0 +1,41 @@ + +const fs = require('fs'); +const path = require('path'); + +// set directories and paths +const methodsDir = path.join(__dirname, '../methods'); +const indexFile = path.join(methodsDir, 'index.json'); + +// Process all method files and generate an index file +(async () => { + + const allMethods = []; + process.stdout.write('Processing:'); + fs.readdirSync(methodsDir).forEach(filename => { + // skip index file + if(filename === 'index.json') { + return; + } + + const methodFile = path.join(methodsDir, filename); + const methodData = fs.readFileSync(methodFile, 'utf-8'); + process.stdout.write(' ' + filename); + + try { + const methodJson = JSON.parse(methodData); + allMethods.push(methodJson); + } catch(e) { + console.error('\n\n❌ ERROR: Failed to parse', filename, e); + process.exit(1); + } + }); + + if(allMethods.length > 0) { + fs.writeFileSync(indexFile, JSON.stringify(allMethods, null, 2), 'utf-8'); + console.log('\n\nGenerated /methods/index.json.'); + } else { + console.error('\n\n❌ ERROR: No methods found in methods directory'); + process.exit(1); + } + +})(); diff --git a/tooling/package-lock.json b/tooling/package-lock.json new file mode 100644 index 00000000..05febdf5 --- /dev/null +++ b/tooling/package-lock.json @@ -0,0 +1,136 @@ +{ + "name": "did-spec-registries-tooling", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "did-spec-registries-tooling", + "version": "0.0.1", + "license": "W3C", + "dependencies": { + "ajv": "^8.6.3", + "js-yaml": "^4.1.0" + } + }, + "node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + } + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + } + } +} diff --git a/tooling/package.json b/tooling/package.json new file mode 100644 index 00000000..71f00c89 --- /dev/null +++ b/tooling/package.json @@ -0,0 +1,20 @@ +{ + "name": "did-spec-registries-tooling", + "version": "0.0.1", + "description": "DID Spec Registries tooling commands", + "private": true, + "main": "index.js", + "dependencies": { + "ajv": "^8.6.3", + "js-yaml": "^4.1.0" + }, + "scripts": { + "registry:validate": "node ./validate-registry.js", + "registry:generate:index": "node ./generate-index.js" + }, + "author": "Manu Sporny (https://manu.sporny.org/)", + "contributors": [ + "Orie Steele (https://github.com/OR13)" + ], + "license": "W3C" +} diff --git a/tooling/validate-registry.js b/tooling/validate-registry.js new file mode 100644 index 00000000..7ff57320 --- /dev/null +++ b/tooling/validate-registry.js @@ -0,0 +1,56 @@ + +const Ajv = require("ajv") +const yaml = require('js-yaml'); +const fs = require('fs'); +const path = require('path'); +const ajv = new Ajv({ strict: false }); + +const didMethodRegistryDirectory = path.join(__dirname, '../methods'); + +const schema = yaml.load(fs.readFileSync('./did-method-registry-entry.yml', 'utf8')); +const validate = ajv.compile(schema) + +const getAllRegistryEntries = () =>{ + const files = fs.readdirSync(didMethodRegistryDirectory); + const entries = files.filter((file)=>{ + // ignore the index file. + return file !== 'index.json'; + }).map((file) => { + const fileContent = fs.readFileSync(path.join(didMethodRegistryDirectory, file)).toString(); + let didMethod = { + error: 'methods/' + file + }; + try { + didMethod = JSON.parse(fileContent); + } catch(e) { + console.error('❌ Failed to parse DID Method registry entry: ' + + 'methods/' + file); + } + return didMethod; + }).sort((a, b)=>{ + return a.name > b.name ? 1 : -1; + }) + return entries +} + +const validateRegistryEntry = (entry)=>{ + const valid = validate(entry) + if (!valid) { + console.error(entry) + console.error(validate.errors) + } + return valid; +} + +(async ()=>{ + console.log('🧙 validating did method registry'); + const entries = getAllRegistryEntries(); + entries.forEach((entry)=>{ + const valid = validateRegistryEntry(entry) + if (!valid){ + console.error('❌ Invalid did method registry entry: ' + JSON.stringify(entry, null, 2)); + process.exit(1); + } + }) + console.log('✅ did method registry is valid'); +})(); diff --git a/vocabs/README.md b/vocabs/README.md new file mode 100644 index 00000000..4016598d --- /dev/null +++ b/vocabs/README.md @@ -0,0 +1,66 @@ +# DID Contexts + +## Terms + +The terms present in the DID Core context (v1) are normatively defined in +the [DID Core Specification](https://www.w3.org/TR/did-core), except for +the following terms, which are defined in [the Security Vocabulary](https://w3id.org/security/) +and maintained here for developer convenience. + +* `publicKey` +* `blockchainAccountId` +* `EcdsaSecp256k1VerificationKey2019` +* `Ed25519Signature2018` +* `Ed25519VerificationKey2018` +* `JsonWebKey2020` +* `JsonWebSignature2020` +* `RsaVerificationKey2018` +* `SchnorrSecp256k1VerificationKey2019` +* `X25519KeyAgreementKey2019` +* `ServiceEndpointProxyService` + +## DID Context Versions + +### Background + +JSON-LD context versioning (and schema versioning in general) is a complex +topic, involving the need to balance security with developer convenience. + +On one end of the spectrum, some use cases require cryptographically bound and +immutable contexts, and will need to enforce immutability at the code level +(for example, by using a content-addressable URL scheme such as the in-progress +[Hashlink](https://tools.ietf.org/html/draft-sporny-hashlink-03) spec, by +forcing the resolution of a given URL to a known hard-coded embedded context, +or any other appropriate mechanism). + +On the opposite end of the spectrum, developers that can tolerate the fact that +the DID context is still changing (in the Credentials Community Group and the +forthcoming DID Working Group), may want a way to just say "I want to use the +latest in-progress `@context`", without constraining the versions. + +And between the two extremes, some developers may want to use strongly versioned +contexts (without necessarily cryptographically binding assurance). + +### Versioning + +The current system for DID context versioning is: + +1. Use `https://www.w3.org/ns/did/v1` as an alias to the latest version of the + spec. Once the DID Working Group work concludes, the final v1 version will be + frozen and made immutable. +2. Use intermediate pre-v1 versioned URLs such as `https://w3id.org/did/v0.11` + if you need to refer to a specific context version. +3. Use additional immutability enforcement mechanisms if your use case requires + it. + +Contexts will be versioned according to a modified Semantic Versioning scheme. + +Before v1.0 (minted at the end of the Working Group process), **all changes to +the context will be marked as BREAKING changes**, by incrementing the minor +`v0.x` version, with no patch component. + +## Changelog + +### v0.11 - `https://w3id.org/did/v0.11` + +Start of changelog diff --git a/vocabs/did-v0.11.jsonld b/vocabs/did-v0.11.jsonld new file mode 100644 index 00000000..7423d72b --- /dev/null +++ b/vocabs/did-v0.11.jsonld @@ -0,0 +1,138 @@ +{ + "@context": { + "@version": 1.1, + "id": "@id", + "type": "@type", + "dc": "http://purl.org/dc/terms/", + "schema": "http://schema.org/", + "sec": "https://w3id.org/security#", + "didv": "https://w3id.org/did#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "EcdsaSecp256k1Signature2019": "sec:EcdsaSecp256k1Signature2019", + "EcdsaSecp256k1VerificationKey2019": "sec:EcdsaSecp256k1VerificationKey2019", + "Ed25519Signature2018": "sec:Ed25519Signature2018", + "Ed25519VerificationKey2018": "sec:Ed25519VerificationKey2018", + "RsaSignature2018": "sec:RsaSignature2018", + "RsaVerificationKey2018": "sec:RsaVerificationKey2018", + "X25519KeyAgreementKey2019": "sec:X25519KeyAgreementKey2019", + "SchnorrSecp256k1Signature2019": "sec:SchnorrSecp256k1Signature2019", + "SchnorrSecp256k1VerificationKey2019": "sec:SchnorrSecp256k1VerificationKey2019", + "ServiceEndpointProxyService": "didv:ServiceEndpointProxyService", + "allowedAction": "sec:allowedAction", + "assertionMethod": { + "@id": "sec:assertionMethod", + "@type": "@id", + "@container": "@set" + }, + "authentication": { + "@id": "sec:authenticationMethod", + "@type": "@id", + "@container": "@set" + }, + "capability": { + "@id": "sec:capability", + "@type": "@id" + }, + "capabilityAction": "sec:capabilityAction", + "capabilityChain": { + "@id": "sec:capabilityChain", + "@type": "@id", + "@container": "@list" + }, + "capabilityDelegation": { + "@id": "sec:capabilityDelegationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityInvocation": { + "@id": "sec:capabilityInvocationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityStatusList": { + "@id": "sec:capabilityStatusList", + "@type": "@id" + }, + "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm", + "caveat": { + "@id": "sec:caveat", + "@type": "@id", + "@container": "@set" + }, + "challenge": "sec:challenge", + "controller": { + "@id": "sec:controller", + "@type": "@id" + }, + "created": { + "@id": "dc:created", + "@type": "xsd:dateTime" + }, + "creator": { + "@id": "dc:creator", + "@type": "@id" + }, + "delegator": { + "@id": "sec:delegator", + "@type": "@id" + }, + "domain": "sec:domain", + "expirationDate": { + "@id": "sec:expiration", + "@type": "xsd:dateTime" + }, + "invocationTarget": { + "@id": "sec:invocationTarget", + "@type": "@id" + }, + "invoker": { + "@id": "sec:invoker", + "@type": "@id" + }, + "jws": "sec:jws", + "keyAgreement": { + "@id": "sec:keyAgreementMethod", + "@type": "@id", + "@container": "@set" + }, + "nonce": "sec:nonce", + "owner": { + "@id": "sec:owner", + "@type": "@id" + }, + "proof": { + "@id": "sec:proof", + "@type": "@id", + "@container": "@graph" + }, + "proofPurpose": { + "@id": "sec:proofPurpose", + "@type": "@vocab" + }, + "proofValue": "sec:proofValue", + "publicKey": { + "@id": "sec:publicKey", + "@type": "@id", + "@container": "@set" + }, + "publicKeyBase58": "sec:publicKeyBase58", + "publicKeyPem": "sec:publicKeyPem", + "revoked": { + "@id": "sec:revoked", + "@type": "xsd:dateTime" + }, + "service": { + "@id": "didv:service", + "@type": "@id", + "@container": "@set" + }, + "serviceEndpoint": { + "@id": "didv:serviceEndpoint", + "@type": "@id" + }, + "verificationMethod": { + "@id": "sec:verificationMethod", + "@type": "@id" + } + } +} diff --git a/vocabs/v1/context.html b/vocabs/v1/context.html new file mode 100644 index 00000000..992aea0c --- /dev/null +++ b/vocabs/v1/context.html @@ -0,0 +1,147 @@ + + + + +DID Core v1.0 Terms + + + + + + + + +
+

+This document lists the terms used in the DID Core v1.0 data model, and +provides a namespace so each term has an URI. +

+
+ +
+
+ +
+

+Introduction +

+

+The DID Core v1.0 namespace URI is: https://www.w3.org/ns/did#. +

+

+This namespace contains the vocabulary terms used in the DID Core v1.0 data +model [[DID-CORE]], as well as provides a +JSON-LD Context. +

+

+Terms which are extensions to DID Core v1.0 can be found in the DID +Specification Registries [[DID-SPEC-REGISTRIES]]. Extensions have their own +namespaces and JSON-LD Contexts. +

+
+ +
+

+Vocabulary +

+ +

+Terms are listed here in alphabetical order, and link to their definitions in +the DID Core v1.0 specification. +

+ + +
+ + + diff --git a/vocabs/v1/context.jsonld b/vocabs/v1/context.jsonld new file mode 100644 index 00000000..b447d010 --- /dev/null +++ b/vocabs/v1/context.jsonld @@ -0,0 +1,58 @@ +{ + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + + "alsoKnownAs": { + "@id": "https://www.w3.org/ns/activitystreams#alsoKnownAs", + "@type": "@id" + }, + "assertionMethod": { + "@id": "https://w3id.org/security#assertionMethod", + "@type": "@id", + "@container": "@set" + }, + "authentication": { + "@id": "https://w3id.org/security#authenticationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityDelegation": { + "@id": "https://w3id.org/security#capabilityDelegationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityInvocation": { + "@id": "https://w3id.org/security#capabilityInvocationMethod", + "@type": "@id", + "@container": "@set" + }, + "controller": { + "@id": "https://w3id.org/security#controller", + "@type": "@id" + }, + "keyAgreement": { + "@id": "https://w3id.org/security#keyAgreementMethod", + "@type": "@id", + "@container": "@set" + }, + "service": { + "@id": "https://www.w3.org/ns/did#service", + "@type": "@id", + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "serviceEndpoint": { + "@id": "https://www.w3.org/ns/did#serviceEndpoint", + "@type": "@id" + } + } + }, + "verificationMethod": { + "@id": "https://w3id.org/security#verificationMethod", + "@type": "@id" + } + } +} diff --git a/vocabs/v1/readme.md b/vocabs/v1/readme.md new file mode 100644 index 00000000..028d7e84 --- /dev/null +++ b/vocabs/v1/readme.md @@ -0,0 +1,18 @@ +# Machine-readable specification for the DID Core vocabulary + +The folder contains: + +* [RDFS vocabulary definition](https://www.w3.org/TR/rdf11-primer/#section-vocabulary) in [Turtle](./vocab.ttl), [JSON-LD](./vocab.jsonld), and [RDF/XML](./vocab.rdf) formats, as well as a human readable [HTML](./vocab.html) document. +* JSON-Context file + * the core [JSON-LD Context](./context.jsonld); + * a human readable [HTML](./context.html) version of the context file. +* RDF Graph constraints defined using + * the [Shapes Constraint Language (SHACL)](https://www.w3.org/TR/shacl/) in [Turtle](./shacl.ttl) and [JSON-LD](./shacl.jsonld) formats; + * the [Shape Expressions (ShEx)](http://shex.io/shex-primer/) in [ShExC](./shex.shex) format. + + These file patterns are used to set up the redirects and content negotiations from `https://www.w3.org/ns` to the vocabulary, context, and constraint files. + +## Notes + +* SHACL and ShEx are [_alternative_ formats](https://book.validatingrdf.com/bookHtml013.html) to express constraints on an RDF Graph and provide validity checking. +* The [HTML version of the context file](./context.html) is currently not served from `https://www.w3.org/ns` diff --git a/vocabs/v1/shacl.jsonld b/vocabs/v1/shacl.jsonld new file mode 100644 index 00000000..e138098e --- /dev/null +++ b/vocabs/v1/shacl.jsonld @@ -0,0 +1,179 @@ +{ + "@context": { + "path": { + "@id": "http://www.w3.org/ns/shacl#path", + "@type": "@id" + }, + "pattern": { + "@id": "http://www.w3.org/ns/shacl#pattern" + }, + "nodeKind": { + "@id": "http://www.w3.org/ns/shacl#nodeKind", + "@type": "@id" + }, + "datatype": { + "@id": "http://www.w3.org/ns/shacl#datatype", + "@type": "@id" + }, + "maxCount": { + "@id": "http://www.w3.org/ns/shacl#maxCount", + "@type": "http://www.w3.org/2001/XMLSchema#integer" + }, + "minCount": { + "@id": "http://www.w3.org/ns/shacl#minCount", + "@type": "http://www.w3.org/2001/XMLSchema#integer" + }, + "targetObjectsOf": { + "@id": "http://www.w3.org/ns/shacl#targetObjectsOf", + "@type": "@id" + }, + "targetClass": { + "@id": "http://www.w3.org/ns/shacl#targetClass", + "@type": "@id" + }, + "not": { + "@id": "http://www.w3.org/ns/shacl#not", + "@type": "@id" + }, + "property": { + "@id": "http://www.w3.org/ns/shacl#property", + "@type": "@id" + }, + "targetSubjectsOf": { + "@id": "http://www.w3.org/ns/shacl#targetSubjectsOf", + "@type": "@id" + }, + "sec": "https://w3id.org/security#", + "as": "https://www.w3.org/ns/activitystreams#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "sh": "http://www.w3.org/ns/shacl#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "did": "https://www.w3.org/ns/did#" + }, + "@graph": [ + { + "@id": "_:ObjectShape", + "@type": "sh:NodeShape", + "property": [ + { + "nodeKind": "sh:IRI", + "path": "sec:capabilityDelegationMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "sec:verificationMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "sec:authenticationMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "did:capabilityInvocationMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "as:alsoKnownAs" + }, + { + "path": "sec:controller", + "pattern": "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" + }, + { + "nodeKind": "sh:IRI", + "path": "sec:keyAgreementMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "sec:assertionMethod" + }, + { + "nodeKind": "sh:IRI", + "path": "did:service" + } + ], + "targetClass": "did:DIDSubject", + "targetSubjectsOf": [ + "as:alsoKnownAs", + "sec:authenticationMethod", + "did:service", + "sec:capabilityDelegationMethod", + "sec:keyAgreementMethod", + "sec:verificationMethod", + "sec:assertionMethod", + "sec:capabilityInvocationMethod" + ] + }, + { + "@id": "_:VerificationMethodShape", + "@type": "sh:NodeShape", + "not": { + "@id": "_:b5", + "@type": "sh:NodeShape", + "property": [ + { + "sh:minCount": 1, + "path": "sec:publicKeyMultibase" + }, + { + "sh:minCount": 1, + "path": "sec:publicKeyJwk" + } + ] + }, + "property": [ + { + "datatype": "rdf:JSON", + "sh:maxCount": 1, + "nodeKind": "sh:Literal", + "path": "sec:publicKeyJwk" + }, + { + "sh:minCount": 1, + "path": "sec:controller", + "pattern": "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" + }, + { + "sh:minCount": 1, + "nodeKind": "sh:IRI", + "path": "rdf:type" + }, + { + "datatype": "xsd:string", + "sh:maxCount": 1, + "nodeKind": "sh:Literal", + "path": "sec:publicKeyMultibase" + } + ], + "targetClass": "did:VerificationMethod", + "targetObjectsOf": [ + "sec:capabilityInvocationMethod", + "sec:assertionMethod", + "sec:keyAgreementMethod", + "sec:verificationMethod", + "sec:capabilityDelegationMethod", + "sec:authenticationMethod" + ] + }, + { + "@id": "_:ServiceShape", + "@type": "sh:NodeShape", + "property": [ + { + "@id": "_:b3", + "sh:minCount": 1, + "nodeKind": "sh:BlankNodeOrIRI", + "path": "did:serviceEndpoint" + }, + { + "@id": "_:b19", + "sh:minCount": 1, + "nodeKind": "sh:IRI", + "path": "rdf:type" + } + ], + "targetClass": "did:ServiceEndpoint", + "targetObjectsOf": "did:service" + } + ] +} diff --git a/vocabs/v1/shacl.ttl b/vocabs/v1/shacl.ttl new file mode 100644 index 00000000..c02e304c --- /dev/null +++ b/vocabs/v1/shacl.ttl @@ -0,0 +1,126 @@ +# This shape file is hosted at https://www.w3.org/ns/did/v1/shex +# +# You can run this (using https://pypi.org/project/pyshacl/), for example, with: +# pyshacl -s shacl.ttl -e vocab.ttl -f human test.ttl +# + +@prefix did: . +@prefix as: . +@prefix sec: . +@prefix rdf: . +@prefix xsd: . +@prefix sh: . + + +_:ObjectShape a sh:NodeShape ; + # Some properties are valid only on DID Subjects and they will set the right shape + # Note that this is not the case sec:controller (that can also be used on did:VerificationMethod) + + sh:targetClass did:DIDSubject ; + sh:targetSubjectsOf + as:alsoKnownAs, + sec:verificationMethod, + sec:authenticationMethod, + sec:assertionMethod, + sec:keyAgreementMethod, + sec:capabilityDelegationMethod, + sec:capabilityInvocationMethod, + did:service ; + sh:property + [ + sh:path as:alsoKnownAs ; + sh:nodeKind sh:IRI ; + ],[ + sh:path sec:controller ; + sh:pattern "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" ; + ],[ + sh:path sec:verificationMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path sec:authenticationMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path sec:assertionMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path sec:keyAgreementMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path sec:capabilityDelegationMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path did:capabilityInvocationMethod ; + sh:nodeKind sh:IRI ; + ],[ + sh:path did:service ; + sh:nodeKind sh:IRI ; + ]; +. + + +####################################################################################### +# Verification Methods +####################################################################################### + +_:VerificationMethodShape a sh:NodeShape ; + # Generic shape for verification method, putting constraints on the allowed properties + sh:targetClass did:VerificationMethod ; + sh:targetObjectsOf + sec:verificationMethod, + sec:authenticationMethod, + sec:assertionMethod, + sec:keyAgreementMethod, + sec:capabilityDelegationMethod, + sec:capabilityInvocationMethod ; + sh:property + [ + sh:path sec:publicKeyJwk ; + sh:nodeKind sh:Literal ; + sh:datatype rdf:JSON ; + sh:maxCount 1; + ],[ + sh:path sec:publicKeyBase58 ; + sh:nodeKind sh:Literal ; + sh:datatype xsd:string ; + sh:maxCount 1; + ],[ + sh:path sec:controller ; + # A controller must be identified with a DID... + sh:pattern "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" ; + sh:minCount 1 + ],[ + # The type must be identified, ie, there must be at least one 'type' + sh:path rdf:type ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + ]; + sh:not [ + a sh:NodeShape ; + sh:property + [ + sh:path sec:publicKeyMultibase ; + sh:minCount 1 ; + ],[ + sh:path sec:publicKeyJwk ; + sh:minCount 1 ; + ]; + ] ; +. + +####################################################################################### +# Constraint on services +####################################################################################### + +_:ServiceShape a sh:NodeShape ; + sh:targetClass did:ServiceEndpoint ; + sh:targetObjectsOf did:service ; + sh:property [ + sh:path did:serviceEndpoint ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:minCount 1 ; + ],[ + sh:path rdf:type ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + ] ; +. diff --git a/vocabs/v1/shex.shex b/vocabs/v1/shex.shex new file mode 100644 index 00000000..72662796 --- /dev/null +++ b/vocabs/v1/shex.shex @@ -0,0 +1,42 @@ +# This shape expression is hosted at https://www.w3.org/ns/did/v1/shex +# +# You can run this (using https://www.npmjs.com/package/shex/v/0.5.5), for example, with: +# shex -x shex.shex -d test.ttl -n did:ex:12345 -s SubjectShape +# + +# +PREFIX did: +PREFIX rdf: +PREFIX as: +PREFIX sec: + + +# A controller must have a DID as an identifier +_:ControllerShape IRI /^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+/ + +_:VerificationMethodShape IRI { + sec:controller @_:ControllerShape+ ; + rdf:type IRI+ ; + ( sec:publicKeyJwk rdf:JSON {0,1} | sec:publicKeyMultibase LITERAL {0,1} ) {0,1}; +} + +_:ServiceShape IRI { + rdf:type IRI+ ; + # At least one type must to be set, as well at least one service endpoint, whose value can be either a blank node or a URI + (did:serviceEndpoint IRI | did:serviceEndpoint BNode)+; +} + +# A DID document must have a DID as an identifier +# The id is not a blank node, because that is the node referred to from the outside world + IRI /^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+/ { + as:alsoKnownAs IRI* ; + sec:controller @_:ControllerShape* ; + sec:verificationMethod @_:VerificationMethodShape* ; + sec:authenticationMethod @_:VerificationMethodShape* ; + sec:assertionMethod @_:VerificationMethodShape* ; + sec:keyAgreementMethod @_:VerificationMethodShape* ; + sec:capabilityDelegationMethod @_:VerificationMethodShape* ; + sec:capabilityInvocationMethod @_:VerificationMethodShape* ; + did:service @_:ServiceShape* ; +} + diff --git a/vocabs/v1/vocab.html b/vocabs/v1/vocab.html new file mode 100644 index 00000000..ff15a1ec --- /dev/null +++ b/vocabs/v1/vocab.html @@ -0,0 +1,304 @@ + + + + + + DID Core v1.0 Terms + + + + + + + + + + +
+

+ This the namespace document for the Linked Data Vocabulary representation of the DID Core v1.0 data model. +

+
+ +
+
+ +
+

+ Introduction +

+ +

+ This document contains the vocabulary terms defined in the DID Core v1.0 data model [[did-core]]. The following namespaces are used:

+ +
+
DID Core Namespace
+
https://www.w3.org/ns/did#
+
Security Vocabulary Namespace
+
https://w3id.org/security#
+
ActivityStreams 2.0 Terms
+
https://www.w3.org/ns/activitystreams#
+
+ +

+ While the DID Core v1.0 namespace URI is https://www.w3.org/ns/did#, for historical reasons most of the terms are in the https://w3id.org/security# namespace, though defined in the DID Core specification [[did-core]]. These terms do not define any cryptographic primitives and are formally defined in the DID Core specification. Future Working Group may define a formal specification for the complete security vocabulary. +

+

+ Some of the terms, as defined in the DID Core specification [[did-core]], use a slightly different term name as their full URIs. For example, the term https://w3id.org/security#keyAgreementMethod is referred to as keyAgreement in the DID Core specification. The mapping is done, for JSON-LD, by the official JSON-LD Context. For the sake of clarity, section + below references both those terms. +

+ +

+ Extensions to DID Core v1.0 terms can be found in the DID Specification Registries [[did-spec-registries]]. Extensions may be in the https://w3id.org/security# namespace or may have their own namespaces; they have their own JSON-LD Contexts. +

+
+ +
+

Formal Versions of the Vocabulary

+

+ The formal RDF [[rdf11-concepts]] vocabulary, using RDFS [[rdf-schema]] terms, is available in the following formats: +

+ +
+
Turtle:
+
https://www.w3.org/ns/did.ttl
+
JSON-LD:
+
https://www.w3.org/ns/did.jsonld
+
RDF/XML:
+
https://www.w3.org/ns/did.rdf
+
+ +

+ These files can also be accessed using content negotiations on the https://www.w3.org/ns/did URI HTTP request, referring to the text/turtle, application/ld+json, or application/rdf+xml media types, respectively, +

+
+ +
+

+ Vocabulary +

+ +
+

+ Classes +

+

+ Note: the RDFS Classes are not defined in the DID Core v1.0 specification [[did-core]] and are only used by the formal RDFS vocabulary specification. Users of the JSON-LD representation of the DID Data Model are advised not to use + these. +

+ +
+
DIDSubject
+
+
    +
  • URI: https://www.w3.org/ns/did#serviceEndpoint
  • +
+
+
Service
+
+
    +
  • URI: https://www.w3.org/ns/did#Service
  • +
+
+
VerificationMethod
+
+
    +
  • URI: https://www.w3.org/ns/did#VerificationMethod
  • +
+
+
+
+ +
+

Properties

+ +

+ Terms are listed here in alphabetical order, and linked to their definitions in the DID Core v1.0 [[did-core]] specification. +

+ +
+
alsoKnownAs
+
+ +
+ +
assertionMethod
+
+ +
+ +
authenticationMethod, referred to as authentication
+
+ +
+ +
capabilityDelegationMethod, referred to as capabilityDelegation
+
+ +
+ +
capabilityInvocationMethod, referred to as capabilityInvocation
+
+ +
+ +
controller
+
+ +
+ +
keyAgreementMethod, referred to as keyAgreement
+
+ +
+ +
publicKeyMultibase
+
+ +
+ +
publicKeyJwk
+
+ +
+ +
service
+
+ +
+ + +
serviceEndpoint
+
+ +
+ + +
verificationMethod
+
+ +
+ +
+
+
+ +
+

Constraints Definitions

+ +

Although not formally part of the Vocabulary specification, the RDF shape constraints, related to this vocabulary, are also available:

+ +
    +
  • Expressed in SHACL [[shacl]], available in Turtle or JSON-LD formats.
  • +
  • Expressed in ShEx [[shex]], available in shex format.
  • + + +
+ + +
+ + + + diff --git a/vocabs/v1/vocab.jsonld b/vocabs/v1/vocab.jsonld new file mode 100644 index 00000000..b97f6ac5 --- /dev/null +++ b/vocabs/v1/vocab.jsonld @@ -0,0 +1,146 @@ +{ + "@context": { + "domain": { + "@id": "http://www.w3.org/2000/01/rdf-schema#domain", + "@type": "@id" + }, + "range": { + "@id": "http://www.w3.org/2000/01/rdf-schema#range", + "@type": "@id" + }, + "isDefinedBy": { + "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", + "@type": "@id" + }, + "label": { + "@id": "http://www.w3.org/2000/01/rdf-schema#label" + }, + "comment": { + "@id": "http://www.w3.org/2000/01/rdf-schema#comment" + }, + "sec": "https://w3id.org/security#", + "as": "https://www.w3.org/ns/activitystreams#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "owl": "http://www.w3.org/2002/07/owl#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "did": "https://www.w3.org/ns/did#" + }, + "@graph": [ + { + "@id": "https://www.w3.org/ns/did#", + "@type": "owl:Ontology", + "comment": "For historical reasons, most of the terms are in the 'sec:' namespace rather than the 'did:' namespace. These terms do not describe/define any cryptographic primitives and are formally defined in the DID Core specification. Future Working Group may define a formal specification for the complete 'sec:' vocabulary." + }, + { + "@id": "did:DIDSubject", + "@type": "rdfs:Class", + "comment": "Top level class for resources identified via a DID subject", + "isDefinedBy": "https://www.w3.org/TR/did-core/#core-properties", + "label": "DID Document" + }, + { + "@id": "did:Service", + "@type": "rdfs:Class", + "comment": "Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities", + "isDefinedBy": "https://www.w3.org/TR/did-core/#services", + "label": "Service Endpoint" + }, + { + "@id": "did:VerificationMethod", + "@type": "rdfs:Class", + "comment": "Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", + "label": "Verification Method" + }, + { + "@id": "sec:assertionMethod", + "@type": "rdf:Property", + "comment": "The assertionMethod property is used to express a verification relationship which indicates that a verification method can be used to verify a proof that a statement was asserted on behalf of the DID subject.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#assertion", + "range": "did:VerificationMethod" + }, + { + "@id": "sec:authenticationMethod", + "@type": "rdf:Property", + "comment": "Authentication is a verification relationship which an entity can use to prove it is the DID subject or acting on behalf of the DID Subject as a DID Controller.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#authentication", + "range": "did:VerificationMethod" + }, + { + "@id": "sec:capabilityDelegationMethod", + "@type": "rdf:Property", + "comment": "The capabilityDelegation property is used to express a verification relationship which an entity can use to grant capabilities as the DID subject or on behalf of the DID subject to other capability invokers. ", + "isDefinedBy": "https://www.w3.org/TR/did-core/#capability-delegation", + "range": "did:VerificationMethod" + }, + { + "@id": "sec:capabilityInvocationMethod", + "@type": "rdf:Property", + "comment": "The capabilityInvocation property is used to express a verification relationship which an entity can use to invoke capabilities as the DID subject or on behalf of the DID subject.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#capability-invocation", + "range": "did:VerificationMethod" + }, + { + "@id": "sec:controller", + "@type": "rdf:Property", + "comment": "An entity that is authorized to make changes to a DID Document", + "isDefinedBy": "https://www.w3.org/TR/did-core/#control" + }, + { + "@id": "sec:keyAgreementMethod", + "@type": "rdf:Property", + "comment": "The keyAgreement property is used to express a verification relationship which an entity can use to engage in key agreement protocols on behalf of the DID subject.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#key-agreement", + "range": "did:VerificationMethod" + }, + { + "@id": "sec:publicKeyMultibase", + "@type": [ + "rdf:Property", + "owl:DatatypeProperty" + ], + "domain": "did:VerificationMethod", + "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", + "label": "A string that conforms to a multibase encoded public key", + "range": "xsd:string" + }, + { + "@id": "sec:publicKeyJwk", + "@type": [ + "rdf:Property", + "owl:DatatypeProperty" + ], + "domain": "did:VerificationMethod", + "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", + "label": "Public Key in JWK", + "range": "rdf:JSON" + }, + { + "@id": "sec:verificationMethod", + "@type": "rdf:Property", + "comment": "A generic method to refer to a Verification Method", + "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", + "range": "did:VerificationMethod" + }, + { + "@id": "as:alsoKnownAs", + "@type": "rdf:Property", + "comment": "This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers.", + "isDefinedBy": "https://www.w3.org/TR/did-core/#also-known-as" + }, + { + "@id": "did:service", + "@type": "rdf:Property", + "domain": "did:DIDSubject", + "isDefinedBy": "https://www.w3.org/TR/did-core/#services", + "range": "did:Service" + }, + { + "@id": "did:serviceEndpoint", + "@type": "rdf:Property", + "domain": "did:Service", + "isDefinedBy": "https://www.w3.org/TR/did-core/#services" + } + ] +} diff --git a/vocabs/v1/vocab.rdf b/vocabs/v1/vocab.rdf new file mode 100644 index 00000000..64048942 --- /dev/null +++ b/vocabs/v1/vocab.rdf @@ -0,0 +1,101 @@ + + + + + For historical reasons, most of the terms are in the 'security' namespace rather than the 'did' namespace. These terms do not describe/define any cryptographic primitives and are formally defined in the DID Core specification. Future Working Group may define a formal specification for the complete 'sec:' vocabulary. + + + + This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers. + + + + + Authentication is a verification relationship which an entity can use to prove it is the DID subject or acting on behalf of the DID Subject as a DID Controller. + + + + + Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities + + + Service Endpoint + + + + + + + Public Key in JWK + + + + + + + + + + The assertionMethod property is used to express a verification relationship which indicates that a verification method can be used to verify a proof that a statement was asserted on behalf of the DID subject. + + + + + + + The capabilityInvocation property is used to express a verification relationship which an entity can use to invoke capabilities as the DID subject or on behalf of the DID subject. + + + + The keyAgreement property is used to express a verification relationship which an entity can use to engage in key agreement protocols on behalf of the DID subject. + + + + + + + + + + A string that conforms to a multibase encoded public key + + + + + + + + + + + + + The capabilityDelegation property is used to express a verification relationship which an entity can use to grant capabilities as the DID subject or on behalf of the DID subject to other capability invokers. + + + + + Verification Method + Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself. + + + + + + A generic method to refer to a Verification Method + + + + An entity that is authorized to make changes to a DID Document + + + + + DID Document + + Top level class for resources identified via a DID subject + + diff --git a/vocabs/v1/vocab.ttl b/vocabs/v1/vocab.ttl new file mode 100644 index 00000000..67a87829 --- /dev/null +++ b/vocabs/v1/vocab.ttl @@ -0,0 +1,109 @@ +@prefix did: . +@prefix as: . +@prefix sec: . +@prefix rdf: . +@prefix xsd: . +@prefix rdfs: . +@prefix owl: . + +did: a owl:Ontology ; + rdfs:comment "For historical reasons, most of the terms are in the 'sec:' namespace rather than the 'did:' namespace. These terms do not describe/define any cryptographic primitives and are formally defined in the DID Core specification. Future Working Group may define a formal specification for the complete 'sec:' vocabulary." +. + +################################################################# +# Classes +################################################################# + +did:DIDSubject a rdfs:Class ; + rdfs:comment "Top level class for resources identified via a DID subject" ; + rdfs:isDefinedBy ; + rdfs:label "DID Document" ; +. + +did:VerificationMethod a rdfs:Class ; + rdfs:comment "Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself." ; + rdfs:isDefinedBy ; + rdfs:label "Verification Method" ; +. + +did:Service a rdfs:Class ; + rdfs:comment "Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities" ; + rdfs:isDefinedBy ; + rdfs:label "Service Endpoint" ; +. + + +################################################################# +# Properties +################################################################# + +as:alsoKnownAs a rdf:Property ; + rdfs:isDefinedBy ; + rdfs:comment "This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers." ; +. + +sec:controller a rdf:Property ; + rdfs:isDefinedBy ; + rdfs:comment "An entity that is authorized to make changes to a DID Document" ; +. + +sec:verificationMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "A generic method to refer to a Verification Method" ; + rdfs:isDefinedBy ; +. + +sec:authenticationMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "Authentication is a verification relationship which an entity can use to prove it is the DID subject or acting on behalf of the DID Subject as a DID Controller." ; + rdfs:isDefinedBy ; +. + +sec:assertionMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "The assertionMethod property is used to express a verification relationship which indicates that a verification method can be used to verify a proof that a statement was asserted on behalf of the DID subject." ; + rdfs:isDefinedBy ; +. + +sec:keyAgreementMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "The keyAgreement property is used to express a verification relationship which an entity can use to engage in key agreement protocols on behalf of the DID subject." ; + rdfs:isDefinedBy ; +. + +sec:capabilityDelegationMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "The capabilityDelegation property is used to express a verification relationship which an entity can use to grant capabilities as the DID subject or on behalf of the DID subject to other capability invokers. " ; + rdfs:isDefinedBy ; +. + +sec:capabilityInvocationMethod a rdf:Property ; + rdfs:range did:VerificationMethod ; + rdfs:comment "The capabilityInvocation property is used to express a verification relationship which an entity can use to invoke capabilities as the DID subject or on behalf of the DID subject." ; + rdfs:isDefinedBy ; +. + +sec:publicKeyJwk a rdf:Property, owl:DatatypeProperty ; + rdfs:domain did:VerificationMethod ; + rdfs:range rdf:JSON ; + rdfs:isDefinedBy ; + rdfs:label "Public Key in JWK" ; +. + +sec:publicKeyMultibase a rdf:Property, owl:DatatypeProperty ; + rdfs:domain did:VerificationMethod ; + rdfs:range xsd:string ; + rdfs:isDefinedBy ; + rdfs:label "A string that conforms to a multibase encoded public key" ; +. + +did:service a rdf:Property ; + rdfs:domain did:DIDSubject ; + rdfs:range did:Service ; + rdfs:isDefinedBy ; +. + +did:serviceEndpoint a rdf:Property ; + rdfs:domain did:Service ; + rdfs:isDefinedBy ; +. diff --git a/w3c.json b/w3c.json new file mode 100644 index 00000000..da28d899 --- /dev/null +++ b/w3c.json @@ -0,0 +1,6 @@ +{ + "group": [117488], + "contacts": ["iherman"], + "repo-type": "note", + "shortName": "did-spec-registries" +}