├── .pr-preview.json ├── w3c.json ├── .gitignore ├── LICENSE.md ├── methods ├── dom.json ├── uport.json ├── tls.json ├── ccp.json ├── ipid.json ├── jlinc.json ├── monid.json ├── tyron.json ├── abt.json ├── is.json ├── life.json ├── bid.json ├── dht.json ├── jnctn.json ├── san.json ├── tz.json ├── vid.json ├── vtid.json ├── wlk.json ├── snail.json ├── hpass.json ├── io.json ├── omn.json ├── ttm.json ├── work.json ├── ion.json ├── iwt.json ├── jlinx.json ├── morpheus.json ├── ockam.json ├── panacea.json ├── tys.json ├── vertu.json ├── btcr.json ├── did.json ├── eosio.json ├── icon.json ├── jwk.json ├── op.json ├── sideos.json ├── web.json ├── cot.json ├── dotbit.json ├── dyne.json ├── ptn.json ├── sov.json ├── trust.json ├── bit.json ├── ens.json ├── iamx.json ├── iota.json ├── next.json ├── ont.json ├── peer.json ├── pml.json ├── polygon.json ├── ray.json ├── 3.json ├── amo.json ├── dual.json ├── emtrust.json ├── example.json ├── factom.json ├── jolo.json ├── lac.json ├── meta.json ├── moac.json ├── near.json ├── selfkey.json ├── unisot.json ├── vvo.json ├── cr.json ├── elem.json ├── ethr.json ├── gns.json ├── grg.json ├── holo.json ├── hsk.json ├── lit.json ├── nft.json ├── stack.json ├── trx.json ├── antelope.json ├── bee.json ├── celo.json ├── com.json ├── ct.json ├── etho.json ├── hpo.json ├── klay.json ├── orb.json ├── sol.json ├── ssw.json ├── tangle.json ├── vivid.json ├── bryk.json ├── dns.json ├── iden3.json ├── safe.json ├── twit.json ├── valyu.json ├── vaultie.json ├── zkme.json ├── bnb.json ├── content.json ├── dweb.json ├── evan.json ├── future.json ├── gatc.json ├── grn.json ├── indy.json ├── iscc.json ├── keri.json ├── oyd.json ├── self.json ├── bba.json ├── btco.json ├── cosmos.json ├── dock.json ├── dsrv.json ├── meme.json ├── myDiD.json ├── yourd.json ├── echo.json ├── kaname.json ├── kilt.json ├── psqr.json ├── qes.json ├── trustbloc.json ├── art.json ├── bsv.json ├── gwm.json ├── hedera.json ├── mydata.json ├── onion.json ├── pistis.json ├── plc.json ├── scid.json ├── v1.json ├── vaa.json ├── ala.json ├── elastos.json ├── id.json ├── itn.json ├── kdid.json ├── psi.json ├── theseries.json ├── aergo.json ├── fox.json ├── nostr.json ├── nuts.json ├── polygonid.json ├── real.json ├── cheqd.json ├── fairx.json ├── ldid.json ├── pid.json ├── ev.json ├── peaq.json ├── rm.json ├── schema.json ├── health.json ├── hid.json ├── iid.json ├── m2m.json ├── ccd.json ├── corda.json ├── knox.json ├── ling.json ├── snplab.json ├── ssb.json ├── zk.json ├── erat.json ├── ibmdc.json ├── infra.json ├── ccf.json ├── dxd.json ├── kscirc.json ├── nuggets.json ├── sirius.json ├── candid.json ├── uns.json ├── signor.json ├── ti.json ├── unik.json ├── klayr.json ├── ns.json ├── resume.json ├── web7.json ├── asset.json ├── prism.json ├── unitrust.json ├── ctid.json ├── everscale.json ├── key.json ├── kr.json ├── tdid.json ├── erc725.json ├── pkh.json ├── qui.json ├── mesh.json ├── object.json ├── bluetoquedeed.json ├── bluetoquenfe.json ├── bluetoqueagent.json ├── bluetoqueprocess.json ├── webs.json ├── webvh.json └── index.html ├── CODE_OF_CONDUCT.md ├── CODEOWNERS ├── tooling ├── README.md ├── package.json ├── generate-index.js ├── validate-registry.js └── did-method-registry-entry.yml ├── .github ├── workflows │ ├── auto-publish-properties.yml │ ├── auto-publish-resolution.yml │ ├── lint.yml │ ├── publish-did-extensions.yml │ ├── auto-publish.yml │ └── auto-publish-methods.yml └── PULL_REQUEST_TEMPLATE.md ├── CONTRIBUTING.md ├── vocabs ├── v1 │ ├── readme.md │ ├── context.jsonld │ ├── shex.shex │ ├── shacl.ttl │ ├── context.html │ ├── vocab.ttl │ ├── vocab.jsonld │ ├── shacl.jsonld │ ├── vocab.rdf │ └── vocab.html ├── README.md └── did-v0.11.jsonld ├── README.md ├── json_schemas └── core.schema.json └── index.html /.pr-preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "src_file": "index.html", 3 | "type": "respec" 4 | } 5 | -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": [117488], 3 | "contacts": ["pchampin"], 4 | "repo-type": "note", 5 | "shortName": "did-extensions" 6 | } 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | vocabs/shape_test.ttl 4 | vocabs/v1/test.ttl 5 | 6 | .vscode 7 | .DS_Store 8 | .idea 9 | unresolveable-test-dids.json 10 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | All documents in this Repository are licensed by contributors 2 | under the 3 | [W3C Document License](https://www.w3.org/Consortium/Legal/copyright-documents). 4 | 5 | -------------------------------------------------------------------------------- /methods/dom.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dom", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Dominode", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "" 9 | } -------------------------------------------------------------------------------- /methods/uport.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uport", 3 | "status": "deprecated", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "uPort", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "" 9 | } -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | Contributing to all documentation, code, and communication under this 4 | repository is covered by the 5 | [W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). 6 | -------------------------------------------------------------------------------- /methods/tls.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tls", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Ulrich Gallersdörfer, Kilian Käslin", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "" 9 | } -------------------------------------------------------------------------------- /methods/ccp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ccp", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Quorum", 5 | "contactName": "Baidu, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://did.baidu.com/did-spec/" 9 | } -------------------------------------------------------------------------------- /methods/ipid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "IPFS", 5 | "contactName": "TranSendX", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://did-ipid.github.io/ipid-did-method/" 9 | } -------------------------------------------------------------------------------- /methods/jlinc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jlinc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "JLINC Protocol", 5 | "contactName": "Victor Grey", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://did-spec.jlinc.org/" 9 | } -------------------------------------------------------------------------------- /methods/monid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "monid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Min Ju", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://lianxi-tech.github.io/monid/" 9 | } -------------------------------------------------------------------------------- /methods/tyron.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tyron", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Zilliqa", 5 | "contactName": "Julio Cabrapan Duarte", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://www.tyronzil.com" 9 | } -------------------------------------------------------------------------------- /methods/abt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abt", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ABT Network", 5 | "contactName": "ArcBlock", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://arcblock.github.io/abt-did-spec/" 9 | } -------------------------------------------------------------------------------- /methods/is.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Blockcore", 5 | "contactName": "Blockcore", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/block-core/blockcore-did-method" 9 | } -------------------------------------------------------------------------------- /methods/life.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "life", 3 | "status": "registered", 4 | "verifiableDataRegistry": "RChain", 5 | "contactName": "lifeID Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://lifeid.github.io/did-method-spec/" 9 | } -------------------------------------------------------------------------------- /methods/bid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "bif", 5 | "contactName": "teleinfo caict", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/teleinfo-bif/bid/tree/master/doc/en" 9 | } -------------------------------------------------------------------------------- /methods/dht.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dht", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Mainline DHT", 5 | "contactName": "TBD", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.tbd.website", 8 | "specification": "https://did-dht.com/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/jnctn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jnctn", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Jnctn Network", 5 | "contactName": "Jnctn Limited", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/jnctn/did-method-spec/" 9 | } -------------------------------------------------------------------------------- /methods/san.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "san", 3 | "status": "registered", 4 | "verifiableDataRegistry": "SAN Cloudchain", 5 | "contactName": "YLZ Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/Baasze/DID-method-specification" 9 | } -------------------------------------------------------------------------------- /methods/tz.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tz", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Tezos", 5 | "contactName": "Spruce Systems, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "https://spruceid.com", 8 | "specification": "https://did-tezos.spruceid.com" 9 | } -------------------------------------------------------------------------------- /methods/vid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "VP", 5 | "contactName": "VP Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/vpayment/did-method-spec/blob/master/vid.md" 9 | } -------------------------------------------------------------------------------- /methods/vtid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vtid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "", 5 | "contactName": "JianKong", 6 | "contactEmail": "806916678@qq.com", 7 | "contactWebsite": "", 8 | "specification": "http://my-did.vertu.com/spec/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/wlk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wlk", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Weelink Network", 5 | "contactName": "Weelink", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://weelink-team.github.io/weelink/DIDDesignEn" 9 | } -------------------------------------------------------------------------------- /methods/snail.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "snail", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Penpal network", 5 | "contactName": "Amy Guy, Dmitri Zagidulin", 6 | "contactEmail": "amy@rhiaro.co.uk", 7 | "contactWebsite": "", 8 | "specification": "https://🐌.amy.gy/" 9 | } -------------------------------------------------------------------------------- /methods/hpass.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hpass", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Fabric", 5 | "contactName": "IBM", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/IBM/hpass/blob/main/doc/did-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/io.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "io", 3 | "status": "registered", 4 | "verifiableDataRegistry": "IoTeX", 5 | "contactName": "IoTeX Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/iotexproject/iotex-did/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/omn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "omn", 3 | "status": "registered", 4 | "verifiableDataRegistry": "OmniOne", 5 | "contactName": "OmniOne", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/OmniOneID/did_method/blob/master/did_method.md" 9 | } -------------------------------------------------------------------------------- /methods/ttm.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ttm", 3 | "status": "registered", 4 | "verifiableDataRegistry": "TMChain", 5 | "contactName": "Token.TM", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/TokenTM/TM-DID/blob/master/docs/en/DID_spec.md" 9 | } -------------------------------------------------------------------------------- /methods/work.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "work", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Fabric", 5 | "contactName": "Workday, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://workday.github.io/work-did-method-spec/" 9 | } -------------------------------------------------------------------------------- /methods/ion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ion", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Bitcoin", 5 | "contactName": "Various DIF contributors", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/decentralized-identity/ion-did-method" 9 | } -------------------------------------------------------------------------------- /methods/iwt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iwt", 3 | "status": "registered", 4 | "verifiableDataRegistry": "InfoWallet", 5 | "contactName": "Raonsecure", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/infowallet/did_method/blob/master/did_method.md" 9 | } -------------------------------------------------------------------------------- /methods/jlinx.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jlinx", 3 | "status": "registered", 4 | "verifiableDataRegistry": "JLINX Protocol", 5 | "contactName": "Victor Grey", 6 | "contactEmail": "victor@jlinc.com", 7 | "contactWebsite": "", 8 | "specification": "https://didspec.jlinx.io" 9 | } 10 | -------------------------------------------------------------------------------- /methods/morpheus.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morpheus", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hydra", 5 | "contactName": "Internet of People", 6 | "contactEmail": "", 7 | "contactWebsite": "https://iop.global/", 8 | "specification": "https://developer.iop.global/w3c" 9 | } -------------------------------------------------------------------------------- /methods/ockam.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ockam", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ockam", 5 | "contactName": "Ockam", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ockam-network/did-method-spec/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/panacea.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "panacea", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Panacea", 5 | "contactName": "MediBloc", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/medibloc/panacea-core/blob/master/docs/did.md" 9 | } -------------------------------------------------------------------------------- /methods/tys.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tys", 3 | "status": "registered", 4 | "verifiableDataRegistry": "DID Specification", 5 | "contactName": "Chainyard", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/chainyard-tys/tys/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/vertu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vertu", 3 | "status": "registered", 4 | "verifiableDataRegistry": "VERTU", 5 | "contactName": "V2", 6 | "contactEmail": "bigui.yin@vertu.com", 7 | "contactWebsite": "", 8 | "specification": "http://did.vertu.com/spec/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/btcr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "btcr", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Bitcoin", 5 | "contactName": "Christopher Allen, Ryan Grant, Kim Hamilton Duffy", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://w3c-ccg.github.io/didm-btcr" 9 | } -------------------------------------------------------------------------------- /methods/did.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "did", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Decentralized Identifiers", 5 | "contactName": "Spruce Systems, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "https://spruceid.com", 8 | "specification": "https://did-did.spruceid.com" 9 | } -------------------------------------------------------------------------------- /methods/eosio.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eosio", 3 | "status": "registered", 4 | "verifiableDataRegistry": "EOSIO", 5 | "contactName": "Gimly Blockchain", 6 | "contactEmail": "", 7 | "contactWebsite": "https://gimly.io", 8 | "specification": "https://github.com/Gimly-Blockchain/eosio-did-spec" 9 | } -------------------------------------------------------------------------------- /methods/icon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "icon", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ICON", 5 | "contactName": "ICONLOOP", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/icon-project/icon-DID/blob/master/docs/ICON-DID-method.md" 9 | } -------------------------------------------------------------------------------- /methods/jwk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jwk", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "Jeremie Miller", 6 | "contactEmail": "jeremie.miller@gmail.com", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/quartzjer/did-jwk" 9 | } -------------------------------------------------------------------------------- /methods/op.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "op", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ocean Protocol", 5 | "contactName": "Ocean Protocol", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/oceanprotocol/OEPs/blob/master/7/v0.2/README.md" 9 | } -------------------------------------------------------------------------------- /methods/sideos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sideos", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "sideos GmbH", 6 | "contactEmail": "", 7 | "contactWebsite": "https://sideos.io", 8 | "specification": "https://github.com/sideos/sideos-did-method" 9 | } -------------------------------------------------------------------------------- /methods/web.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Web", 5 | "contactName": "Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/w3c-ccg/did-method-web" 9 | } -------------------------------------------------------------------------------- /methods/cot.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cot", 3 | "status": "registered", 4 | "verifiableDataRegistry": "CoTChain", 5 | "contactName": "CoTNetwork, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.cotnetwork.com", 8 | "specification": "https://github.com/ComputingOfThings/dids#readme" 9 | } -------------------------------------------------------------------------------- /methods/dotbit.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dotbit", 3 | "status": "registered", 4 | "verifiableDataRegistry": "d.id", 5 | "contactName": "d.id", 6 | "contactEmail": "support@did.id", 7 | "contactWebsite": "https://d.id", 8 | "specification": "https://github.com/dotbithq/dotbit-did-spec" 9 | } 10 | -------------------------------------------------------------------------------- /methods/dyne.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dyne", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Dyne.org Foundation", 5 | "contactName": "Andrea D'Intino", 6 | "contactEmail": "info@dyne.org", 7 | "contactWebsite": "https://dyne.org", 8 | "specification": "https://dyne.github.io/W3C-DID" 9 | } -------------------------------------------------------------------------------- /methods/ptn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ptn", 3 | "status": "registered", 4 | "verifiableDataRegistry": "PalletOne", 5 | "contactName": "PalletOne", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/palletone/palletone-DID/blob/master/docs/did-method/README.md" 9 | } -------------------------------------------------------------------------------- /methods/sov.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sov", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Sovrin", 5 | "contactName": "Mike Lodder", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html" 9 | } -------------------------------------------------------------------------------- /methods/trust.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "trust", 3 | "status": "registered", 4 | "verifiableDataRegistry": "TrustChain", 5 | "contactName": "TrustCerts GmbH", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/trustcerts/did-trust-method/blob/main/README.md" 9 | } -------------------------------------------------------------------------------- /methods/bit.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bit", 3 | "status": "registered", 4 | "verifiableDataRegistry": "d.id", 5 | "contactName": "d.id", 6 | "contactEmail": "support@d.id", 7 | "contactWebsite": "https://d.id", 8 | "specification": "https://github.com/dotbitHQ/did-bit-spec" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ens.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ens", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "ConsenSys MESH", 6 | "contactEmail": "oliver.terbu@mesh.xyz", 7 | "contactWebsite": "https://mesh.xyz", 8 | "specification": "https://github.com/veramolabs/did-ens-spec" 9 | } -------------------------------------------------------------------------------- /methods/iamx.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iamx", 3 | "status": "registered", 4 | "specification": "https://github.com/IAMXID/did-method-iamx/blob/main/IAMX_DID_method.md", 5 | "contactName": "IAMX AG, 6300 Zug, Switzerland", 6 | "contactEmail": "contact@iamx.id", 7 | "contactWebsite": "https://iamx.id/" 8 | } 9 | -------------------------------------------------------------------------------- /methods/iota.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iota", 3 | "status": "registered", 4 | "verifiableDataRegistry": "IOTA", 5 | "contactName": "IOTA Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "https://iota.org", 8 | "specification": "https://wiki.iota.org/identity.rs/specs/did/iota_did_method_spec" 9 | } -------------------------------------------------------------------------------- /methods/next.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Nextme DIDs Network", 5 | "contactName": "Next Labs", 6 | "contactEmail": "did@nextme.one", 7 | "contactWebsite": "https://nextme.one", 8 | "specification": "https://docs.nextme.one/#/DID/NextDID" 9 | } -------------------------------------------------------------------------------- /methods/ont.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ont", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ontology", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontio/ontology-DID/blob/master/docs/en/DID-ONT-method.md" 9 | } -------------------------------------------------------------------------------- /methods/peer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "peer", 3 | "status": "registered", 4 | "verifiableDataRegistry": "peer", 5 | "contactName": "Daniel Hardman", 6 | "contactEmail": "daniel.hardman@gmail.com", 7 | "contactWebsite": "", 8 | "specification": "https://identity.foundation/peer-did-method-spec/index.html" 9 | } -------------------------------------------------------------------------------- /methods/pml.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pml", 3 | "status": "registered", 4 | "verifiableDataRegistry": "PML Chain", 5 | "contactName": "Purple Mountain Laboratories", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/PML-ID/pml-did-specs/blob/main/did-method.md" 9 | } -------------------------------------------------------------------------------- /methods/polygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "polygon", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Polygon (Previously MATIC)", 5 | "contactName": "AyanWorks, MATIC", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ayanworks/polygon-did-method-spec" 9 | } -------------------------------------------------------------------------------- /methods/ray.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ray", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Ray Peng", 6 | "contactEmail": "275400726@qq.com", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/pcrui/did-spec/blob/main/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "3", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ceramic Network", 5 | "contactName": "3Box Labs", 6 | "contactEmail": "devs@3box.io", 7 | "contactWebsite": "https://3boxlabs.com/", 8 | "specification": "https://cips.ceramic.network/CIPs/cip-79" 9 | } 10 | -------------------------------------------------------------------------------- /methods/amo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "AMO blockchain mainnet", 5 | "contactName": "AMO Labs", 6 | "contactEmail": "", 7 | "contactWebsite": "https://amo.foundation", 8 | "specification": "https://github.com/amolabs/docs/blob/master/amo-did.md" 9 | } -------------------------------------------------------------------------------- /methods/dual.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dual", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Smart ID Card Alliance", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/Smart-ID-Card/Dual-DID/blob/main/docs/dual-did-method.md" 9 | } -------------------------------------------------------------------------------- /methods/emtrust.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emtrust", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Fabric", 5 | "contactName": "Halialabs Pte Ltd.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/Halialabs/did-spec/blob/gh-pages/readme.md" 9 | } -------------------------------------------------------------------------------- /methods/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "status": "registered", 4 | "verifiableDataRegistry": "DID Specification", 5 | "contactName": "W3C DID Working Group", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://www.w3.org/TR/did-core/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/factom.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "factom", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Factom", 5 | "contactName": "Sphereon, Factomatic, Factom Inc", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/factom-protocol/FIS/blob/master/FIS/DID.md" 9 | } -------------------------------------------------------------------------------- /methods/jolo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jolo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Jolocom", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/jolocom/jolo-did-method/blob/master/jolocom-did-method-specification.md" 9 | } -------------------------------------------------------------------------------- /methods/lac.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lac", 3 | "status": "registered", 4 | "verifiableDataRegistry": "LACChain Network", 5 | "contactName": "LACChain Alliance", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/lacchain/lacchain-did-registry/blob/master/DID_SPEC.md" 9 | } -------------------------------------------------------------------------------- /methods/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "meta", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Metadium", 5 | "contactName": "Metadium Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/METADIUM/meta-DID/blob/master/doc/DID-method-metadium.md" 9 | } -------------------------------------------------------------------------------- /methods/moac.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moac", 3 | "status": "registered", 4 | "verifiableDataRegistry": "MOAC", 5 | "contactName": "MOAC Blockchain Tech, Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/DavidRicardoWilde/moac-did/blob/master/did-moac-method.md" 9 | } -------------------------------------------------------------------------------- /methods/near.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "near", 3 | "status": "registered", 4 | "verifiableDataRegistry": "NEAR", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-spec-near/blob/master/NEAR/DID-Method-NEAR.md" 9 | } -------------------------------------------------------------------------------- /methods/selfkey.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "selfkey", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "SelfKey", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/SelfKeyFoundation/selfkey-identity/blob/develop/DIDMethodSpecs.md" 9 | } -------------------------------------------------------------------------------- /methods/unisot.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unisot", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Bitcoin SV", 5 | "contactName": "UNISOT AS", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.unisot.com", 8 | "specification": "https://gitlab.com/unisot-did/unisot-did-method-specification" 9 | } -------------------------------------------------------------------------------- /methods/vvo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vvo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Vivvo", 5 | "contactName": "Vivvo Application Studios", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://vivvo.github.io/vivvo-did-scheme/spec/did-method-spec-template.html" 9 | } -------------------------------------------------------------------------------- /methods/cr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cr", 3 | "status": "registered", 4 | "specification": "https://github.com/SelfSovereignDrm/core/blob/main/README.md", 5 | "contactName": "", 6 | "contactEmail": "ssdrm@digicaps.com", 7 | "contactWebsite": "", 8 | "verifiableDataRegistry": "Hyperledger Fabric" 9 | } 10 | -------------------------------------------------------------------------------- /methods/elem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "elem", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Element DID", 5 | "contactName": "Transmute", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/decentralized-identity/element/blob/master/docs/did-method-spec/spec.md" 9 | } -------------------------------------------------------------------------------- /methods/ethr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ethr", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "uPort", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/decentralized-identity/ethr-did-resolver/blob/master/doc/did-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/gns.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gns", 3 | "status": "registered", 4 | "verifiableDataRegistry": "GNU Name System", 5 | "contactName": "GNUnet", 6 | "contactEmail": "gnunet-developers@gnu.org", 7 | "contactWebsite": "https://gnunet.org", 8 | "specification": "https://lsd.gnunet.org/lsd0005/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/grg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "grg", 3 | "status": "registered", 4 | "verifiableDataRegistry": "GrgChain", 5 | "contactName": "GRGBanking Blockchain Express Co. Ltd.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/GrgChain/DID-method-specs/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/holo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "holo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Holochain", 5 | "contactName": "Holo.Host", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/draft-documents/did:hc-method.md" 9 | } -------------------------------------------------------------------------------- /methods/hsk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hsk", 3 | "status": "registered", 4 | "verifiableDataRegistry": "PlatON", 5 | "contactName": "HashKey DID", 6 | "contactEmail": "info@hashkey.id", 7 | "specification": "https://github.com/hashkeydid/hashkeydid-w3c-specification/blob/master/did-specfication/hsk-method.md" 8 | } 9 | -------------------------------------------------------------------------------- /methods/lit.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lit", 3 | "status": "registered", 4 | "verifiableDataRegistry": "LEDGIS", 5 | "contactName": "IBCT", 6 | "contactEmail": "", 7 | "contactWebsite": "http://en.ibct.kr", 8 | "specification": "https://github.com/ibct-dev/lit-DID/blob/main/docs/did:lit-method-spec_eng_v0.1.0.md" 9 | } -------------------------------------------------------------------------------- /methods/nft.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nft", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ceramic Network", 5 | "contactName": "3Box Labs", 6 | "contactEmail": "devs@3box.io", 7 | "contactWebsite": "https://3boxlabs.com/", 8 | "specification": "https://cips.ceramic.network/CIPs/cip-94" 9 | } 10 | -------------------------------------------------------------------------------- /methods/stack.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stack", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Bitcoin", 5 | "contactName": "Jude Nelson", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/blockstack/blockstack-core/blob/stacks-1.0/docs/blockstack-did-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/trx.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "trx", 3 | "status": "registered", 4 | "verifiableDataRegistry": "TRON", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-trx/DID-Method-trx.md" 9 | } -------------------------------------------------------------------------------- /methods/antelope.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "antelope", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Antelope", 5 | "contactName": "Tonomy Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "https://tonomy.foundation", 8 | "specification": "https://github.com/Tonomy-Foundation/antelope-did-spec" 9 | } -------------------------------------------------------------------------------- /methods/bee.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bee", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "mesur.io", 6 | "contactEmail": "mprorock@mesur.io", 7 | "contactWebsite": "https://mesur.io.io/", 8 | "specification": "https://github.com/mesur-io/did-method-bee" 9 | } 10 | -------------------------------------------------------------------------------- /methods/celo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "celo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Celo", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-celo/DID-Method-celo.md" 9 | } -------------------------------------------------------------------------------- /methods/com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com", 3 | "status": "registered", 4 | "verifiableDataRegistry": "commercio.network", 5 | "contactName": "Commercio Consortium", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/commercionetwork/Commercio.network-DID-Method-Specification/" 9 | } -------------------------------------------------------------------------------- /methods/ct.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ct", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Circular Trust", 5 | "contactName": "", 6 | "contactEmail": "sysadmin@blueroominnovation.com", 7 | "contactWebsite": "https://circulartrust.eu/", 8 | "specification": "https://github.com/blueroominnovation/did-ct-spec" 9 | } -------------------------------------------------------------------------------- /methods/etho.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "etho", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-etho/DID-Method-etho.md" 9 | } -------------------------------------------------------------------------------- /methods/hpo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hpo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "", 5 | "contactName": "Hippocrat DAO", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/hippocrat-protocol/hpo-did-method-spec/blob/main/HPO-DID-method-spec.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/klay.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "klay", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Klaytn", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-klay/DID-Method-klay.md" 9 | } -------------------------------------------------------------------------------- /methods/orb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "orb", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "Avast", 6 | "contactEmail": "troy.ronda@avast.com", 7 | "contactWebsite": "https://avast.com/", 8 | "specification": "https://trustbloc.github.io/did-method-orb/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/sol.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sol", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Solana", 5 | "contactName": "Identity.com", 6 | "contactEmail": "contact@identity.org", 7 | "contactWebsite": "https://identity.com/contact-us", 8 | "specification": "https://g.identity.com/sol-did/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ssw.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ssw", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Initial Network", 5 | "contactName": "SK telecom", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.sktelecom.com/index_en.html", 8 | "specification": "https://sktston.github.io/ssw-did/did-method-spec.html" 9 | } -------------------------------------------------------------------------------- /methods/tangle.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tangle", 3 | "status": "deprecated", 4 | "verifiableDataRegistry": "IOTA Tangle", 5 | "contactName": "BiiLabs Co., Ltd.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/TangleID/TangleID/blob/develop/did-method-spec.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/vivid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vivid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "NEO2, NEO3, Zilliqa", 5 | "contactName": "Vivid", 6 | "contactEmail": "", 7 | "contactWebsite": "https://getviv.id/", 8 | "specification": "https://github.com/Moonlight-io/specs/blob/master/did-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/bryk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bryk", 3 | "status": "registered", 4 | "verifiableDataRegistry": "bryk", 5 | "contactName": "Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/bryk-io/did-method/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/dns.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dns", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Domain Name System (DNS)", 5 | "contactName": "Danube Tech", 6 | "contactEmail": "markus@danubetech.com", 7 | "contactWebsite": "https://danubetech.com", 8 | "specification": "https://danubetech.github.io/did-method-dns/" 9 | } -------------------------------------------------------------------------------- /methods/iden3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iden3", 3 | "status": "registered", 4 | "verifiableDataRegistry": "EVM compatible chains", 5 | "contactName": "ZK ID Labs AG, Privado ID", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.privado.id/", 8 | "specification": "https://github.com/iden3/did-iden3/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/safe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "safe", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Safe", 5 | "contactName": "Safe Ecosystem Foundation", 6 | "contactEmail": "info@safe.global", 7 | "contactWebsite": "https://safe.global", 8 | "specification": "https://cips.ceramic.network/CIPs/cip-101" 9 | } 10 | -------------------------------------------------------------------------------- /methods/twit.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "twit", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Twit", 5 | "contactName": "DID Twit GitHub", 6 | "contactEmail": "", 7 | "contactWebsite": "https://github.com/did-twit/did-twit/blob/master/spec/index.md", 8 | "specification": "https://did-twit.github.io/did-twit/" 9 | } -------------------------------------------------------------------------------- /methods/valyu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "valyu", 3 | "status": "registered", 4 | "specification": "https://github.com/valyu-network/valyu-did/blob/main/Valyu-DID-Method.md", 5 | "contactName": "Valyu Network LTD", 6 | "contactEmail": "contact@valyu.network", 7 | "contactWebsite": "https://www.valyu.network" 8 | } 9 | -------------------------------------------------------------------------------- /methods/vaultie.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vaultie", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Vaultie Inc.", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/vaultie/vaultie-did-method/blob/master/vaultie-did-method-specification.md" 9 | } -------------------------------------------------------------------------------- /methods/zkme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zkme", 3 | "status": "registered", 4 | "verifiableDataRegistry": "EVM compatible chains. Primary on Polygon", 5 | "contactName": "zkMe", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/zkMeLabs/zkme-did-method-spec" 9 | } -------------------------------------------------------------------------------- /methods/bnb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bnb", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Binance Smart Chain", 5 | "contactName": "Ontology Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/ontology-tech/DID-method-specs/blob/master/did-bnb/DID-Method-bnb.md" 9 | } -------------------------------------------------------------------------------- /methods/content.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "content", 3 | "status": "registered", 4 | "specification": "https://github.com/KataruInc/did-content-spec", 5 | "contactName": "Mizuki Sonoko", 6 | "contactEmail": "sonoko@mizuki.io", 7 | "contactWebsite": "https://mizuki.io", 8 | "verifiableDataRegistry": "" 9 | } 10 | -------------------------------------------------------------------------------- /methods/dweb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dweb", 3 | "status": "registered", 4 | "verifiableDataRegistry": "SinoChain", 5 | "contactName": "Aisino Corporation", 6 | "contactEmail": "chengsijin@aisino.com", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/Aisino-Blockchain/dweb-Method-Specification" 9 | } 10 | -------------------------------------------------------------------------------- /methods/evan.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "evan", 3 | "status": "registered", 4 | "verifiableDataRegistry": "evan.network", 5 | "contactName": "evan GmbH", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/evannetwork/evan.network-DID-method-specification/blob/master/evan_did_method_spec.md" 9 | } -------------------------------------------------------------------------------- /methods/future.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "future", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Netease Chain", 5 | "contactName": "Netease Blockchain Team", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/netease-chain/Future-DID-Method-Specification/blob/main/README.md" 9 | } -------------------------------------------------------------------------------- /methods/gatc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gatc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria", 5 | "contactName": "Gataca", 6 | "contactEmail": "", 7 | "contactWebsite": "https://gataca.io/", 8 | "specification": "https://github.com/gatacaid/gataca-did-method" 9 | } -------------------------------------------------------------------------------- /methods/grn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "grn", 3 | "status": "registered", 4 | "specification": "https://github.com/EG-easy/grano-did/blob/main/did-method-specification.md", 5 | "contactName": "EG-easy", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "verifiableDataRegistry": "Any CosmWasm-compatible ledger" 9 | } 10 | -------------------------------------------------------------------------------- /methods/indy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "indy", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Any Hyperledger Indy Ledger", 5 | "contactName": "Stephen Curran", 6 | "contactEmail": "swcurran@cloudcompass.ca", 7 | "contactWebsite": "", 8 | "specification": "https://hyperledger.github.io/indy-did-method/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/iscc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iscc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Public Blockchains", 5 | "contactName": "ISCC Foundation", 6 | "contactEmail": "tp@iscc.foundation", 7 | "contactWebsite": "https://iscc.foundation", 8 | "specification": "https://ieps.iscc.codes/iep-0015/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/keri.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "keri", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "Dr. Sam Smith, Charles Cunningham, Phil Feairheller", 6 | "contactEmail": "pfeairheller@gmail.com", 7 | "contactWebsite": "", 8 | "specification": "https://weboftrust.github.io/did-keri/" 9 | } -------------------------------------------------------------------------------- /methods/oyd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "oyd", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "OwnYourData.eu", 6 | "contactEmail": "christoph@ownyourdata.eu", 7 | "contactWebsite": "https://ownyourdata.eu/", 8 | "specification": "https://ownyourdata.github.io/oydid/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/self.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "self", 3 | "status": "registered", 4 | "specification": "https://github.com/excid-io/did-self", 5 | "contactName": "Nikos Fotiou", 6 | "contactEmail": "fotiou@excid.io", 7 | "contactWebsite": "https://www.excid.io", 8 | "verifiableDataRegistry": "Ledger agnostic" 9 | } -------------------------------------------------------------------------------- /methods/bba.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bba", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ardor", 5 | "contactName": "Attila Aldemir", 6 | "contactEmail": "attila.aldemir@atz3n.dev", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/blobaa/bba-did-method-specification/blob/master/docs/markdown/spec.md" 9 | } -------------------------------------------------------------------------------- /methods/btco.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "btco", 3 | "status": "registered", 4 | "specification": "https://github.com/ordinalsreserve/did-btco/blob/main/spec.md", 5 | "contactName": "Aviary Tech", 6 | "contactEmail": "contact@aviary.tech", 7 | "contactWebsite": "https://aviary.tech", 8 | "verifiableDataRegistry": "BTC" 9 | } 10 | -------------------------------------------------------------------------------- /methods/cosmos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cosmos", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Cosmos application chains", 5 | "contactName": "Shaun Conway", 6 | "contactEmail": "earthprogram@ixo.world", 7 | "contactWebsite": "https://www.ixo.world/", 8 | "specification": "https://github.com/EarthProgram/did-cosmos" 9 | } -------------------------------------------------------------------------------- /methods/dock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dock", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Dock", 5 | "contactName": "Dock.io", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.dock.io", 8 | "specification": "https://github.com/docknetwork/dock-did-driver/blob/master/Dock%20DID%20method%20specification.md" 9 | } -------------------------------------------------------------------------------- /methods/dsrv.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dsrv", 3 | "status": "registered", 4 | "specification": "https://github.com/dsrvlabs/did_method/blob/main/DID-Method-DSRV.md", 5 | "contactName": "dsrv", 6 | "contactEmail": "did@dsrvlabs.com", 7 | "contactWebsite": "https://welldonestake.io/", 8 | "verifiableDataRegistry": "" 9 | } 10 | -------------------------------------------------------------------------------- /methods/meme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "meme", 3 | "status": "registered", 4 | "verifiableDataRegistry": "IPFS & DNS & HTTP", 5 | "contactName": "DID Meme Maintainers", 6 | "contactEmail": "orie@or13.io", 7 | "contactWebsite": "https://didme.me/", 8 | "specification": "https://or13.github.io/didme.me/did-method-spec" 9 | } 10 | -------------------------------------------------------------------------------- /methods/myDiD.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "myDiD", 3 | "status": "registered", 4 | "specification": "https://github.com/MyDidCom/myDiD_Method", 5 | "contactName": "", 6 | "contactEmail": "contact@mydid.com", 7 | "contactWebsite": "https://mydid.com", 8 | "verifiableDataRegistry": "DID Specification" 9 | } 10 | 11 | -------------------------------------------------------------------------------- /methods/yourd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yourd", 3 | "status": "registered", 4 | "verifiableDataRegistry": "YourD compatible chains", 5 | "contactName": "YourD", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.yourd.xyz/", 8 | "specification": "https://github.com/DataSovereignty-YourD/YourD-did-sepcification" 9 | } 10 | -------------------------------------------------------------------------------- /methods/echo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Echo", 5 | "contactName": "Echo Technological Solutions LLC", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/echoprotocol/uni-resolver-driver-did-echo/blob/master/echo_did_specifications.md" 9 | } -------------------------------------------------------------------------------- /methods/kaname.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kaname", 3 | "status": "registered", 4 | "specification": "https://github.com/KanameProtocol/did-kaname-spec/blob/main/README.md", 5 | "contactName": "", 6 | "contactEmail": "", 7 | "contactWebsite": "https://kaname.io/", 8 | "verifiableDataRegistry": "Any EVM Compatible Blockchains" 9 | } 10 | -------------------------------------------------------------------------------- /methods/kilt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kilt", 3 | "status": "registered", 4 | "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/did-spec.md", 5 | "contactEmail": "devs@kilt.io", 6 | "contactName": "BOTLabs GmbH", 7 | "contactWebsite": "https://www.kilt.io/", 8 | "verifiableDataRegistry": "KILT Blockchain" 9 | } -------------------------------------------------------------------------------- /methods/psqr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psqr", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Public Square", 5 | "contactName": "Christian Gribneau", 6 | "contactEmail": "protocol@vpsqr.com", 7 | "contactWebsite": "https://vpsqr.com", 8 | "specification": "https://vpsqr.com/did-method-psqr/v1/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/qes.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qes", 3 | "status": "registered", 4 | "verifiableDataRegistry": "QES", 5 | "contactName": "IDnow GmbH", 6 | "contactEmail": "sebastian.elfors@idnow.de", 7 | "contactWebsite": "https://www.idnow.io/", 8 | "specification": "https://github.com/idnow/de.idnow.qes.did.method.specification" 9 | } 10 | -------------------------------------------------------------------------------- /methods/trustbloc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "trustbloc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Fabric", 5 | "contactName": "SecureKey", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/trustbloc/trustbloc-did-method/blob/master/docs/spec/trustbloc-did-method.md" 9 | } -------------------------------------------------------------------------------- /methods/art.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "art", 3 | "status": "registered", 4 | "specification": "https://github.com/ArtracID/ArtracID-DID-ART-Method", 5 | "contactName": "Daniel Chun", 6 | "contactEmail": "did_inquiry@artgrouplimited.com", 7 | "contactWebsite": "www.artracx.com", 8 | "verifiableDataRegistry": "Artwork ID Method" 9 | } 10 | -------------------------------------------------------------------------------- /methods/bsv.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bsv", 3 | "status": "registered", 4 | "verifiableDataRegistry": "BSV", 5 | "contactName": "Thomas Moretti", 6 | "contactEmail": "t.moretti@nchain.com", 7 | "contactWebsite": "https://www.nchain.com/", 8 | "specification": "https://github.com/nchain-research/nChain-Identity-bsvdid-method" 9 | } 10 | -------------------------------------------------------------------------------- /methods/gwm.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gwm", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Great Wall Chain", 5 | "contactName": "Great Wall Motor Company Limited", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/GreatWall-Blockchain/GWDID-Method-Specification/blob/main/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/hedera.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hedera", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hedera Hashgraph", 5 | "contactName": "Hedera Hashgraph, Swisscom Blockchain AG", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/hashgraph/did-method/blob/master/did-method-specification.md" 9 | } -------------------------------------------------------------------------------- /methods/mydata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mydata", 3 | "status": "registered", 4 | "verifiableDataRegistry": "iGrant.io", 5 | "contactName": "iGrant.io", 6 | "contactEmail": "", 7 | "contactWebsite": "https://igrant.io/", 8 | "specification": "https://github.com/decentralised-dataexchange/automated-data-agreements/blob/main/docs/did-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/onion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "onion", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger agnostic", 5 | "contactName": "Blockchain Commons", 6 | "contactEmail": "", 7 | "contactWebsite": "https://github.com/BlockchainCommons/did-method-onion", 8 | "specification": "https://blockchaincommons.github.io/did-method-onion/" 9 | } -------------------------------------------------------------------------------- /methods/pistis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pistis", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Andrea Taglia, Matteo Sinico", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/uino95/ssi/blob/consensys/dashboard/server/pistis/pistis-did-resolver/README.md" 9 | } -------------------------------------------------------------------------------- /methods/plc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "plc", 3 | "status": "registered", 4 | "specification": "https://github.com/bluesky-social/did-method-plc", 5 | "contactName": "Bluesky PBLLC", 6 | "contactEmail": "protocol@blueskyweb.xyz", 7 | "contactWebsite": "https://blueskyweb.xyz/", 8 | "verifiableDataRegistry": "https://plc.directory" 9 | } 10 | -------------------------------------------------------------------------------- /methods/scid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "StraitsChain", 5 | "contactName": "Lorna", 6 | "contactEmail": "lornayang@straitschain.com", 7 | "contactWebsite": "https://straitschain.com/", 8 | "specification": "https://github.com/StraitsChain/SCID/blob/main/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "v1", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Veres One DLT", 5 | "contactName": "Veres One Maintainer (Digital Bazaar)", 6 | "contactEmail": "maintainer@veres.one", 7 | "contactWebsite": "https://veres.one/", 8 | "specification": "https://w3c-ccg.github.io/did-method-v1/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/vaa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vaa", 3 | "status": "registered", 4 | "verifiableDataRegistry": "bif", 5 | "contactName": "China Academy of Information and Communications Technology (CAICT)", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/caict-develop-zhangbo/vaa-method/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/ala.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ala", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Alastria", 5 | "contactName": "Alastria National Blockchain Ecosystem", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/alastria/alastria-identity/wiki/Alastria-DID-Method-Specification-(Quorum-version)" 9 | } -------------------------------------------------------------------------------- /methods/elastos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "elastos", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Elastos ID Sidechain", 5 | "contactName": "Elastos Foundation", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/elastos/Elastos.DID.Method/blob/master/DID/Elastos-DID-Method-Specification_en.md" 9 | } -------------------------------------------------------------------------------- /methods/id.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "id", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ID Service", 5 | "contactName": "Mastercard", 6 | "contactEmail": "", 7 | "contactWebsite": "https://idservice.com/en/contactus.html", 8 | "specification": "https://github.com/Mastercard/did-methods/blob/master/id.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/itn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "itn", 3 | "status": "registered", 4 | "specification": "https://github.com/itn-trust/itn-did-spec", 5 | "contactName": "Umed Khudoiberdiev", 6 | "contactEmail": "umed@dlt.mobi", 7 | "contactWebsite": "https://itn.global/", 8 | "verifiableDataRegistry": "Hyperledger Fabric (Private Network) and Arbitrum One" 9 | } -------------------------------------------------------------------------------- /methods/kdid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kdid", 3 | "status": "registered", 4 | "specification": "https://github.com/KingdomFintechBJ-BC/kdid/blob/main/doc/en/kdid.md", 5 | "contactName": "KINGDOM FINTECH(BEIJING)CO,LTD.", 6 | "contactEmail": "quklsyb@szkingdom.com", 7 | "contactWebsite": "", 8 | "verifiableDataRegistry": "FISCO BCOS" 9 | } 10 | -------------------------------------------------------------------------------- /methods/psi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psi", 3 | "status": "registered", 4 | "verifiableDataRegistry": "LEDGIS", 5 | "contactName": "Police Science Institution", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.psi.go.kr/", 8 | "specification": "https://github.com/didpsi/psi-DID/blob/main/docs/did:psi-method-spec_eng.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/theseries.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "theseries", 3 | "status": "registered", 4 | "specification": "https://github.com/theseriesteam/tsid-method/blob/main/ts-did-method-specification.md", 5 | "contactName": "Hang Hang", 6 | "contactEmail": "hanghang.dev@gmail.com", 7 | "contactWebsite": "", 8 | "verifiableDataRegistry": "IPFS" 9 | } 10 | -------------------------------------------------------------------------------- /methods/aergo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aergo", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Aergo", 5 | "contactName": "Blocko", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.blocko.io/", 8 | "specification": "https://github.com/aergoio/aergo-identity/blob/master/doc/did-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/fox.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fox", 3 | "status": "registered", 4 | "specification": "https://github.com/qikfox/fox-did-method/blob/main/README.md", 5 | "contactName": "qikfox Cybersecurity Systems", 6 | "contactEmail": "devs@qikfox.com", 7 | "contactWebsite": "https://www.qikfox.com/", 8 | "verifiableDataRegistry": "Trustnet" 9 | } 10 | -------------------------------------------------------------------------------- /methods/nostr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nostr", 3 | "status": "registered", 4 | "specification": "https://nostrcg.github.io/did-nostr/", 5 | "contactName": "W3C Nostr Community Group", 6 | "contactEmail": "public-nostr@w3.org", 7 | "contactWebsite": "https://www.w3.org/community/nostr/", 8 | "verifiableDataRegistry": "Nostr Relay Network" 9 | } 10 | -------------------------------------------------------------------------------- /methods/nuts.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuts", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Nuts network", 5 | "contactName": "Nuts community", 6 | "contactEmail": "w3c-did-core@nuts.nl", 7 | "contactWebsite": "https://nuts.nl", 8 | "specification": "https://nuts-foundation.gitbook.io/drafts/rfc/rfc006-distributed-registry" 9 | } 10 | -------------------------------------------------------------------------------- /methods/polygonid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "polygonid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "EVM compatible chains", 5 | "contactName": "ZK ID Labs AG, Privado ID (formerly Polygon ID)", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.privado.id/", 8 | "specification": "https://github.com/iden3/did-iden3/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/real.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "real", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Real Items", 6 | "contactEmail": "rocky@realitems.io", 7 | "contactWebsite": "https://realitems.io", 8 | "specification": "https://github.com/realitems/did-real/blob/main/did-real-method-specification.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/cheqd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cheqd", 3 | "status": "registered", 4 | "verifiableDataRegistry": "cheqd", 5 | "contactName": "CHEQD FOUNDATION LIMITED", 6 | "contactEmail": "contact@cheqd.io", 7 | "contactWebsite": "https://cheqd.io", 8 | "specification": "https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method" 9 | } -------------------------------------------------------------------------------- /methods/fairx.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fairx", 3 | "status": "deprecated", 4 | "verifiableDataRegistry": "FairX Node", 5 | "contactName": "Michael Dowling", 6 | "contactEmail": "mdowling@gmail.com", 7 | "contactWebsite": "https://github.com/fairxio/", 8 | "specification": "https://github.com/fairxio/protocol/tree/main/did" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ldid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ldid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ChainMaker", 5 | "contactName": "Shujin Public Service (Qingdao) Co., Ltd.", 6 | "contactEmail": "blockchain@dcps.top", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/LONGEVITY-DIGITAL/LDID-Method-Specification/blob/main/README.md" 9 | } -------------------------------------------------------------------------------- /methods/pid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ProofID Blockchain", 5 | "contactName": "Alvin Reyes", 6 | "contactEmail": "tech@proofid.me", 7 | "contactWebsite": "https://proofid.me", 8 | "specification": "https://github.com/proof-id/pid-did-driver/blob/main/did-method-specification.md" 9 | } -------------------------------------------------------------------------------- /methods/ev.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ev", 3 | "status": "registered", 4 | "specification": "https://github.com/KayTrust/did-method-ev", 5 | "contactName": "David Ammouial (NTT DATA)", 6 | "contactEmail": "david.ammouial@nttdata.com", 7 | "contactWebsite": "https://kaytrust.id/", 8 | "verifiableDataRegistry": "Any Ethereum or EVM-compatible ledger" 9 | } 10 | -------------------------------------------------------------------------------- /methods/peaq.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "peaq", 3 | "status": "registered", 4 | "specification": "https://github.com/peaqnetwork/peaq-did-specifications", 5 | "contactEmail": "info@peaq.network", 6 | "contactName": "Peaq Technology GmbH", 7 | "contactWebsite": "https://www.peaq.network", 8 | "verifiableDataRegistry": "peaq Blockchain" 9 | } 10 | -------------------------------------------------------------------------------- /methods/rm.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rm", 3 | "status": "registered", 4 | "specification": "https://github.com/realmatterio/RealMatter-DID-Method", 5 | "contactName": "Ming-lam Ng (RealMatter)", 6 | "contactEmail": "mn@realmatter.io", 7 | "contactWebsite": "realmatter.io", 8 | "verifiableDataRegistry": "Real-world Asset Tokenization DID Method" 9 | } 10 | -------------------------------------------------------------------------------- /methods/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "schema", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Multiple storage networks, currently public IPFS and evan.network IPFS", 5 | "contactName": "51nodes GmbH", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/51nodes/schema-registry-did-method/blob/master/README.md" 9 | } -------------------------------------------------------------------------------- /methods/health.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "health", 3 | "status": "registered", 4 | "verifiableDataRegistry": "DID Health", 5 | "contactName": "support", 6 | "contactEmail": "support@did.healthcare", 7 | "contactWebsite": "https://www.did.healthcare/", 8 | "specification": "https://github.com/didhealth/health-did-resolver/blob/main/doc/did-method-spec.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/hid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hid", 3 | "status": "registered", 4 | "specification": "https://github.com/hypersign-protocol/HIPs/blob/main/HIPs/hip-10.md", 5 | "contactName": "Hypermine Limited", 6 | "contactEmail": "connect@hypermine.in", 7 | "contactWebsite": "https://hypersign.id/", 8 | "verifiableDataRegistry": "Hypersign Blockchain Network" 9 | } -------------------------------------------------------------------------------- /methods/iid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Inspur Chain", 5 | "contactName": "zoe Yian", 6 | "contactEmail": "ranyueranyue@outlook.com", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/InspurIndustrialInternet/iid/blob/main/doc/en/InspurChain_DID_protocol_Specification.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/m2m.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "m2m", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Indy", 5 | "contactName": "SmartM2M. Co., Ltd", 6 | "contactEmail": "smartm2m@smartm2m.co.kr", 7 | "contactWebsite": "https://www.smartm2m.co.kr/", 8 | "specification": "https://github.com/m2mblockchain/DID-Method-m2m/blob/main/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ccd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ccd", 3 | "status": "registered", 4 | "specification": "https://proposals.concordium.software/ID/concordium-did.html", 5 | "contactName": "Concordium development team", 6 | "contactEmail": "developers@concordium.com", 7 | "contactWebsite": "https://concordium.com", 8 | "verifiableDataRegistry": "Concordium" 9 | } 10 | -------------------------------------------------------------------------------- /methods/corda.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "corda", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Corda", 5 | "contactName": "Nitesh Solanki,Moritz Platt,Pranav Kirtani", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://htmlpreview.github.io/?https://github.com/persistentsystems/corda-did-method/blob/master/corda_did_method.html" 9 | } -------------------------------------------------------------------------------- /methods/knox.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "knox", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Knox Networks", 5 | "contactName": "Francis Kim", 6 | "contactEmail": "developers@knox-networks.com", 7 | "contactWebsite": "https://www.knox-networks.com/", 8 | "specification": "https://github.com/knox-networks/knox-did-specification" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ling.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ling", 3 | "status": "registered", 4 | "specification": "https://www.notion.so/LING-DID-Method-Specification-7b9d25a62a1849a496890b9ef24e0890", 5 | "contactName": "K4-Security", 6 | "contactEmail": "contact@k4-security.com", 7 | "contactWebsite": "http://www.k4-security.com/", 8 | "verifiableDataRegistry": "LING" 9 | } -------------------------------------------------------------------------------- /methods/snplab.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "snplab", 3 | "status": "registered", 4 | "specification": "https://github.com/snplab-io/snplab-did-method/blob/main/snplab-did-method-spec.md", 5 | "contactName": "SNPLab Inc.", 6 | "contactEmail": "hellodata@snplab.io", 7 | "contactWebsite": "https://www.snplab.io", 8 | "verifiableDataRegistry": "SNPLab MyD Network" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ssb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ssb", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Secure Scuttlebutt", 5 | "contactName": "Charles E. Lehner", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://viewer.scuttlebot.io/&5Bne/slGKH/i1361qemVlNBElWInSUfntlWvMXaD4M4=.sha256?hl=zQmdh4Ya6WasmjnS4UMn5ot6k5tbCypy1oyhhdJ6yB6MjfT" 9 | } -------------------------------------------------------------------------------- /methods/zk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zk", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Arweave", 5 | "contactName": "zCloak Network Research", 6 | "contactEmail": "info@zcloak.network", 7 | "contactWebsite": "https://zcloak.network/#/", 8 | "specification": "https://github.com/zCloak-Network/zk-did-method-specs" 9 | } 10 | -------------------------------------------------------------------------------- /methods/erat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "erat", 3 | "status": "registered", 4 | "verifiableDataRegistry": "DID Specification", 5 | "contactName": "ERATOSTHENES project", 6 | "contactEmail": "harris.niavis@inlecomsystems.com", 7 | "contactWebsite": "https://eratosthenes-project.eu/", 8 | "specification": "https://gitlab.com/eratosthenes-h2020/erat-did-spec" 9 | } -------------------------------------------------------------------------------- /methods/ibmdc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ibmdc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Hyperledger Fabric", 5 | "contactName": "IBM Digital Credentials", 6 | "contactEmail": "digitalcredentials@ibm.com", 7 | "contactWebsite": "https://www.ibm.com/blockchain/identity", 8 | "specification": "https://wiki.digitalcredentials.ibm.com/#/spec/v1/did-method" 9 | } 10 | -------------------------------------------------------------------------------- /methods/infra.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "infra", 3 | "status": "registered", 4 | "verifiableDataRegistry": "InfraBlockchain", 5 | "contactName": "Blockchain Labs", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/InfraBlockchain/infra-did-method-specs/blob/main/docs/Infra-DID-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/ccf.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ccf", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Confidential Consortium Framework (CCF)", 5 | "contactName": "Microsoft", 6 | "contactEmail": "ccf-did@microsoft.com", 7 | "contactWebsite": "https://ccf.dev", 8 | "specification": "https://github.com/microsoft/did-ccf/blob/main/DID_CCF.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/dxd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dxd", 3 | "status": "registered", 4 | "verifiableDataRegistry": "fabric.data-alliace.com", 5 | "contactName": "Data Alliance Co., Ltd.", 6 | "contactEmail": "blockchain@data-alliance.com", 7 | "contactWebsite": "https://www.data-alliance.com/", 8 | "specification": "https://github.com/Data-Alliance/did-dxd/blob/master/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/kscirc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kscirc", 3 | "status": "registered", 4 | "specification": "https://tangy-gallium-b9b.notion.site/DID-Method-Specification-KSChain-7a77664f1eae47769692f4ff2d029fe0", 5 | "contactName": "K4-Security", 6 | "contactEmail": "", 7 | "contactWebsite": "http://www.k4-security.com/", 8 | "verifiableDataRegistry": "KSChain Blockchain" 9 | } -------------------------------------------------------------------------------- /methods/nuggets.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuggets", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Nuggets Network", 5 | "contactName": "Nuggets Ltd", 6 | "contactEmail": "contact@nuggets.life", 7 | "contactWebsite": "https://nuggets.life", 8 | "specification": "https://github.com/NuggetsLtd/nuggets-did-resolver/blob/master/doc/did-methods/did:nuggets.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/sirius.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sirius", 3 | "status": "registered", 4 | "verifiableDataRegistry": "ProximaX Sirius Chain", 5 | "contactName": "ProximaX Singapore Pte. Ltd.", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.proximax.ltd", 8 | "specification": "https://gitlab.com/proximax-enterprise/siriusid/sirius-id-specs/-/blob/master/docs/did-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/candid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "candid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Quorum", 5 | "contactName": "Eric Lin", 6 | "contactEmail": "ericlin@cathayholdings.com.tw", 7 | "contactWebsite": "https://www.linkedin.com/in/eric-lin-875b42b0/", 8 | "specification": "https://github.com/ericlin716/did-spec/blob/main/candid-did-method-spec.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/uns.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uns", 3 | "status": "registered", 4 | "verifiableDataRegistry": "uns.network", 5 | "contactName": "Space Elephant SAS", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.spacelephant.org/", 8 | "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-uns/UNS-DID-Specification.md" 9 | } -------------------------------------------------------------------------------- /methods/signor.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "signor", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu", 5 | "contactName": "Cryptonics", 6 | "contactEmail": "", 7 | "contactWebsite": "https://cryptonics.consulting/", 8 | "specification": "https://github.com/cryptonicsconsulting/signor-did-contracts/blob/master/did-method-spec.md" 9 | } -------------------------------------------------------------------------------- /methods/ti.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ti", 3 | "status": "registered", 4 | "specification": "https://github.com/HTiBRI/TiDID-Method-Specification/blob/main/README.md", 5 | "contactName": "Hunan tianhe Guoyun Technology Co.Ltd", 6 | "contactEmail": "yangangao@tianhecloud.com", 7 | "contactWebsite": "https://tianhecloud.com/", 8 | "verifiableDataRegistry": "TiChain" 9 | } 10 | -------------------------------------------------------------------------------- /methods/unik.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unik", 3 | "status": "registered", 4 | "verifiableDataRegistry": "uns.network", 5 | "contactName": "Space Elephant SAS", 6 | "contactEmail": "", 7 | "contactWebsite": "https://www.spacelephant.org/", 8 | "specification": "https://github.com/unik-name/did-method-spec/blob/main/did-unik/UNIK-DID-Specification.md" 9 | } -------------------------------------------------------------------------------- /methods/klayr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "klayr", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Klayr Sidechain", 5 | "contactName": "Aldo Suhartono Putra", 6 | "contactEmail": "aldhosutra@gmail.com", 7 | "contactWebsite": "https://klayr-did.js.org/", 8 | "specification": "https://github.com/aldhosutra/klayr-did/blob/main/packages/klayr-did-module/docs/did-method-spec.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/ns.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ns", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Web 7.0 Foundation", 5 | "contactName": "Web 7.0 Foundation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "https://didns.directory", 8 | "specification": "https://github.com/Web7Foundation/Specifications/blob/main/methods/did-ns-1-0-1.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/resume.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "resume", 3 | "status": "registered", 4 | "specification": "https://github.com/realmatterio/Resume-DID-Method/", 5 | "contactName": "Ming-lam Ng with Real Matter Technology and Talent Connect", 6 | "contactEmail": "mn@realmatter.io", 7 | "contactWebsite": "https://realmatter.io", 8 | "verifiableDataRegistry": "Resume DID Method and Protocol" 9 | } 10 | -------------------------------------------------------------------------------- /methods/web7.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web7", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Web 7.0 Foundation", 5 | "contactName": "Web 7.0 Foundation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/Web7Foundation/Specifications/blob/main/methods/did-web7-1-0-1.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/asset.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asset", 3 | "status": "registered", 4 | "specification": "https://github.com/KILTprotocol/specifications/blob/main/docs/did/asset-did-spec.md", 5 | "contactEmail": "devs@kilt.io", 6 | "contactName": "BOTLabs GmbH", 7 | "contactWebsite": "https://www.kilt.io/", 8 | "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-19 identifiers" 9 | } -------------------------------------------------------------------------------- /methods/prism.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "prism", 3 | "status": "registered", 4 | "specification": "https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md", 5 | "contactName": "Input Output Global Inc (IOG)", 6 | "contactEmail": "security-atala@iohk.io", 7 | "contactWebsite": "https://iohk.io/", 8 | "verifiableDataRegistry": "The Cardano blockchain" 9 | } 10 | -------------------------------------------------------------------------------- /methods/unitrust.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unitrust", 3 | "status": "registered", 4 | "specification": "https://github.com/sheca-bc/did-unitrust-specification/blob/main/README.md", 5 | "contactName": "Shanghai Electronic Certification Authority Co., Ltd.", 6 | "contactEmail": "wangzhitao@sheca.com", 7 | "contactWebsite": "https://www.sheca.com/", 8 | "verifiableDataRegistry": "Shanghai Identity Chain" 9 | } -------------------------------------------------------------------------------- /methods/ctid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ctid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "", 5 | "contactName": "Beijing Zhongdun Anxin Science and Technology Development Co., Ltd", 6 | "contactEmail": "liwending@anicert.cn", 7 | "contactWebsite": "https://www.anicert.cn/", 8 | "specification": "https://github.com/617640999/ctid-did-register/blob/main/anicert-ctid-did-en.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/everscale.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "everscale", 3 | "status": "registered", 4 | "specification": "https://git.defispace.com/ssi-4/everscale-did-registry/-/blob/master/docs/documentation.md", 5 | "verifiableDataRegistry": "Everscale blockchain", 6 | "contactName": "Dmitry V. Samorodkin", 7 | "contactEmail": "ds@radianceteam.com", 8 | "contactWebsite": "https://www.radianceteam.com/" 9 | } 10 | -------------------------------------------------------------------------------- /methods/key.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "key", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger-independent DID method based on public/private key pairs", 5 | "contactName": "Rick Astley (thank you for your inspiration), Manu Sporny, Dmitri Zagidulin, Dave Longley, Orie Steele", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://w3c-ccg.github.io/did-method-key/" 9 | } -------------------------------------------------------------------------------- /methods/kr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kr", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Korea Mobile Identity System", 5 | "contactName": "Ministry of the Interior and Safety, korea", 6 | "contactEmail": "", 7 | "contactWebsite": "https://github.com/identify202020/did-method/blob/main/did_author.md", 8 | "specification": "https://github.com/identify202020/did-method/blob/main/did_kr_method.md" 9 | } -------------------------------------------------------------------------------- /methods/tdid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tdid", 3 | "status": "registered", 4 | "verifiableDataRegistry": "FISCO BCOS", 5 | "contactName": "Tencent Technology (Shenzhen) Co.Ltd", 6 | "contactEmail": "shuangclhan@tencent.com", 7 | "contactWebsite": "https://cloud.tencent.com/product/tdid", 8 | "specification": "https://github.com/TencentCloud-Blockchain/TDID-Method-Specification/blob/main/README.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/erc725.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "erc725", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ethereum", 5 | "contactName": "Markus Sabadello, Fabian Vogelsteller, Peter Kolarov", 6 | "contactEmail": "markus@danubetech.com", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/topics-and-advance-readings/DID-Method-erc725.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/pkh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pkh", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Ledger-independent generative DID method based on CAIP-10 keypair expressions", 5 | "contactName": "Wayne Chang, Charles Lehner, Juan Caballero, Joel Thorstensson", 6 | "contactEmail": "", 7 | "contactWebsite": "", 8 | "specification": "https://github.com/w3c-ccg/did-pkh/blob/90b28ad3c18d63822a8aab3c752302aa64fc9382/did-pkh-method-draft.md" 9 | } -------------------------------------------------------------------------------- /methods/qui.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qui", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Qui", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-qui-1-0-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | 2 | # These owners will be the default owners for everything in 3 | # the repo. Unless a later match takes precedence, 4 | # they will be requested for review when someone opens a 5 | # pull request. 6 | * @msporny @apuchitnis @stenreijers @gatemezing @adam-burns @Steffytan @MizukiSonoko @rajivrajani @genaris @ajile-in @KDean-Dolphin 7 | 8 | # See CODEOWNERS syntax here: https://help.github.com/articles/about-codeowners/#codeowners-syntax 9 | -------------------------------------------------------------------------------- /methods/mesh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mesh", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-mesh-1-0-1.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/object.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "object", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-object-1-5-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/bluetoquedeed.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bluetoquedeed", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquedeed-1-0-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/bluetoquenfe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bluetoquenfe", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoquenfe-1-0-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/bluetoqueagent.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bluetoqueagent", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueagent-1-0-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/bluetoqueprocess.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bluetoqueproc", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Trusted Digital Web", 5 | "contactName": "Hyperonomy Digital Identity Lab, Parallelspace Corporation", 6 | "contactEmail": "mwherman@parallelspace.net", 7 | "contactWebsite": "http://hyperonomy.com", 8 | "specification": "https://github.com/mwherman2000/TrustedDigitalWeb/blob/master/specifications/did-methods/did-bluetoqueprocess-1-0-0.md" 9 | } 10 | -------------------------------------------------------------------------------- /methods/webs.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webs", 3 | "status": "registered", 4 | "specification": "https://trustoverip.github.io/tswg-did-method-webs-specification/", 5 | "contactName": "Trust over IP (ToIP) DID Method webs Task Force", 6 | "contactEmail": "technology-stack-wg@lists.trustoverip.org", 7 | "contactWebsite": "https://wiki.trustoverip.org/display/HOME/DID+Method+webs+Task+Force", 8 | "verifiableDataRegistry": "Web, and Key Event Receipt Infrastructure (KERI)" 9 | } 10 | -------------------------------------------------------------------------------- /methods/webvh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webvh", 3 | "status": "registered", 4 | "verifiableDataRegistry": "Web", 5 | "contactName": [ 6 | "Stephen Curran", 7 | "John Jordan", 8 | "Andrew Whitehead", 9 | "Brian Richter", 10 | "Michel Sahli", 11 | "Martina Kolpondinos", 12 | "Dmitri Zagidulin" 13 | ], 14 | "contactEmail": [ 15 | "swcurran@cloudcompass.ca", 16 | "martina@kosmaconnect.net", 17 | "brian@aviary.tech" 18 | ], 19 | "contactWebsite": "https://didwebvh.info", 20 | "specification": "https://identity.foundation/didwebvh/" 21 | } -------------------------------------------------------------------------------- /tooling/README.md: -------------------------------------------------------------------------------- 1 | ## Registry Tooling 2 | 3 | This directory contains command line tooling and support scripts for the DID 4 | Extensions. 5 | 6 | ### Setup Tooling 7 | 8 | ``` 9 | npm i 10 | ``` 11 | 12 | ### Validate DID Methods 13 | 14 | ``` 15 | npm run registry:validate 16 | ``` 17 | 18 | ### Generate DID Methods Registry Index 19 | 20 | This command is run in CI, the index file produced is git ignored. This file is 21 | used by the Respec build plugin to build the registry in client side javascript 22 | at page load time. 23 | 24 | ``` 25 | npm run registry:generate:index 26 | ``` -------------------------------------------------------------------------------- /tooling/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "did-spec-registries-tooling", 3 | "version": "0.0.1", 4 | "description": "DID Spec Registries tooling commands", 5 | "private": true, 6 | "main": "index.js", 7 | "dependencies": { 8 | "ajv": "^8.6.3", 9 | "js-yaml": "^4.1.0" 10 | }, 11 | "scripts": { 12 | "generate": "node ./generate-index.js", 13 | "validate": "node ./validate-registry.js" 14 | }, 15 | "author": "Manu Sporny (https://manu.sporny.org/)", 16 | "contributors": [ 17 | "Orie Steele (https://github.com/OR13)" 18 | ], 19 | "license": "W3C" 20 | } 21 | -------------------------------------------------------------------------------- /.github/workflows/auto-publish-properties.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/pr-push.yml 2 | name: Echidna Auto-publish did-extensions-properties 3 | on: 4 | push: 5 | branches: [main] 6 | paths: ["properties/**"] 7 | jobs: 8 | main: 9 | name: Echidna Auto-publish WD 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | - uses: w3c/spec-prod@v2 14 | with: 15 | SOURCE: properties/index.html 16 | TOOLCHAIN: respec 17 | W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_PROPERTIES }} 18 | W3C_WG_DECISION_URL: https://www.w3.org/2024/09/24-did-minutes.html#r02 19 | W3C_BUILD_OVERRIDE: | 20 | shortName: did-extensions-properties 21 | specStatus: NOTE 22 | -------------------------------------------------------------------------------- /.github/workflows/auto-publish-resolution.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/pr-push.yml 2 | name: Echidna Auto-publish did-extensions-resolution 3 | on: 4 | push: 5 | branches: [main] 6 | paths: ["resolutions/**"] 7 | jobs: 8 | main: 9 | name: Echidna Auto-publish WD 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | - uses: w3c/spec-prod@v2 14 | with: 15 | SOURCE: resolutions/index.html 16 | TOOLCHAIN: respec 17 | W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_RESOLUTION }} 18 | W3C_WG_DECISION_URL: https://www.w3.org/2024/09/24-did-minutes.html#r02 19 | W3C_BUILD_OVERRIDE: | 20 | shortName: did-extensions-resolution 21 | specStatus: NOTE 22 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint DID Methods 2 | on: 3 | pull_request: 4 | paths: ["methods/**"] 5 | 6 | jobs: 7 | lint-did-extensions: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout source code... 11 | uses: actions/checkout@v4 12 | - name: Setup Node 22... 13 | uses: actions/setup-node@v4 14 | with: 15 | node-version: 22.x 16 | - name: Install did-extensions tooling... 17 | working-directory: tooling 18 | run: npm i 19 | - name: Validate did-extensions DID method entries 20 | working-directory: tooling 21 | run: npm run validate 22 | - name: Generate did-extensions registry index 23 | working-directory: tooling 24 | run: npm run generate 25 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Decentralized Identifier Working Group 2 | 3 | Contributions to this repository are intended to become part of Recommendation-track documents governed by the 4 | [W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and 5 | [Document License](https://www.w3.org/Consortium/Legal/copyright-documents). To make substantive contributions to specifications, you must either participate 6 | in the relevant W3C Working Group or make a non-member patent licensing commitment. 7 | 8 | If you are not the sole contributor to a contribution (pull request), please identify all 9 | contributors in the pull request comment. 10 | 11 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows: 12 | 13 | ``` 14 | +@github_username 15 | ``` 16 | 17 | If you added a contributor by mistake, you can remove them in a comment with: 18 | 19 | ``` 20 | -@github_username 21 | ``` 22 | 23 | If you are making a pull request on behalf of someone else but you had no part in designing the 24 | feature, you can remove yourself with the above syntax. 25 | -------------------------------------------------------------------------------- /.github/workflows/publish-did-extensions.yml: -------------------------------------------------------------------------------- 1 | name: Github Pages Publication 2 | on: 3 | push: 4 | branches: 5 | - main 6 | 7 | jobs: 8 | publish-did-extensions: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout source code... 12 | uses: actions/checkout@v4 13 | - name: Setup Node 22... 14 | uses: actions/setup-node@v4 15 | with: 16 | node-version: 22.x 17 | - name: Install did-extensions tooling... 18 | working-directory: tooling 19 | run: npm i 20 | - name: Validate did-extensions DID method entries 21 | working-directory: tooling 22 | run: npm run validate 23 | - name: Generate did-extensions registry index 24 | working-directory: tooling 25 | run: npm run generate 26 | - name: Deploy to Github Pages 27 | uses: JamesIves/github-pages-deploy-action@v4 28 | with: 29 | branch: gh-pages 30 | folder: . 31 | token: ${{ secrets.GITHUB_TOKEN }} 32 | git-config-name: 'didwg[bot]' 33 | git-config-email: 'didwg[bot]@users.noreply.github.com' 34 | single-commit: true 35 | -------------------------------------------------------------------------------- /vocabs/v1/readme.md: -------------------------------------------------------------------------------- 1 | # Machine-readable specification for the DID Core vocabulary 2 | 3 | The folder contains: 4 | 5 | * [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. 6 | * JSON-Context file 7 | * the core [JSON-LD Context](./context.jsonld); 8 | * a human readable [HTML](./context.html) version of the context file. 9 | * RDF Graph constraints defined using 10 | * the [Shapes Constraint Language (SHACL)](https://www.w3.org/TR/shacl/) in [Turtle](./shacl.ttl) and [JSON-LD](./shacl.jsonld) formats; 11 | * the [Shape Expressions (ShEx)](http://shex.io/shex-primer/) in [ShExC](./shex.shex) format. 12 | 13 | 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. 14 | 15 | ## Notes 16 | 17 | * SHACL and ShEx are [_alternative_ formats](https://book.validatingrdf.com/bookHtml013.html) to express constraints on an RDF Graph and provide validity checking. 18 | * The [HTML version of the context file](./context.html) is currently not served from `https://www.w3.org/ns` 19 | -------------------------------------------------------------------------------- /.github/workflows/auto-publish.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/pr-push.yml 2 | name: Echidna Auto-publish did-extensions 3 | on: 4 | push: 5 | branches: [main] 6 | paths: ["index.html"] 7 | 8 | jobs: 9 | main: 10 | name: Build, Validate and Deploy 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Begin spec-prod... 14 | uses: actions/checkout@v4 15 | - name: Setup Node 22... 16 | uses: actions/setup-node@v4 17 | with: 18 | node-version: 22.x 19 | - name: Install did-extensions tooling... 20 | working-directory: tooling 21 | run: npm i 22 | - name: Validate did-extensions DID method entries 23 | working-directory: tooling 24 | run: npm run validate 25 | - name: Generate did-extensions registry index 26 | working-directory: tooling 27 | run: npm run generate 28 | - uses: w3c/spec-prod@v2 29 | with: 30 | SOURCE: index.html 31 | TOOLCHAIN: respec 32 | W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_EXTENSIONS }} 33 | W3C_WG_DECISION_URL: https://www.w3.org/2024/09/24-did-minutes.html#r02 34 | W3C_BUILD_OVERRIDE: | 35 | shortName: did-extensions 36 | specStatus: NOTE 37 | -------------------------------------------------------------------------------- /tooling/generate-index.js: -------------------------------------------------------------------------------- 1 | 2 | const fs = require('fs'); 3 | const path = require('path'); 4 | 5 | // set directories and paths 6 | const methodsDir = path.join(__dirname, '../methods'); 7 | const indexFile = path.join(methodsDir, 'index.json'); 8 | 9 | // Process all method files and generate an index file 10 | (async () => { 11 | 12 | const allMethods = []; 13 | process.stdout.write('Processing:'); 14 | fs.readdirSync(methodsDir).forEach(filename => { 15 | // skip index file 16 | if(['index.html', 'index.json'].includes(filename)) { 17 | return; 18 | } 19 | 20 | const methodFile = path.join(methodsDir, filename); 21 | const methodData = fs.readFileSync(methodFile, 'utf-8'); 22 | process.stdout.write(' ' + filename); 23 | 24 | try { 25 | const methodJson = JSON.parse(methodData); 26 | allMethods.push(methodJson); 27 | } catch(e) { 28 | console.error('\n\n❌ ERROR: Failed to parse', filename, e); 29 | process.exit(1); 30 | } 31 | }); 32 | 33 | if(allMethods.length > 0) { 34 | fs.writeFileSync(indexFile, JSON.stringify(allMethods, null, 2), 'utf-8'); 35 | console.log('\n\nGenerated /methods/index.json.'); 36 | } else { 37 | console.error('\n\n❌ ERROR: No methods found in methods directory'); 38 | process.exit(1); 39 | } 40 | 41 | })(); 42 | -------------------------------------------------------------------------------- /.github/workflows/auto-publish-methods.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/pr-push.yml 2 | name: Echidna Auto-publish did-extensions-methods 3 | on: 4 | workflow_dispatch: {} 5 | push: 6 | branches: [main] 7 | paths: ["methods/**"] 8 | jobs: 9 | main: 10 | name: Echidna Auto-publish WD 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout source... 14 | uses: actions/checkout@v4 15 | - name: Setup Node 22... 16 | uses: actions/setup-node@v4 17 | with: 18 | node-version: 22.x 19 | - name: Install did-extensions tooling... 20 | working-directory: tooling 21 | run: npm i 22 | - name: Validate did-extensions DID method entries 23 | working-directory: tooling 24 | run: npm run validate 25 | - name: Generate did-extensions registry index 26 | working-directory: tooling 27 | run: npm run generate 28 | - name: Begin spec-prod... 29 | uses: w3c/spec-prod@v2 30 | with: 31 | SOURCE: methods/index.html 32 | TOOLCHAIN: respec 33 | W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_METHODS }} 34 | W3C_WG_DECISION_URL: https://www.w3.org/2024/09/24-did-minutes.html#r02 35 | W3C_BUILD_OVERRIDE: | 36 | shortName: did-extensions-methods 37 | specStatus: NOTE 38 | -------------------------------------------------------------------------------- /vocabs/v1/context.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "@protected": true, 4 | "id": "@id", 5 | "type": "@type", 6 | 7 | "alsoKnownAs": { 8 | "@id": "https://www.w3.org/ns/activitystreams#alsoKnownAs", 9 | "@type": "@id" 10 | }, 11 | "assertionMethod": { 12 | "@id": "https://w3id.org/security#assertionMethod", 13 | "@type": "@id", 14 | "@container": "@set" 15 | }, 16 | "authentication": { 17 | "@id": "https://w3id.org/security#authenticationMethod", 18 | "@type": "@id", 19 | "@container": "@set" 20 | }, 21 | "capabilityDelegation": { 22 | "@id": "https://w3id.org/security#capabilityDelegationMethod", 23 | "@type": "@id", 24 | "@container": "@set" 25 | }, 26 | "capabilityInvocation": { 27 | "@id": "https://w3id.org/security#capabilityInvocationMethod", 28 | "@type": "@id", 29 | "@container": "@set" 30 | }, 31 | "controller": { 32 | "@id": "https://w3id.org/security#controller", 33 | "@type": "@id" 34 | }, 35 | "keyAgreement": { 36 | "@id": "https://w3id.org/security#keyAgreementMethod", 37 | "@type": "@id", 38 | "@container": "@set" 39 | }, 40 | "service": { 41 | "@id": "https://www.w3.org/ns/did#service", 42 | "@type": "@id", 43 | "@context": { 44 | "@protected": true, 45 | "id": "@id", 46 | "type": "@type", 47 | "serviceEndpoint": { 48 | "@id": "https://www.w3.org/ns/did#serviceEndpoint", 49 | "@type": "@id" 50 | } 51 | } 52 | }, 53 | "verificationMethod": { 54 | "@id": "https://w3id.org/security#verificationMethod", 55 | "@type": "@id" 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /vocabs/v1/shex.shex: -------------------------------------------------------------------------------- 1 | # This shape expression is hosted at https://www.w3.org/ns/did/v1/shex 2 | # 3 | # You can run this (using https://www.npmjs.com/package/shex/v/0.5.5), for example, with: 4 | # shex -x shex.shex -d test.ttl -n did:ex:12345 -s SubjectShape 5 | # 6 | 7 | # 8 | PREFIX did: 9 | PREFIX rdf: 10 | PREFIX as: 11 | PREFIX sec: 12 | 13 | 14 | # A controller must have a DID as an identifier 15 | _:ControllerShape IRI /^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+/ 16 | 17 | _:VerificationMethodShape IRI { 18 | sec:controller @_:ControllerShape+ ; 19 | rdf:type IRI+ ; 20 | ( sec:publicKeyJwk rdf:JSON {0,1} | sec:publicKeyMultibase LITERAL {0,1} ) {0,1}; 21 | } 22 | 23 | _:ServiceShape IRI { 24 | rdf:type IRI+ ; 25 | # 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 26 | (did:serviceEndpoint IRI | did:serviceEndpoint BNode)+; 27 | } 28 | 29 | # A DID document must have a DID as an identifier 30 | # The id is not a blank node, because that is the node referred to from the outside world 31 | IRI /^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+/ { 32 | as:alsoKnownAs IRI* ; 33 | sec:controller @_:ControllerShape* ; 34 | sec:verificationMethod @_:VerificationMethodShape* ; 35 | sec:authenticationMethod @_:VerificationMethodShape* ; 36 | sec:assertionMethod @_:VerificationMethodShape* ; 37 | sec:keyAgreementMethod @_:VerificationMethodShape* ; 38 | sec:capabilityDelegationMethod @_:VerificationMethodShape* ; 39 | sec:capabilityInvocationMethod @_:VerificationMethodShape* ; 40 | did:service @_:ServiceShape* ; 41 | } 42 | 43 | -------------------------------------------------------------------------------- /tooling/validate-registry.js: -------------------------------------------------------------------------------- 1 | 2 | const Ajv = require("ajv") 3 | const yaml = require('js-yaml'); 4 | const fs = require('fs'); 5 | const path = require('path'); 6 | const ajv = new Ajv({ strict: false }); 7 | 8 | const didMethodRegistryDirectory = path.join(__dirname, '../methods'); 9 | 10 | const schema = yaml.load(fs.readFileSync('./did-method-registry-entry.yml', 'utf8')); 11 | const validate = ajv.compile(schema) 12 | 13 | const getAllRegistryEntries = () =>{ 14 | const files = fs.readdirSync(didMethodRegistryDirectory); 15 | const entries = files.filter((file)=>{ 16 | // ignore the index file. 17 | return !(['index.html', 'index.json'].includes(file)); 18 | }).map((file) => { 19 | const fileContent = fs.readFileSync(path.join(didMethodRegistryDirectory, file)).toString(); 20 | let didMethod = { 21 | error: 'methods/' + file 22 | }; 23 | try { 24 | didMethod = JSON.parse(fileContent); 25 | } catch(e) { 26 | console.error('❌ Failed to parse DID Method registry entry: ' + 27 | 'methods/' + file); 28 | } 29 | return didMethod; 30 | }).sort((a, b)=>{ 31 | return a.name > b.name ? 1 : -1; 32 | }) 33 | return entries 34 | } 35 | 36 | const validateRegistryEntry = (entry)=>{ 37 | const valid = validate(entry) 38 | if (!valid) { 39 | console.error(entry) 40 | console.error(validate.errors) 41 | } 42 | return valid; 43 | } 44 | 45 | (async ()=>{ 46 | console.log('🧙 validating did method registry'); 47 | const entries = getAllRegistryEntries(); 48 | entries.forEach((entry)=>{ 49 | const valid = validateRegistryEntry(entry) 50 | if (!valid){ 51 | console.error('❌ Invalid did method registry entry: ' + JSON.stringify(entry, null, 2)); 52 | process.exit(1); 53 | } 54 | }) 55 | console.log('✅ did method registry is valid'); 56 | })(); 57 | -------------------------------------------------------------------------------- /tooling/did-method-registry-entry.yml: -------------------------------------------------------------------------------- 1 | --- 2 | title: DID Method Registry Entry 3 | description: This schema defines the shape of did method registrations in the did spec registries 4 | type: object 5 | additionalProperties: false 6 | required: 7 | - name 8 | - status 9 | - specification 10 | properties: 11 | name: 12 | description: https://www.w3.org/TR/did-core/#dfn-did-methods 13 | type: string 14 | maxLength: 512 15 | status: 16 | description: The status of the entry in the registry 17 | type: string 18 | enum: 19 | - registered 20 | - withdrawn 21 | - deprecated 22 | specification: 23 | description: An active URL that resolves to a human readable did method specification 24 | type: string 25 | maxLength: 512 26 | contactName: 27 | oneOf: 28 | - type: string 29 | description: A person or organization which responds to contact requests 30 | maxLength: 512 31 | - type: array 32 | items: 33 | type: string 34 | description: A person or organization which responds to contact requests 35 | maxLength: 512 36 | contactEmail: 37 | oneOf: 38 | - type: string 39 | description: An email to send contact requests 40 | maxLength: 512 41 | - type: array 42 | items: 43 | type: string 44 | description: A person or organization which responds to contact requests 45 | maxLength: 512 46 | contactWebsite: 47 | description: An website to send contact requests 48 | type: string 49 | maxLength: 512 50 | verifiableDataRegistry: 51 | description: https://www.w3.org/TR/did-core/#dfn-verifiable-data-registry 52 | type: string 53 | maxLength: 512 54 | 55 | example: { 56 | # These fields are required 57 | "name": "key", 58 | "status": "registered", 59 | "specification": "https://w3c-ccg.github.io/did-method-key/", 60 | # These fields are optional 61 | "contactName": "W3C Credentials Community Group", 62 | "contactEmail": "public-credentials@w3.org", 63 | "contactWebsite": "https://w3c-ccg.github.io/", 64 | "verifiableDataRegistry": "None (ephemeral DID Method)" 65 | } 66 | -------------------------------------------------------------------------------- /vocabs/README.md: -------------------------------------------------------------------------------- 1 | # DID Contexts 2 | 3 | ## Terms 4 | 5 | The terms present in the DID Core context (v1) are normatively defined in 6 | the [DID Core Specification](https://www.w3.org/TR/did-core), except for 7 | the following terms, which are defined in [the Security Vocabulary](https://w3id.org/security/) 8 | and maintained here for developer convenience. 9 | 10 | * `publicKey` 11 | * `blockchainAccountId` 12 | * `EcdsaSecp256k1VerificationKey2019` 13 | * `Ed25519Signature2018` 14 | * `Ed25519VerificationKey2018` 15 | * `JsonWebKey2020` 16 | * `JsonWebSignature2020` 17 | * `RsaVerificationKey2018` 18 | * `SchnorrSecp256k1VerificationKey2019` 19 | * `X25519KeyAgreementKey2019` 20 | * `ServiceEndpointProxyService` 21 | 22 | ## DID Context Versions 23 | 24 | ### Background 25 | 26 | JSON-LD context versioning (and schema versioning in general) is a complex 27 | topic, involving the need to balance security with developer convenience. 28 | 29 | On one end of the spectrum, some use cases require cryptographically bound and 30 | immutable contexts, and will need to enforce immutability at the code level 31 | (for example, by using a content-addressable URL scheme such as the in-progress 32 | [Hashlink](https://tools.ietf.org/html/draft-sporny-hashlink-03) spec, by 33 | forcing the resolution of a given URL to a known hard-coded embedded context, 34 | or any other appropriate mechanism). 35 | 36 | On the opposite end of the spectrum, developers that can tolerate the fact that 37 | the DID context is still changing (in the Credentials Community Group and the 38 | forthcoming DID Working Group), may want a way to just say "I want to use the 39 | latest in-progress `@context`", without constraining the versions. 40 | 41 | And between the two extremes, some developers may want to use strongly versioned 42 | contexts (without necessarily cryptographically binding assurance). 43 | 44 | ### Versioning 45 | 46 | The current system for DID context versioning is: 47 | 48 | 1. Use `https://www.w3.org/ns/did/v1` as an alias to the latest version of the 49 | spec. Once the DID Working Group work concludes, the final v1 version will be 50 | frozen and made immutable. 51 | 2. Use intermediate pre-v1 versioned URLs such as `https://w3id.org/did/v0.11` 52 | if you need to refer to a specific context version. 53 | 3. Use additional immutability enforcement mechanisms if your use case requires 54 | it. 55 | 56 | Contexts will be versioned according to a modified Semantic Versioning scheme. 57 | 58 | Before v1.0 (minted at the end of the Working Group process), **all changes to 59 | the context will be marked as BREAKING changes**, by incrementing the minor 60 | `v0.x` version, with no patch component. 61 | 62 | ## Changelog 63 | 64 | ### v0.11 - `https://w3id.org/did/v0.11` 65 | 66 | Start of changelog 67 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Instructions for Pull Requests 2 | 3 | Please read these instructions thoroughly in order to ensure that your pull request is processed in a timely manner. This document contains detailed instructions for registering a DID Method. If your pull request concerns some other change to the repository, you may delete all of the text in this text box and write up a more relevant description. 4 | 5 | There is a DID Method Registration form below that MUST be included in a DID Method Registration Request. The form includes check boxes that you are expected to fill out when you submit your request. 6 | 7 | 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 no objections or changes requested, your DID method will be registered after a minimum of 7 days. 8 | 9 | ## DID Method Registration Process 10 | 11 | In order to register a new DID method, you must add a JSON file to the [./methods](./methods) directory. 12 | 13 | Here is an example registration entry: 14 | 15 | ```jsonc 16 | { 17 | // These fields are required 18 | "name": "example", 19 | "status": "registered", 20 | "specification": "https://w3c-ccg.github.io/did-spec/", 21 | // These fields are optional 22 | "contactName": "W3C Credentials Community Group", 23 | "contactEmail": "", 24 | "contactWebsite": "", 25 | "verifiableDataRegistry": "DID Specification" 26 | } 27 | ``` 28 | 29 | 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. 30 | 31 | ----- DID METHOD REGISTRATION FORM: DELETE EVERYTHING ABOVE THIS LINE ------ 32 | 33 | ### DID Method Registration 34 | 35 | As a DID method registrant, I have ensured that my DID method registration complies with the following statements: 36 | 37 | - [ ] The DID Method specification [defines the DID Method Syntax](https://w3c.github.io/did-core/#method-syntax). 38 | - [ ] The DID Method specification [defines the Create, Read, Update, and Deactivate DID Method Operations](https://w3c.github.io/did-core/#method-operations). 39 | - [ ] The DID Method specification [contains a Security Considerations section](https://w3c.github.io/did-core/#security-requirements). 40 | - [ ] The DID Method specification [contains a Privacy Considerations section](https://w3c.github.io/did-core/#privacy-requirements). 41 | - [ ] The JSON file I am submitting has [passed all automated validation tests below](#partial-pull-merging). 42 | - [ ] The JSON file contains a `contactEmail` address [OPTIONAL]. 43 | - [ ] The JSON file contains a `verifiableDataRegistry` entry [OPTIONAL]. 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![W3C Logo](https://www.w3.org/Icons/w3c_home) 2 | 3 | [![Echidna Auto-publish](https://github.com/w3c/did-extensions/actions/workflows/auto-publish.yml/badge.svg)](https://github.com/w3c/did-extensions/actions/workflows/auto-publish.yml) 4 | 5 | # Decentralized Identifier Extensions 6 | 7 | This repository contains a list of known DID Extensions that are tracked 8 | by the 9 | [W3C Decentralized Identifier Working Group](https://www.w3.org/2019/did-wg/) 10 | (DID WG) for the purpose of enhancing DID ecosystem interoperability. There 11 | might be extensions to DIDs other than the ones listed here; this is not 12 | meant to be an exhaustive or centralized list of extensions. 13 | 14 | An Editor's Draft of this repository is available at 15 | https://w3c.github.io/did-extensions/. 16 | 17 | ## Adding a DID Method 18 | 19 | In order to register a new DID method, you must add a JSON file 20 | to the [./methods](./methods) directory and 21 | [open a pull request](https://github.com/w3c/did-extensions/pulls) 22 | to add the file to this repository. 23 | 24 | Here is an [example registration entry](https://w3c.github.io/did-extensions/methods/example.json): 25 | 26 | ```jsonc 27 | { 28 | // These fields are required 29 | "name": "example", 30 | "status": "registered", 31 | "specification": "https://w3c-ccg.github.io/did-spec/", 32 | // These fields are optional 33 | "contactName": "W3C Credentials Community Group", 34 | "contactEmail": "", 35 | "contactWebsite": "", 36 | "verifiableDataRegistry": "DID Specification" 37 | } 38 | ``` 39 | 40 | Your Pull Request will be automatically validated, please ensure 41 | that all of the automated tests pass (no errors reported) or 42 | your submission will not be reviewed. Common reasons for failed 43 | validation includes invalidly formatted JSON files and missing 44 | mandatory fields. There will be a checklist that you are expected 45 | to complete and attest to its accuracy. Once you submit your request, 46 | your pull request will be reviewed by the registry editors. Changes 47 | regarding the required criteria may be requested. If there are at 48 | least two reviews by registry maintainers listed in the CODEOWNERS file, and no objections or 49 | changes requested, your DID method will be registered after a 50 | minimum of 7 days and a maximum of 30 days. 51 | 52 | ## Adding Anything Else 53 | 54 | Use the standard fork, branch, and pull request workflow to propose changes to 55 | the registry. Please make branch names informative—by including the issue or 56 | bug number for example. 57 | 58 | Editorial changes that improve the readability of the registry or correct 59 | spelling or grammatical mistakes are welcome. 60 | 61 | Non-editorial changes MUST go through a review and approval process that is 62 | [detailed in the registry](https://w3c.github.io/did-extensions/#the-registration-process). 63 | 64 | Please read [CONTRIBUTING.md](CONTRIBUTING.md), about licensing contributions. 65 | 66 | ## Code of Conduct 67 | 68 | W3C functions under a [code of conduct](https://www.w3.org/Consortium/cepc/). 69 | 70 | ## DID Working Group Repositories 71 | 72 | - [W3C DID Core Specification v1.0](https://github.com/w3c/did-core) 73 | - [W3C DID Working Group](https://github.com/w3c/did-wg) 74 | - [W3C DID Rubric v1.0](https://github.com/w3c/did-rubric) 75 | - [W3C DID Use Cases v1.0](https://github.com/w3c/did-use-cases) 76 | - [W3C DID Test Suite and Implementation Report](https://github.com/w3c/did-test-suite) 77 | -------------------------------------------------------------------------------- /vocabs/did-v0.11.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "@version": 1.1, 4 | "id": "@id", 5 | "type": "@type", 6 | "dc": "http://purl.org/dc/terms/", 7 | "schema": "http://schema.org/", 8 | "sec": "https://w3id.org/security#", 9 | "didv": "https://w3id.org/did#", 10 | "xsd": "http://www.w3.org/2001/XMLSchema#", 11 | "EcdsaSecp256k1Signature2019": "sec:EcdsaSecp256k1Signature2019", 12 | "EcdsaSecp256k1VerificationKey2019": "sec:EcdsaSecp256k1VerificationKey2019", 13 | "Ed25519Signature2018": "sec:Ed25519Signature2018", 14 | "Ed25519VerificationKey2018": "sec:Ed25519VerificationKey2018", 15 | "RsaSignature2018": "sec:RsaSignature2018", 16 | "RsaVerificationKey2018": "sec:RsaVerificationKey2018", 17 | "X25519KeyAgreementKey2019": "sec:X25519KeyAgreementKey2019", 18 | "SchnorrSecp256k1Signature2019": "sec:SchnorrSecp256k1Signature2019", 19 | "SchnorrSecp256k1VerificationKey2019": "sec:SchnorrSecp256k1VerificationKey2019", 20 | "ServiceEndpointProxyService": "didv:ServiceEndpointProxyService", 21 | "allowedAction": "sec:allowedAction", 22 | "assertionMethod": { 23 | "@id": "sec:assertionMethod", 24 | "@type": "@id", 25 | "@container": "@set" 26 | }, 27 | "authentication": { 28 | "@id": "sec:authenticationMethod", 29 | "@type": "@id", 30 | "@container": "@set" 31 | }, 32 | "capability": { 33 | "@id": "sec:capability", 34 | "@type": "@id" 35 | }, 36 | "capabilityAction": "sec:capabilityAction", 37 | "capabilityChain": { 38 | "@id": "sec:capabilityChain", 39 | "@type": "@id", 40 | "@container": "@list" 41 | }, 42 | "capabilityDelegation": { 43 | "@id": "sec:capabilityDelegationMethod", 44 | "@type": "@id", 45 | "@container": "@set" 46 | }, 47 | "capabilityInvocation": { 48 | "@id": "sec:capabilityInvocationMethod", 49 | "@type": "@id", 50 | "@container": "@set" 51 | }, 52 | "capabilityStatusList": { 53 | "@id": "sec:capabilityStatusList", 54 | "@type": "@id" 55 | }, 56 | "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm", 57 | "caveat": { 58 | "@id": "sec:caveat", 59 | "@type": "@id", 60 | "@container": "@set" 61 | }, 62 | "challenge": "sec:challenge", 63 | "controller": { 64 | "@id": "sec:controller", 65 | "@type": "@id" 66 | }, 67 | "created": { 68 | "@id": "dc:created", 69 | "@type": "xsd:dateTime" 70 | }, 71 | "creator": { 72 | "@id": "dc:creator", 73 | "@type": "@id" 74 | }, 75 | "delegator": { 76 | "@id": "sec:delegator", 77 | "@type": "@id" 78 | }, 79 | "domain": "sec:domain", 80 | "expirationDate": { 81 | "@id": "sec:expiration", 82 | "@type": "xsd:dateTime" 83 | }, 84 | "invocationTarget": { 85 | "@id": "sec:invocationTarget", 86 | "@type": "@id" 87 | }, 88 | "invoker": { 89 | "@id": "sec:invoker", 90 | "@type": "@id" 91 | }, 92 | "jws": "sec:jws", 93 | "keyAgreement": { 94 | "@id": "sec:keyAgreementMethod", 95 | "@type": "@id", 96 | "@container": "@set" 97 | }, 98 | "nonce": "sec:nonce", 99 | "owner": { 100 | "@id": "sec:owner", 101 | "@type": "@id" 102 | }, 103 | "proof": { 104 | "@id": "sec:proof", 105 | "@type": "@id", 106 | "@container": "@graph" 107 | }, 108 | "proofPurpose": { 109 | "@id": "sec:proofPurpose", 110 | "@type": "@vocab" 111 | }, 112 | "proofValue": "sec:proofValue", 113 | "publicKey": { 114 | "@id": "sec:publicKey", 115 | "@type": "@id", 116 | "@container": "@set" 117 | }, 118 | "publicKeyBase58": "sec:publicKeyBase58", 119 | "publicKeyPem": "sec:publicKeyPem", 120 | "revoked": { 121 | "@id": "sec:revoked", 122 | "@type": "xsd:dateTime" 123 | }, 124 | "service": { 125 | "@id": "didv:service", 126 | "@type": "@id", 127 | "@container": "@set" 128 | }, 129 | "serviceEndpoint": { 130 | "@id": "didv:serviceEndpoint", 131 | "@type": "@id" 132 | }, 133 | "verificationMethod": { 134 | "@id": "sec:verificationMethod", 135 | "@type": "@id" 136 | } 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /vocabs/v1/shacl.ttl: -------------------------------------------------------------------------------- 1 | # This shape file is hosted at https://www.w3.org/ns/did/v1/shex 2 | # 3 | # You can run this (using https://pypi.org/project/pyshacl/), for example, with: 4 | # pyshacl -s shacl.ttl -e vocab.ttl -f human test.ttl 5 | # 6 | 7 | @prefix did: . 8 | @prefix as: . 9 | @prefix sec: . 10 | @prefix rdf: . 11 | @prefix xsd: . 12 | @prefix sh: . 13 | 14 | 15 | _:ObjectShape a sh:NodeShape ; 16 | # Some properties are valid only on DID Subjects and they will set the right shape 17 | # Note that this is not the case sec:controller (that can also be used on did:VerificationMethod) 18 | 19 | sh:targetClass did:DIDSubject ; 20 | sh:targetSubjectsOf 21 | as:alsoKnownAs, 22 | sec:verificationMethod, 23 | sec:authenticationMethod, 24 | sec:assertionMethod, 25 | sec:keyAgreementMethod, 26 | sec:capabilityDelegationMethod, 27 | sec:capabilityInvocationMethod, 28 | did:service ; 29 | sh:property 30 | [ 31 | sh:path as:alsoKnownAs ; 32 | sh:nodeKind sh:IRI ; 33 | ],[ 34 | sh:path sec:controller ; 35 | sh:pattern "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" ; 36 | ],[ 37 | sh:path sec:verificationMethod ; 38 | sh:nodeKind sh:IRI ; 39 | ],[ 40 | sh:path sec:authenticationMethod ; 41 | sh:nodeKind sh:IRI ; 42 | ],[ 43 | sh:path sec:assertionMethod ; 44 | sh:nodeKind sh:IRI ; 45 | ],[ 46 | sh:path sec:keyAgreementMethod ; 47 | sh:nodeKind sh:IRI ; 48 | ],[ 49 | sh:path sec:capabilityDelegationMethod ; 50 | sh:nodeKind sh:IRI ; 51 | ],[ 52 | sh:path did:capabilityInvocationMethod ; 53 | sh:nodeKind sh:IRI ; 54 | ],[ 55 | sh:path did:service ; 56 | sh:nodeKind sh:IRI ; 57 | ]; 58 | . 59 | 60 | 61 | ####################################################################################### 62 | # Verification Methods 63 | ####################################################################################### 64 | 65 | _:VerificationMethodShape a sh:NodeShape ; 66 | # Generic shape for verification method, putting constraints on the allowed properties 67 | sh:targetClass did:VerificationMethod ; 68 | sh:targetObjectsOf 69 | sec:verificationMethod, 70 | sec:authenticationMethod, 71 | sec:assertionMethod, 72 | sec:keyAgreementMethod, 73 | sec:capabilityDelegationMethod, 74 | sec:capabilityInvocationMethod ; 75 | sh:property 76 | [ 77 | sh:path sec:publicKeyJwk ; 78 | sh:nodeKind sh:Literal ; 79 | sh:datatype rdf:JSON ; 80 | sh:maxCount 1; 81 | ],[ 82 | sh:path sec:publicKeyBase58 ; 83 | sh:nodeKind sh:Literal ; 84 | sh:datatype xsd:string ; 85 | sh:maxCount 1; 86 | ],[ 87 | sh:path sec:controller ; 88 | # A controller must be identified with a DID... 89 | sh:pattern "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" ; 90 | sh:minCount 1 91 | ],[ 92 | # The type must be identified, ie, there must be at least one 'type' 93 | sh:path rdf:type ; 94 | sh:nodeKind sh:IRI ; 95 | sh:minCount 1 ; 96 | ]; 97 | sh:not [ 98 | a sh:NodeShape ; 99 | sh:property 100 | [ 101 | sh:path sec:publicKeyMultibase ; 102 | sh:minCount 1 ; 103 | ],[ 104 | sh:path sec:publicKeyJwk ; 105 | sh:minCount 1 ; 106 | ]; 107 | ] ; 108 | . 109 | 110 | ####################################################################################### 111 | # Constraint on services 112 | ####################################################################################### 113 | 114 | _:ServiceShape a sh:NodeShape ; 115 | sh:targetClass did:ServiceEndpoint ; 116 | sh:targetObjectsOf did:service ; 117 | sh:property [ 118 | sh:path did:serviceEndpoint ; 119 | sh:nodeKind sh:BlankNodeOrIRI ; 120 | sh:minCount 1 ; 121 | ],[ 122 | sh:path rdf:type ; 123 | sh:nodeKind sh:IRI ; 124 | sh:minCount 1 ; 125 | ] ; 126 | . 127 | -------------------------------------------------------------------------------- /vocabs/v1/context.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DID Core v1.0 Terms 6 | 7 | 12 | 13 | 16 | 49 | 62 | 63 | 64 |
65 |

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

