/universal-resolver

Universal Resolver implementation and drivers.

Primary LanguageJavaApache License 2.0Apache-2.0

DIF Logo

Universal Resolver

A Universal Resolver is an identifier resolver that works with any decentralized identifier system, including Decentralized Identifiers (DIDs).

See this blog post and this webinar for an introduction.

See https://resolver.identity.foundation/ for a stable version or https://dev.uniresolver.io/ for a test instance of a Universal Resolver.

Quick Start

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

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

You should then be able to resolve identifiers locally using simple curl requests as follows:

curl -X GET http://localhost:8080/1.0/identifiers/did:sov:WRfXPg8dantKVubE3HX8pw
curl -X GET http://localhost:8080/1.0/identifiers/did:btcr:xz35-jznz-q6mr-7q6
curl -X GET http://localhost:8080/1.0/identifiers/did:v1:test:nym:z6Mkmpe2DyE4NsDiAb58d75hpi1BjqbH6wYMschUkjWDEEuR
curl -X GET http://localhost:8080/1.0/identifiers/did:key:z6Mkfriq1MqLBoPWecGoDLjguo1sB9brj6wT3qZ5BxkKpuP6
curl -X GET http://localhost:8080/1.0/identifiers/did:ipid:QmYA7p467t4BGgBL4NmyHtsXMoPrYH9b3kSG6dbgFYskJm
curl -X GET http://localhost:8080/1.0/identifiers/did:web:data-vault.eu:u:zi4xgcHtYo7fh_KAURaO1beG2v6WN9ImVnQ30CBDEJjLrw
curl -X GET http://localhost:8080/1.0/identifiers/did:ethr:mainnet:0x3b0BC51Ab9De1e5B7B6E34E5b960285805C41736
curl -X GET http://localhost:8080/1.0/identifiers/did:ethr:0x02b97c30de767f084ce3080168ee293053ba33b235d7116a3263d29f1450936b71
curl -X GET http://localhost:8080/1.0/identifiers/did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI
curl -X GET http://localhost:8080/1.0/identifiers/did:jolo:e76fb4b4900e43891f613066b9afca366c6d22f7d87fc9f78a91515be24dfb21
curl -X GET http://localhost:8080/1.0/identifiers/did:stack:v0:16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg-0
curl -X GET http://localhost:8080/1.0/identifiers/did:erc725:ropsten:2F2B37C890824242Cb9B0FE5614fA2221B79901E
curl -X GET http://localhost:8080/1.0/identifiers/did:hcr:0f674e7e-4b49-4898-85f6-96176c1e30de
curl -X GET http://localhost:8080/1.0/identifiers/did:neoid:priv:b4eeeb80d20bfb38b23001d0659ce0c1d96be0aa
curl -X GET http://localhost:8080/1.0/identifiers/did:elem:EiAS3mqC4OLMKOwcz3ItIL7XfWduPT7q3Fa4vHgiCfSG2A
curl -X GET http://localhost:8080/1.0/identifiers/did:github:gjgd
curl -X GET http://localhost:8080/1.0/identifiers/did:ccp:ceNobbK6Me9F5zwyE3MKY88QZLw
curl -X GET http://localhost:8080/1.0/identifiers/did:work:2UUHQCd4psvkPLZGnWY33L
curl -X GET http://localhost:8080/1.0/identifiers/did:ont:AN5g6gz9EoQ3sCNu7514GEghZurrktCMiH
curl -X GET http://localhost:8080/1.0/identifiers/did:kilt:5CqJa4Ct7oMeMESzehTiN9fwYdGLd7tqeirRMpGDh2XxYYyx
curl -X GET http://localhost:8080/1.0/identifiers/did:evan:testcore:0x126E901F6F408f5E260d95c62E7c73D9B60fd734
curl -X GET http://localhost:8080/1.0/identifiers/did:echo:1.1.25.0
curl -X GET http://localhost:8080/1.0/identifiers/did:factom:testnet:6aa7d4afe4932885b5b6e93accb5f4f6c14bd1827733e05e3324ae392c0b2764
curl -X GET http://localhost:8080/1.0/identifiers/did:dock:5FXqofpV7dsuki925U1dSzDvBuQbaci5yWTQGVWRQ7bdQP5p
curl -X GET http://localhost:8080/1.0/identifiers/did:abt:z116ygT18P67xBp3scBtZLU6xVoDy268bgnY
curl -X GET http://localhost:8080/1.0/identifiers/did:trustbloc:testnet.trustbloc.dev:EiBh6SP9nw2W-1Z9Y9KB0-GZ8hvtYxFgE5oeSVbTmbpXmw
curl -X GET http://localhost:8080/1.0/identifiers/did:sirius:2VhYrbauc2cCx9ZpCp5wrDtK7HKf7jrsvgoKBD4KgK
curl -X GET http://localhost:8080/1.0/identifiers/did:mpg:7PGGnRdvKKFftSXU3Jw75Vk5npfg
curl -X GET http://localhost:8080/1.0/identifiers/did:trust:cert.EiBJ6qjVXgJ-A8xnaUiu4rtLDgeobQYgRWjMV49aCak4HQ
curl -X GET http://localhost:8080/1.0/identifiers/did:io:0x476c81C27036D05cB5ebfe30ae58C23351a61C4A
curl -X GET http://localhost:8080/1.0/identifiers/did:bba:t:45e6df15dc0a7d91dcccd24fda3b52c3983a214fb0eed0938321c11ec99403cf
curl -X GET http://localhost:8080/1.0/identifiers/did:cy:2nnn7H7RJLLhFPoGyzxPCLzuhrzJ
curl -X GET http://localhost:8080/1.0/identifiers/did:bid:6cc796b8d6e2fbebc9b3cf9e
curl -X GET http://localhost:8080/1.0/identifiers/did:schema:public-ipfs:json-schema:Qma2beXKwZeiUXcaRaQKwbBV1TqyiJnsMTYExUTdQue43J
curl -X GET http://localhost:8080/1.0/identifiers/did:ion:EiC5-1uBg-YC2DvQRbI6eihDvk7DOYaQ08OB0I3jCe9Ydg:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6ImFHc01HMHU5Rlg2STU0cGVJS3FZb2tqblFQR2hMVVlUT1FOYzNuT3ZFMVEiLCJ5IjoiZmppbHFoZVdRWWtITkU3MHNoTVJ5TURyWnA4RUdDZkVfYUwzaC15Sm1RQSJ9LCJwdXJwb3NlIjpbImF1dGgiLCJnZW5lcmFsIl0sInR5cGUiOiJFY2RzYVNlY3AyNTZrMVZlcmlmaWNhdGlvbktleTIwMTkifV0sInNlcnZpY2VfZW5kcG9pbnRzIjpbeyJlbmRwb2ludCI6Imh0dHA6Ly9hbnkuZW5kcG9pbnQiLCJpZCI6ImFueVNlcnZpY2VFbmRwb2ludElkIiwidHlwZSI6ImFueVR5cGUifV19fV0sInVwZGF0ZV9jb21taXRtZW50IjoiRWlERkM2RE9Ed0JNeG5kX19oMTFSeDRObjFlOHpubFlPUjJhLVBqeUNva2NGZyJ9LCJzdWZmaXhfZGF0YSI6eyJkZWx0YV9oYXNoIjoiRWlBbExNMC1qem1DWi1FcElVZ0laQ2piWk5yMDFfVVBMbnd5MHdfT3I0Rks0dyIsInJlY292ZXJ5X2NvbW1pdG1lbnQiOiJFaUJDNGhTMVVHeVNnTmYzbWFMdnNKRUpxX05aQUlKa0pndTNKMTJMeGNESE93In19

