Skip to main content

Walk-through

Please note that if you are reading this line, it means the final documentation is not ready yet. Release of the full documentation is scheduled for the end of Q3 of 2023.

VDX exposes several ways to manage DIDs. In this walk-through we will be using the DIF Universal Registrar and Universal Resolver compatible endpoints. These endpoints ensure maximum interoperability and minimal vendor lock-in at the cost of some more advanced features.

Creating a DID

jobId
string

Id of an ongoing DID creation process.

object

Options for the DID create operation, such as the network where the DID should be created

secret
object

Object with DID controller keys and other secrets needed for performing the DID create operation.

didDocument
object

Partial or complete DID document

{
  • "jobId": "6d85bcd0-2ea3-4288-ab00-15afadd8a156",
  • "options": {
    },
  • "secret": {
    },
  • "didDocument": { }
}

Resolving a DID

Resolving a DID using VDX Universal Resolver compatible endpoint:

curl -H "Accept: application/ld+json;profile=https://w3c-ccg.github.io/did-resolution/" https://api.staging.verifiable-data.com/dids/universal-resolver/1.0/identifiers/did:ion:EiCprjAMfWpp7zYXDZV2TGNDV6U4AEBN2Jr6sVsuzL7qhA
didDocument
object
didResolutionMetadata
object
didDocumentMetadata
object
{
  • "didDocument": "{\n \"@context\": \"https://w3id.org/did-resolution/v1\",\n \"didDocument\": {\n \"id\": \"did:ion:EiCprjAMfWpp7zYXDZV2TGNDV6U4AEBN2Jr6sVsuzL7qhA\",\n \"@context\": [\n \"https://www.w3.org/ns/did/v1\",\n {\n \"@base\": \"did:ion:EiCprjAMfWpp7zYXDZV2TGNDV6U4AEBN2Jr6sVsuzL7qhA\"\n }\n ],\n \"verificationMethod\": [\n {\n \"id\": \"#did1-test2\",\n \"controller\": \"did:ion:EiCprjAMfWpp7zYXDZV2TGNDV6U4AEBN2Jr6sVsuzL7qhA\",\n \"type\": \"EcdsaSecp256k1VerificationKey2019\",\n \"publicKeyJwk\": {\n \"kty\": \"EC\",\n \"crv\": \"secp256k1\",\n \"x\": \"aMjNCWMdeXJRg3PDzE7TE9P2xFpoL9fRkJ0toVBMB8E\",\n \"y\": \"Qz7vj0zUj6S4daGIuEMbB_Ua6Q6wOTGAo46tXLi3SxE\"\n }\n }\n ],\n \"authentication\": [\n \"#did1-test2\"\n ],\n \"assertionMethod\": [\n \"#did1-test2\"\n ]\n },\n \"didDocumentMetadata\": {\n \"method\": {\n \"published\": true,\n \"recoveryCommitment\": \"EiDAQXSi7HcjJVBYAKdO2zrM4HfybmBBCWsl6PQPJ_jklA\",\n \"updateCommitment\": \"EiBzp7YhN9mhUcZsFdxnf-lwkRU-hVbBtZWsVoJHV6jkwA\"\n },\n \"canonicalId\": \"did:ion:EiCprjAMfWpp7zYXDZV2TGNDV6U4AEBN2Jr6sVsuzL7qhA\"\n }\n}\n",
  • "didResolutionMetadata": { },
  • "didDocumentMetadata": { }
}