69 |
70 | 71 |
72 |
73 | 74 |
75 |

76 | Introduction 77 |

78 |

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

81 |

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

86 |

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

91 |
92 | 93 |
94 |

95 | Vocabulary 96 |

97 | 98 |

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

102 | 103 | 144 |
145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /vocabs/v1/vocab.ttl: -------------------------------------------------------------------------------- 1 | @prefix did: . 2 | @prefix as: . 3 | @prefix sec: . 4 | @prefix rdf: . 5 | @prefix xsd: . 6 | @prefix rdfs: . 7 | @prefix owl: . 8 | 9 | did: a owl:Ontology ; 10 | 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." 11 | . 12 | 13 | ################################################################# 14 | # Classes 15 | ################################################################# 16 | 17 | did:DIDSubject a rdfs:Class ; 18 | rdfs:comment "Top level class for resources identified via a DID subject" ; 19 | rdfs:isDefinedBy ; 20 | rdfs:label "DID Document" ; 21 | . 22 | 23 | did:VerificationMethod a rdfs:Class ; 24 | rdfs:comment "Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself." ; 25 | rdfs:isDefinedBy ; 26 | rdfs:label "Verification Method" ; 27 | . 28 | 29 | did:Service a rdfs:Class ; 30 | rdfs:comment "Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities" ; 31 | rdfs:isDefinedBy ; 32 | rdfs:label "Service Endpoint" ; 33 | . 34 | 35 | 36 | ################################################################# 37 | # Properties 38 | ################################################################# 39 | 40 | as:alsoKnownAs a rdf:Property ; 41 | rdfs:isDefinedBy ; 42 | rdfs:comment "This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers." ; 43 | . 44 | 45 | sec:controller a rdf:Property ; 46 | rdfs:isDefinedBy ; 47 | rdfs:comment "An entity that is authorized to make changes to a DID Document" ; 48 | . 49 | 50 | sec:verificationMethod a rdf:Property ; 51 | rdfs:range did:VerificationMethod ; 52 | rdfs:comment "A generic method to refer to a Verification Method" ; 53 | rdfs:isDefinedBy ; 54 | . 55 | 56 | sec:authenticationMethod a rdf:Property ; 57 | rdfs:range did:VerificationMethod ; 58 | 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." ; 59 | rdfs:isDefinedBy ; 60 | . 61 | 62 | sec:assertionMethod a rdf:Property ; 63 | rdfs:range did:VerificationMethod ; 64 | 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." ; 65 | rdfs:isDefinedBy ; 66 | . 67 | 68 | sec:keyAgreementMethod a rdf:Property ; 69 | rdfs:range did:VerificationMethod ; 70 | 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." ; 71 | rdfs:isDefinedBy ; 72 | . 73 | 74 | sec:capabilityDelegationMethod a rdf:Property ; 75 | rdfs:range did:VerificationMethod ; 76 | 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. " ; 77 | rdfs:isDefinedBy ; 78 | . 79 | 80 | sec:capabilityInvocationMethod a rdf:Property ; 81 | rdfs:range did:VerificationMethod ; 82 | 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." ; 83 | rdfs:isDefinedBy ; 84 | . 85 | 86 | sec:publicKeyJwk a rdf:Property, owl:DatatypeProperty ; 87 | rdfs:domain did:VerificationMethod ; 88 | rdfs:range rdf:JSON ; 89 | rdfs:isDefinedBy ; 90 | rdfs:label "Public Key in JWK" ; 91 | . 92 | 93 | sec:publicKeyMultibase a rdf:Property, owl:DatatypeProperty ; 94 | rdfs:domain did:VerificationMethod ; 95 | rdfs:range xsd:string ; 96 | rdfs:isDefinedBy ; 97 | rdfs:label "A string that conforms to a multibase encoded public key" ; 98 | . 99 | 100 | did:service a rdf:Property ; 101 | rdfs:domain did:DIDSubject ; 102 | rdfs:range did:Service ; 103 | rdfs:isDefinedBy ; 104 | . 105 | 106 | did:serviceEndpoint a rdf:Property ; 107 | rdfs:domain did:Service ; 108 | rdfs:isDefinedBy ; 109 | . 110 | -------------------------------------------------------------------------------- /vocabs/v1/vocab.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "domain": { 4 | "@id": "http://www.w3.org/2000/01/rdf-schema#domain", 5 | "@type": "@id" 6 | }, 7 | "range": { 8 | "@id": "http://www.w3.org/2000/01/rdf-schema#range", 9 | "@type": "@id" 10 | }, 11 | "isDefinedBy": { 12 | "@id": "http://www.w3.org/2000/01/rdf-schema#isDefinedBy", 13 | "@type": "@id" 14 | }, 15 | "label": { 16 | "@id": "http://www.w3.org/2000/01/rdf-schema#label" 17 | }, 18 | "comment": { 19 | "@id": "http://www.w3.org/2000/01/rdf-schema#comment" 20 | }, 21 | "sec": "https://w3id.org/security#", 22 | "as": "https://www.w3.org/ns/activitystreams#", 23 | "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 24 | "owl": "http://www.w3.org/2002/07/owl#", 25 | "xsd": "http://www.w3.org/2001/XMLSchema#", 26 | "rdfs": "http://www.w3.org/2000/01/rdf-schema#", 27 | "did": "https://www.w3.org/ns/did#" 28 | }, 29 | "@graph": [ 30 | { 31 | "@id": "https://www.w3.org/ns/did#", 32 | "@type": "owl:Ontology", 33 | "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." 34 | }, 35 | { 36 | "@id": "did:DIDSubject", 37 | "@type": "rdfs:Class", 38 | "comment": "Top level class for resources identified via a DID subject", 39 | "isDefinedBy": "https://www.w3.org/TR/did-core/#core-properties", 40 | "label": "DID Document" 41 | }, 42 | { 43 | "@id": "did:Service", 44 | "@type": "rdfs:Class", 45 | "comment": "Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities", 46 | "isDefinedBy": "https://www.w3.org/TR/did-core/#services", 47 | "label": "Service Endpoint" 48 | }, 49 | { 50 | "@id": "did:VerificationMethod", 51 | "@type": "rdfs:Class", 52 | "comment": "Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself.", 53 | "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", 54 | "label": "Verification Method" 55 | }, 56 | { 57 | "@id": "sec:assertionMethod", 58 | "@type": "rdf:Property", 59 | "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.", 60 | "isDefinedBy": "https://www.w3.org/TR/did-core/#assertion", 61 | "range": "did:VerificationMethod" 62 | }, 63 | { 64 | "@id": "sec:authenticationMethod", 65 | "@type": "rdf:Property", 66 | "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.", 67 | "isDefinedBy": "https://www.w3.org/TR/did-core/#authentication", 68 | "range": "did:VerificationMethod" 69 | }, 70 | { 71 | "@id": "sec:capabilityDelegationMethod", 72 | "@type": "rdf:Property", 73 | "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. ", 74 | "isDefinedBy": "https://www.w3.org/TR/did-core/#capability-delegation", 75 | "range": "did:VerificationMethod" 76 | }, 77 | { 78 | "@id": "sec:capabilityInvocationMethod", 79 | "@type": "rdf:Property", 80 | "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.", 81 | "isDefinedBy": "https://www.w3.org/TR/did-core/#capability-invocation", 82 | "range": "did:VerificationMethod" 83 | }, 84 | { 85 | "@id": "sec:controller", 86 | "@type": "rdf:Property", 87 | "comment": "An entity that is authorized to make changes to a DID Document", 88 | "isDefinedBy": "https://www.w3.org/TR/did-core/#control" 89 | }, 90 | { 91 | "@id": "sec:keyAgreementMethod", 92 | "@type": "rdf:Property", 93 | "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.", 94 | "isDefinedBy": "https://www.w3.org/TR/did-core/#key-agreement", 95 | "range": "did:VerificationMethod" 96 | }, 97 | { 98 | "@id": "sec:publicKeyMultibase", 99 | "@type": [ 100 | "rdf:Property", 101 | "owl:DatatypeProperty" 102 | ], 103 | "domain": "did:VerificationMethod", 104 | "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", 105 | "label": "A string that conforms to a multibase encoded public key", 106 | "range": "xsd:string" 107 | }, 108 | { 109 | "@id": "sec:publicKeyJwk", 110 | "@type": [ 111 | "rdf:Property", 112 | "owl:DatatypeProperty" 113 | ], 114 | "domain": "did:VerificationMethod", 115 | "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", 116 | "label": "Public Key in JWK", 117 | "range": "rdf:JSON" 118 | }, 119 | { 120 | "@id": "sec:verificationMethod", 121 | "@type": "rdf:Property", 122 | "comment": "A generic method to refer to a Verification Method", 123 | "isDefinedBy": "https://www.w3.org/TR/did-core/#verification-methods", 124 | "range": "did:VerificationMethod" 125 | }, 126 | { 127 | "@id": "as:alsoKnownAs", 128 | "@type": "rdf:Property", 129 | "comment": "This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers.", 130 | "isDefinedBy": "https://www.w3.org/TR/did-core/#also-known-as" 131 | }, 132 | { 133 | "@id": "did:service", 134 | "@type": "rdf:Property", 135 | "domain": "did:DIDSubject", 136 | "isDefinedBy": "https://www.w3.org/TR/did-core/#services", 137 | "range": "did:Service" 138 | }, 139 | { 140 | "@id": "did:serviceEndpoint", 141 | "@type": "rdf:Property", 142 | "domain": "did:Service", 143 | "isDefinedBy": "https://www.w3.org/TR/did-core/#services" 144 | } 145 | ] 146 | } 147 | -------------------------------------------------------------------------------- /vocabs/v1/shacl.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "path": { 4 | "@id": "http://www.w3.org/ns/shacl#path", 5 | "@type": "@id" 6 | }, 7 | "pattern": { 8 | "@id": "http://www.w3.org/ns/shacl#pattern" 9 | }, 10 | "nodeKind": { 11 | "@id": "http://www.w3.org/ns/shacl#nodeKind", 12 | "@type": "@id" 13 | }, 14 | "datatype": { 15 | "@id": "http://www.w3.org/ns/shacl#datatype", 16 | "@type": "@id" 17 | }, 18 | "maxCount": { 19 | "@id": "http://www.w3.org/ns/shacl#maxCount", 20 | "@type": "http://www.w3.org/2001/XMLSchema#integer" 21 | }, 22 | "minCount": { 23 | "@id": "http://www.w3.org/ns/shacl#minCount", 24 | "@type": "http://www.w3.org/2001/XMLSchema#integer" 25 | }, 26 | "targetObjectsOf": { 27 | "@id": "http://www.w3.org/ns/shacl#targetObjectsOf", 28 | "@type": "@id" 29 | }, 30 | "targetClass": { 31 | "@id": "http://www.w3.org/ns/shacl#targetClass", 32 | "@type": "@id" 33 | }, 34 | "not": { 35 | "@id": "http://www.w3.org/ns/shacl#not", 36 | "@type": "@id" 37 | }, 38 | "property": { 39 | "@id": "http://www.w3.org/ns/shacl#property", 40 | "@type": "@id" 41 | }, 42 | "targetSubjectsOf": { 43 | "@id": "http://www.w3.org/ns/shacl#targetSubjectsOf", 44 | "@type": "@id" 45 | }, 46 | "sec": "https://w3id.org/security#", 47 | "as": "https://www.w3.org/ns/activitystreams#", 48 | "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", 49 | "sh": "http://www.w3.org/ns/shacl#", 50 | "xsd": "http://www.w3.org/2001/XMLSchema#", 51 | "did": "https://www.w3.org/ns/did#" 52 | }, 53 | "@graph": [ 54 | { 55 | "@id": "_:ObjectShape", 56 | "@type": "sh:NodeShape", 57 | "property": [ 58 | { 59 | "nodeKind": "sh:IRI", 60 | "path": "sec:capabilityDelegationMethod" 61 | }, 62 | { 63 | "nodeKind": "sh:IRI", 64 | "path": "sec:verificationMethod" 65 | }, 66 | { 67 | "nodeKind": "sh:IRI", 68 | "path": "sec:authenticationMethod" 69 | }, 70 | { 71 | "nodeKind": "sh:IRI", 72 | "path": "did:capabilityInvocationMethod" 73 | }, 74 | { 75 | "nodeKind": "sh:IRI", 76 | "path": "as:alsoKnownAs" 77 | }, 78 | { 79 | "path": "sec:controller", 80 | "pattern": "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" 81 | }, 82 | { 83 | "nodeKind": "sh:IRI", 84 | "path": "sec:keyAgreementMethod" 85 | }, 86 | { 87 | "nodeKind": "sh:IRI", 88 | "path": "sec:assertionMethod" 89 | }, 90 | { 91 | "nodeKind": "sh:IRI", 92 | "path": "did:service" 93 | } 94 | ], 95 | "targetClass": "did:DIDSubject", 96 | "targetSubjectsOf": [ 97 | "as:alsoKnownAs", 98 | "sec:authenticationMethod", 99 | "did:service", 100 | "sec:capabilityDelegationMethod", 101 | "sec:keyAgreementMethod", 102 | "sec:verificationMethod", 103 | "sec:assertionMethod", 104 | "sec:capabilityInvocationMethod" 105 | ] 106 | }, 107 | { 108 | "@id": "_:VerificationMethodShape", 109 | "@type": "sh:NodeShape", 110 | "not": { 111 | "@id": "_:b5", 112 | "@type": "sh:NodeShape", 113 | "property": [ 114 | { 115 | "sh:minCount": 1, 116 | "path": "sec:publicKeyMultibase" 117 | }, 118 | { 119 | "sh:minCount": 1, 120 | "path": "sec:publicKeyJwk" 121 | } 122 | ] 123 | }, 124 | "property": [ 125 | { 126 | "datatype": "rdf:JSON", 127 | "sh:maxCount": 1, 128 | "nodeKind": "sh:Literal", 129 | "path": "sec:publicKeyJwk" 130 | }, 131 | { 132 | "sh:minCount": 1, 133 | "path": "sec:controller", 134 | "pattern": "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" 135 | }, 136 | { 137 | "sh:minCount": 1, 138 | "nodeKind": "sh:IRI", 139 | "path": "rdf:type" 140 | }, 141 | { 142 | "datatype": "xsd:string", 143 | "sh:maxCount": 1, 144 | "nodeKind": "sh:Literal", 145 | "path": "sec:publicKeyMultibase" 146 | } 147 | ], 148 | "targetClass": "did:VerificationMethod", 149 | "targetObjectsOf": [ 150 | "sec:capabilityInvocationMethod", 151 | "sec:assertionMethod", 152 | "sec:keyAgreementMethod", 153 | "sec:verificationMethod", 154 | "sec:capabilityDelegationMethod", 155 | "sec:authenticationMethod" 156 | ] 157 | }, 158 | { 159 | "@id": "_:ServiceShape", 160 | "@type": "sh:NodeShape", 161 | "property": [ 162 | { 163 | "@id": "_:b3", 164 | "sh:minCount": 1, 165 | "nodeKind": "sh:BlankNodeOrIRI", 166 | "path": "did:serviceEndpoint" 167 | }, 168 | { 169 | "@id": "_:b19", 170 | "sh:minCount": 1, 171 | "nodeKind": "sh:IRI", 172 | "path": "rdf:type" 173 | } 174 | ], 175 | "targetClass": "did:ServiceEndpoint", 176 | "targetObjectsOf": "did:service" 177 | } 178 | ] 179 | } 180 | -------------------------------------------------------------------------------- /json_schemas/core.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://w3c.github.io/did-spec-registries/schemas/core.schema.json", 4 | "title": "DID Core Vocabulary schema", 5 | "$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)", 6 | "definitions": { 7 | "did.schema" : { 8 | "type" : "string", 9 | "pattern" : "^did:[a-z0-9]+:[a-zA-Z0-9.-_:]+" 10 | }, 11 | 12 | "type.schema" : { 13 | "type" : [ 14 | "string", 15 | "array" 16 | ], 17 | "uniqueItems": true, 18 | "items" : { 19 | "type" : "string" 20 | } 21 | }, 22 | 23 | "JWK.schema" : { 24 | "type" : "object", 25 | "properties": { 26 | "kty": { 27 | "type": "string" 28 | }, 29 | "use": { 30 | "type": "string" 31 | }, 32 | "key_ops": { 33 | "type": "array", 34 | "items": { 35 | "type": "string" 36 | } 37 | }, 38 | "alg": { 39 | "type": "string" 40 | }, 41 | "kid": { 42 | "type": "string" 43 | }, 44 | "x5u": { 45 | "type": "string" 46 | }, 47 | "x5c": { 48 | "type": "array", 49 | "items": { 50 | "type": "string" 51 | } 52 | }, 53 | "x5t": { 54 | "type": "string" 55 | }, 56 | "x5t#S256": { 57 | "type": "string" 58 | } 59 | }, 60 | "required": ["kty"], 61 | "additionalProperties": true 62 | }, 63 | 64 | "one_verification_method.schema" : { 65 | "type" : "object", 66 | "properties": { 67 | "publicKeyJwk" : { 68 | "$ref" : "#/definitions/JWK.schema" 69 | }, 70 | "publicKeyMultibase" : { 71 | "type" : "string" 72 | }, 73 | "controller" : { 74 | "$ref" : "#/definitions/did.schema" 75 | }, 76 | "id" : { 77 | "type": "string", 78 | "format" : "uri-reference" 79 | }, 80 | "type" : { 81 | "$ref" : "#/definitions/type.schema" 82 | } 83 | }, 84 | "required" : ["id", "type", "controller"], 85 | "not": { 86 | "required" : ["publicKeyJwk","publicKeyMultibase"] 87 | }, 88 | "additionalProperties" : true 89 | }, 90 | 91 | "verification_method_strict.schema" : { 92 | "type" : "array", 93 | "uniqueItems": true, 94 | "items" : { 95 | "$ref" : "#/definitions/one_verification_method.schema" 96 | } 97 | }, 98 | 99 | "verification_method_with_urls.schema" : { 100 | "type" : "array", 101 | "uniqueItems": true, 102 | "items" : { 103 | "oneOf" : [ 104 | { 105 | "type": "string", 106 | "format" : "uri-reference" 107 | }, 108 | { 109 | "$ref" : "#/definitions/one_verification_method.schema" 110 | } 111 | ] 112 | } 113 | }, 114 | 115 | "service.schema" : { 116 | "type" : "array", 117 | "uniqueItems": true, 118 | "items" : { 119 | "type" : "object", 120 | "properties" : { 121 | "id" : { 122 | "type" : "string", 123 | "format" : "uri-reference" 124 | }, 125 | "type" : { 126 | "$ref" : "#/definitions/type.schema" 127 | }, 128 | "serviceEndpoint" : { 129 | "oneOf" : [ 130 | { 131 | "type": "string", 132 | "format" : "uri-reference" 133 | }, 134 | { 135 | "type" : "object" 136 | }, 137 | { 138 | "type" : "array", 139 | "uniqueItems": true, 140 | "items": { 141 | "oneOf" : [ 142 | { 143 | "type": "string", 144 | "format" : "uri-reference" 145 | }, 146 | { 147 | "type" : "object" 148 | } 149 | ] 150 | } 151 | } 152 | ] 153 | } 154 | }, 155 | "required": ["id", "type", "serviceEndpoint"], 156 | "additionalProperties" : true 157 | } 158 | } 159 | }, 160 | 161 | "type": "object", 162 | "properties": { 163 | "id" : { 164 | "$ref" : "#/definitions/did.schema" 165 | }, 166 | "alsoKnownAs" : { 167 | "type" : "array", 168 | "uniqueItems": true, 169 | "items": { 170 | "type" : "string", 171 | "format" : "uri-reference" 172 | } 173 | }, 174 | "controller" : { 175 | "$ref" : "#/definitions/did.schema" 176 | }, 177 | "verificationMethod" : { 178 | "$ref" : "#/definitions/verification_method_strict.schema" 179 | }, 180 | "authentication" : { 181 | "$ref" : "#/definitions/verification_method_with_urls.schema" 182 | }, 183 | "assertionMethod" : { 184 | "$ref" : "#/definitions/verification_method_with_urls.schema" 185 | }, 186 | "keyAgreement" : { 187 | "$ref" : "#/definitions/verification_method_with_urls.schema" 188 | }, 189 | "capabilityDelegation" : { 190 | "$ref" : "#/definitions/verification_method_with_urls.schema" 191 | }, 192 | "capabilityInvocation" : { 193 | "$ref" : "#/definitions/verification_method_with_urls.schema" 194 | }, 195 | "service" : { 196 | "$ref" : "#/definitions/service.schema" 197 | } 198 | }, 199 | "required" : ["id"], 200 | "additionalProperties" : true 201 | } 202 | -------------------------------------------------------------------------------- /vocabs/v1/vocab.rdf: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 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. 9 | 10 | 11 | 12 | This relationship is a statement that the subject of this identifier is also identified by one or more other identifiers. 13 | 14 | 15 | 16 | 17 | 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. 18 | 19 | 20 | 21 | 22 | Service endpoints are used in DID documents to express ways of communicating with the DID subject or associated entities 23 | 24 | 25 | Service Endpoint 26 | 27 | 28 | 29 | 30 | 31 | 32 | Public Key in JWK 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 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. 43 | 44 | 45 | 46 | 47 | 48 | 49 | 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. 50 | 51 | 52 | 53 | 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. 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | A string that conforms to a multibase encoded public key 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 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. 77 | 78 | 79 | 80 | 81 | Verification Method 82 | Superclass for all specific verification Methods. It is an 'abstract' class, never used by itself. 83 | 84 | 85 | 86 | 87 | 88 | A generic method to refer to a Verification Method 89 | 90 | 91 | 92 | An entity that is authorized to make changes to a DID Document 93 | 94 | 95 | 96 | 97 | DID Document 98 | 99 | Top level class for resources identified via a DID subject 100 | 101 | 102 | -------------------------------------------------------------------------------- /methods/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DID Methods 6 | 7 | 12 | 13 | 14 | 71 | 208 | 236 | 237 | 238 |
239 |