If this doesn't work, see Troubleshooting.

Drivers

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

Driver Name Driver Version DID Spec Version DID Method Spec Version Docker Image
did-abt 0.1-SNAPSHOT 1.0 WD 0.1 arcblock/driver-did-abt
did-btcr 0.1-SNAPSHOT 1.0 WD 0.1 universalresolver/driver-did-btcr
did-sov 0.1-SNAPSHOT 1.0 WD 0.1 universalresolver/driver-did-sov
did-erc725 0.1-SNAPSHOT 1.0 WD 0.1 universalresolver/driver-did-erc725
did-stack 0.1 1.0 WD (missing) universalresolver/driver-did-stack
did-dom 0.1-SNAPSHOT 1.0 WD (missing) universalresolver/driver-did-dom
did-ethr 1.4.0 1.0 WD 3.0.0 uport/uni-resolver-driver-did-uport
did-web 1.4.0 1.0 WD 3.0.0 uport/uni-resolver-driver-did-uport
did-v1 0.1 1.0 WD 1.0 veresone/uni-resolver-did-v1-driver
did-key 0.1 1.0 WD 0.7 veresone/uni-resolver-did-v1-driver
did-ipid 1.0 WD 0.1
did-jolo 0.1 1.0 WD 0.1 jolocomgmbh/jolocom-did-driver
did-hacera 0.1 1.0 WD (missing) hacera/hacera-did-driver
did-elem 0.1 1.0 WD (missing)
did-seraphid 0.1 1.0 WD (missing) swisscomblockchainag/seraph-id-did-driver
did-github 0.1 1.0 WD (missing)
did-ccp 0.1-SNAPSHOT 1.0 WD 0.1 hello2mao/driver-did-ccp
did-work 0.2 1.0 WD 1.0 didwork/work-did-driver
did-ont 0.1 1.0 WD 1.0 ontio/ontid-driver
did-kilt 1.2.1 1.0 WD 1.0 kiltprotocol/kilt-did-driver
did-evan 0.1 1.0 WD 0.9 evannetwork/evan-did-driver
did-echo 0.0.1 1.0 WD 1.0 echoprotocol/uni-resolver-driver-did-echo
did-factom 0.1-SNAPSHOT 1.0 WD 1.0 sphereon/driver-did-factom
did-key 1.0.0 1.0 WD 0.7 universalresolver/driver-did-key
did-dock 0.1.0 1.0 WD 0.1 docknetwork/dock-did-driver
did-trustbloc 0.1.4 1.0 WD 0.1 trustbloc/driver-did-trustbloc
did-sirius 0.0.1 1.0 WD 0.2 proximax-enterprise/tsjs-did-sirius-id-driver
did-trust 0.1 1.0 WD 0.1 bjwswang/driver-did-trust
did-io 0.1.0 1.0 WD (missing) iotex/uni-resolver-driver-did-io
did-bba 0.2.0 1.0 WD 1.0 blobaa/bba-did-driver
[did-cy] 0.1.0 1.0 WD
did-bid 1.0.0 1.0 WD 1.0.1 teleinfo/driver-did-bid
did-schema 0.1.1 1.0 WD 0.1 51nodes/schema-registry-did-resolver
did-ion 0.8.1 1.0 WD 0.1 identityfoundation/driver-did-ion

More Information

About

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


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