decentralized-identity / universal-registrar

Universal Registrar implementation and drivers.
https://uniregistrar.io/
Apache License 2.0
79 stars 27 forks source link
decentralized-identifiers universal-registrar wg-id

DIF Logo

Universal Registrar

The Universal Registrar creates/updates/deactivates Decentralized Identifiers (DIDs) across many different DID methods, based on the W3C DID Core 1.0 and DID Registration specifications.

See https://uniregistrar.io/ for a publicly hosted instance of a Universal Registrar. See Docker Hub for images.

Quick Start

You can deploy the Universal Registrar on your local machine by cloning this Github repository, and using docker compose to build and run the Universal Registrar as well as its drivers:

git clone https://github.com/decentralized-identity/universal-registrar
cd universal-registrar/
docker compose -f docker-compose.yml pull
docker compose -f docker-compose.yml up

You should then be able to create/update/deactivate identifiers locally using simple curl requests as follows:

curl -X POST 'http://localhost:9080/1.0/create?method=v1' -d '{"options":{"ledger":"test","keytype": "ed25519"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=sov' -d '{"options":{"network":"danube"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=btcr' -d '{"options":{"chain":"TESTNET"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=key' -d '{"options":{"keyType": "Ed25519VerificationKey2018"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=ion' -d '{}'
curl -X POST 'http://localhost:9080/1.0/create?method=web' -d '{}'
curl -X POST 'http://localhost:9080/1.0/create?method=ebsi' -d '{"secret":{"token":"ey......"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=oyd' -d '{"didDocument":{"@context":"https://www.w3.org/ns/did/v1","authentication":[]}}'
curl -X POST 'http://localhost:9080/1.0/create?method=cheqd' -d '{"didDocument":{...}}'
curl -X POST 'http://localhost:9080/1.0/create?method=ethr' -d '{"options":{"network":"goerli"}}'
curl -X POST 'http://localhost:9080/1.0/create?method=dyne' -d '{"didDocument":{}}'

If this doesn't work, see Troubleshooting.

Note that there is also a Universal Registrar frontend that can optionally be installed separately.

Drivers

Are you developing a DID method and Universal Registrar driver? Click Driver Development for instructions.

Driver Name Driver Version DID Method Spec Version Docker Image or URL
did-btcr 0.1-SNAPSHOT 0.1 universalregistrar/driver-did-btcr
did-sov 0.1-SNAPSHOT 0.1 universalregistrar/driver-did-sov
did-v1 0.1-SNAPSHOT 0.1 universalregistrar/driver-did-v1
did-key 1.0.0 0.7 universalregistrar/driver-did-key
did-ion 1.0.0 0.0 universalregistrar/driver-did-ion
did-web 1.0.0 0.0 universalregistrar/driver-did-web
did-ebsi 1.0.0 (missing) universalregistrar/driver-did-ebsi
did-oyd 0.5.0 0.5 oydeu/oydid-registrar
did-cheqd 2.0.6 1.0 cheqd/did-registrar
did-ethr 0.2.0 0.0 universalregistrar/driver-did-ethr
did-dyne 0.2.0 1.0 dyne/did-registrar

More Information

About

Decentralized Identity Foundation - https://identity.foundation/


Supported by NLnet and NGI0 PET, which is made possible with financial support from the European Commission's Next Generation Internet programme.


Supported by NGI TRUSTCHAIN, which is made possible with financial support from the European Commission's Next Generation Internet programme.