240 | This document serves as a collection of known DID Methods. 241 |

242 |
243 | 244 |
245 | 246 |

247 | Comments regarding this document are welcome. Please file issues 248 | directly on 249 | GitHub, 250 | or send them 251 | to public-did-wg@w3.org ( 252 | subscribe, 253 | archives). 254 |

255 | 256 |

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

264 | 265 |

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

272 |
273 | 274 |
275 |

Introduction

276 | 277 |

278 | This document serves as a collection of known DID Methods. 279 |

280 | 281 |
282 |

The Registration Process

283 |

284 | The registration process is described in the [[[DID-EXTENSIONS]]]. 285 |

286 |
287 | 288 |
289 | 290 |
291 | 292 |
293 |

DID Methods

294 | 295 |

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

303 |

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

312 | 313 |
314 | 315 |
316 | 317 | 318 | 319 | -------------------------------------------------------------------------------- /vocabs/v1/vocab.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DID Core v1.0 Terms 7 | 8 | 9 | 10 | 12 | 13 | 65 | 79 | 80 | 81 | 82 |
83 |

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

86 |
87 | 88 |
89 |
90 | 91 |
92 |

93 | Introduction 94 |

95 | 96 |

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

98 | 99 |
100 |
DID Core Namespace
101 |
https://www.w3.org/ns/did#
102 |
Security Vocabulary Namespace
103 |
https://w3id.org/security#
104 |
ActivityStreams 2.0 Terms
105 |
https://www.w3.org/ns/activitystreams#
106 |
107 | 108 |

109 | 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. 110 |

111 |

112 | 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 113 | below references both those terms. 114 |

115 | 116 |

117 | 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. 118 |

119 |
120 | 121 |
122 |

Formal Versions of the Vocabulary

123 |

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

126 | 127 |
128 |
Turtle:
129 |
https://www.w3.org/ns/did.ttl
130 |
JSON-LD:
131 |
https://www.w3.org/ns/did.jsonld
132 |
RDF/XML:
133 |
https://www.w3.org/ns/did.rdf
134 |
135 | 136 |

137 | 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, 138 |

139 |
140 | 141 |
142 |

143 | Vocabulary 144 |

145 | 146 |
147 |

148 | Classes 149 |

150 |

151 | 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 152 | these. 153 |

154 | 155 |
156 |
DIDSubject
157 |
158 |
    159 |
  • URI: https://www.w3.org/ns/did#serviceEndpoint
  • 160 |
161 |
162 |
Service
163 |
164 |
    165 |
  • URI: https://www.w3.org/ns/did#Service
  • 166 |
167 |
168 |
VerificationMethod
169 |
170 |
    171 |
  • URI: https://www.w3.org/ns/did#VerificationMethod
  • 172 |
173 |
174 |
175 |
176 | 177 |
178 |

Properties

179 | 180 |

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

183 | 184 |
185 |
alsoKnownAs
186 |
187 | 191 |
192 | 193 |
assertionMethod
194 |
195 | 199 |
200 | 201 |
authenticationMethod, referred to as authentication
202 |
203 | 207 |
208 | 209 |
capabilityDelegationMethod, referred to as capabilityDelegation
210 |
211 | 215 |
216 | 217 |
capabilityInvocationMethod, referred to as capabilityInvocation
218 |
219 | 223 |
224 | 225 |
controller
226 |
227 | 231 |
232 | 233 |
keyAgreementMethod, referred to as keyAgreement
234 |
235 | 239 |
240 | 241 |
publicKeyMultibase
242 |
243 | 247 |
248 | 249 |
publicKeyJwk
250 |
251 | 255 |
256 | 257 |
service
258 |
259 | 263 |
264 | 265 | 266 |
serviceEndpoint
267 |
268 | 272 |
273 | 274 | 275 |
verificationMethod
276 |
277 | 281 |
282 | 283 |
284 |
285 |
286 | 287 |
288 |

Constraints Definitions

289 | 290 |

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

291 | 292 |
    293 |
  • Expressed in SHACL [[shacl]], available in Turtle or JSON-LD formats.
  • 294 |
  • Expressed in ShEx [[shex]], available in shex format.
  • 295 | 296 | 297 |
298 | 299 | 300 |
301 | 302 | 303 | 304 | 305 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Decentralized Identifier Extensions 6 | 7 | 12 | 13 | 15 | 141 | 169 | 170 | 171 |
172 |

173 | This document serves as a repository for all known global parameters, 174 | properties, and values used by the Decentralized Identifier ecosystem. 175 |

176 |
177 | 178 |
179 | 180 |

181 | This repository is under active development and implementers are advised 182 | against using the repository unless they are directly involved with the 183 | W3C DID Working Group. 184 |

185 | 186 |

187 | Comments regarding this document are welcome. Please file issues 188 | directly on 189 | GitHub, 190 | or send them 191 | to public-did-wg@w3.org ( 192 | subscribe, 193 | archives). 194 |

195 | 196 |

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

204 | 205 |

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

212 |
213 | 214 |
215 |

Introduction

216 | 217 |

218 | This document serves as a list of documents that contain known properties and 219 | values used by DID Methods [[DID-CORE]] and DID Resolution [[DID-RESOLUTION]] in 220 | the Decentralized Identifier ecosystem. 221 |

222 | 223 |
224 | 225 |
226 | 227 |
228 |

The Registration Process

229 |

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

239 | 240 |
    241 |
  1. 242 | Any addition to the DID Extensions MUST specify a human readable 243 | description of the addition. 244 |
  2. 245 |
  3. 246 | Any name or value of a property or parameter MUST be indicative of 247 | its function. Avoid generic terms such as "myProperty" or "foo". 248 |
  4. 249 |
  5. 250 | Any method name SHOULD avoid generic terms such as "mymethod" or "registry". 251 |
  6. 252 |
  7. 253 | Any DID Method submission MUST not impose any concerns about copyright, 254 | trademark, or intellectual property rights on the W3C, DID Method 255 | implementers, or users. To that end, the following apply: 256 |
      257 |
    1. 258 | DID Method submitters affirm to the best of their knowledge that their 259 | submission will not infringe upon or otherwise violate the rights of any third 260 | party. 261 |
    2. 262 |
    3. 263 | If there are any known concerns about copyright, trademark, or intellectual 264 | property rights, the addition and use of a DID Method MUST be authorized in 265 | writing by the holder of the intellectual property rights under an 266 | F/RAND 267 | license. 268 |
    4. 269 |
    5. 270 | If a DID Method is subsequently alleged to violate any copyright, trademark, 271 | or intellectual property rights, those making the allegation MUST provide 272 | documentation of their granted legal rights or an order from a court or 273 | arbitral tribunal, in each case of competent jurisdiction. 274 |
    6. 275 |
    7. 276 | Should documentation of legally valid and enforceable copyright, trademark, 277 | or intellectual property rights be presented, then, at the discretion of the 278 | rights holder, the DID Method in question MUST be removed. 279 |
    8. 280 |
    281 |
  8. 282 |
  9. 283 | Any addition MUST NOT create unreasonable legal, security, moral, or privacy 284 | issues that will result in direct harm to others. Examples of unacceptable 285 | additions include any containing racist language, technologies used to 286 | persecute minority populations, and unconsented pervasive tracking. 287 |
  10. 288 |
  11. 289 | Any addition to the DID Extensions MUST link, via at least a URL, 290 | preferably a content-integrity protected one, to the defining specification so 291 | that implementers can implement the property. 292 |
  12. 293 |
  13. 294 | Any addition to the DID Extensions that is a property or value, MUST 295 | specify a machine readable JSON-LD Context for the addition. 296 |
      297 |
    • 298 | The JSON-LD Context MUST be included in full as part of the submission. 299 |
    • 300 |
    • 301 | A namespace URI MUST be provided for the JSON-LD Context so that consumer 302 | implementations can consistently map a URI to the full context. 303 |
    • 304 |
    • 305 | The URI provided MUST be persistent, and link all terms to their associated 306 | human readable descriptions. 307 |
    • 308 |
    • 309 | The URI provided SHOULD resolve or link to the full context contents. 310 |
    • 311 |
    • 312 | JSON-LD Contexts MUST be versioned and MUST NOT be date stamped. 313 |
    • 314 |
    • 315 | JSON-LD Contexts SHOULD use scoped terms and MUST use the @protected 316 | feature to eliminate the possibility of term conflicts. 317 |
    • 318 |
    319 |
  14. 320 |
  15. 321 | Properties in the DID Extensions MUST NOT be removed, only deprecated. 322 |
  16. 323 |
324 | 325 |

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

337 | 338 |

339 | Entries that are identified to cause interoperability problems MAY be marked as 340 | such at the discretion of the maintainers of this repository, and if possible, 341 | after consultation with the entry maintainer. 342 |

343 | 344 |

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

349 |
350 | 351 |
352 |

Extensions

353 | 354 |

355 | The following documents list known extensions to the DID Ecosystem: 356 |

357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 368 | 369 | 370 | 371 | 374 | 375 | 376 | 377 | 380 | 384 | 385 | 386 |
DocumentDescription
366 | Property and Value Extensions 367 | Extensions to DID Document properties and values.
372 | Resolution Extensions 373 | Extensions to DID Resolution parameters and results.
378 | DID Methods 379 | 381 | Ephemeral, distributed, and fully decentralized mechanisms for supporting 382 | Decentralized Identifiers across a variety of technology platforms. 383 |
387 | 388 |
389 | 390 | 391 | 392 | --------------------------------------------------------------------------------