Product Docs
Product DocsTechnical DocsLearning & GovernanceUseful Links
  • Product Docs
  • Node Docs
  • Learning Docs
  • â„šī¸Getting Started
    • Product Overview
    • âžĄī¸Get Started with cheqd Studio
      • 👉Set Up Your Account
      • đŸ—ī¸Create API Keys
      • đŸĒ™Token Top Up
      • 🔄Advanced Configuration Options
    • â˜‘ī¸Use Trust Registries for AI Agents
      • đŸ—ī¸Build an AI Agent Trust Registry
        • Setup AI Agent Trust Registry
          • Issue Verifiable Credentials to AI Agent
        • Setup and Configure MCP Server
          • Create AI Agent DID
          • Import Credential to AI Agent
          • Advanced functionality
            • Issue a Verifiable Credential
            • Verify a Credential
      • 🤝Validate AI Agent Trust Chain
  • đŸŸĸStart using cheqd
    • 🆔Create DIDs and Identity Keys
      • Create Issuer DID
      • Create Identity Keys and Subject DIDs
      • Resolve a DID
      • Update a DID
      • Deactivate a DID
    • ✅Issue Credentials and Presentations
      • Issue Credential
      • Setup Verida Wallet
      • Verify Credential
      • Verify Presentation
      • Revoke Credential
      • Suspend or Unsuspend Credential
    • â™ģī¸Charge for Verifiable Credentials
      • Understanding Credential Payments
        • Access Control Conditions
        • Privacy Considerations
      • Charge for Status List
      • Issue Credential with Encrypted Status List
      • Create Verifier Pays Issuer flow
      • Bulk Update or Rotate Encryption Keys
    • 🤝Build Trust Registries
      • Decentralized Trust Chains (DTCs)
        • Root Authorisations
        • RTAO -> TAO
        • TAO -> SubTAO
        • TAO -> Trusted Issuer (TI)
        • Referencing Trust Registry within a Verifiable Credential
      • Set up Trust Chain
        • Issue Verifiable Accreditation
        • Verify Verifiable Accreditation
      • Get Started with TRAIN
        • Deploy TRAIN and Anchor rTAO in DNS
        • Validate Trust Chain
    • 🎋Create Status Lists
      • Bitstring Status List
        • Create Bitstring Status List
        • Update Bitstring Status List
        • Check Bitstring Status List
        • Search Bitstring Status List
      • Token Status List
        • Create Token Status List
        • Update Token Status List
    • â†•ī¸Create DID-Linked Resources
      • Understanding DID-Linked Resources
        • Context for developing DID-Linked Resources
        • Technical composition of DID-Linked Resources
        • Referencing DID-Linked Resources in VCs
      • Create DID-Linked Resource
      • Search DID-Linked Resource
  • đŸ› ī¸Integrate an SDK
    • Choosing the right SDK
    • 🍏Credo
      • Setup Credo Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create DID-Linked Resource
        • Resolve DID-Linked Resource
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential (AnonCreds)
        • Present a Verifiable Credential (AnonCreds)
    • 🍊ACA-Py
      • Setup ACA-Py Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • AnonCreds
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
          • Revoke a Verifiable Credential
        • JSON-LD
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
    • 🍈Veramo
      • Setup Veramo CLI for cheqd
        • Troubleshooting Veramo CLI setup
      • Decentralised Identifiers (DIDs)
        • Create a DID
        • Querying a DID
        • Update an existing DID
        • Deactivate a DID
        • Create an off-ledger holder DID
        • Managing Identity Keys
        • Troubleshooting
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential
        • Verify a Verifiable Credential
        • Create a Verifiable Presentation
        • Verify a Verifiable Presentation
      • Credential Payments
        • Charge for Status List
        • Issue Credential with Encrypted Status List
        • Verifier pays Issuer
      • Bitstring Status List
        • Create Status List
        • Issuing a Verifiable Credential referencing Status List
      • DID-Linked Resources
        • Create a DID-Linked Resource
        • Create a new Resource version within existing Collection
    • đŸĢWalt.id Community Stack
  • đŸ—ī¸Architecture
    • Architecture Decision Record (ADR) Process
    • List of ADRs
      • đŸ”ĩADR 001: cheqd DID Method
      • đŸŸĸADR 002: DID-Linked Resources
      • 🟡ADR 003: DID Resolver
      • 🟠ADR 004: DID Registrar
      • đŸŸŖADR 005: DID Resolution & DID URL Dereferencing
  • đŸ’ĢAdvanced features and alternatives
    • âžĄī¸DID Registrar
      • Setup DID Registrar
      • Create a DID
      • Create a DID-Linked Resource
    • âŦ…ī¸DID Resolver
      • Setup DID Resolver
    • ⚡AnonCreds Object Method
      • Schemas
      • Credential Definitions
      • Revocation Registry Definitions
      • Revocation Status Lists
    • 🌠Advanced Tooling
      • cheqd Cosmos CLI for identity
        • Create a DID
        • Update a DID
        • Deactivate a DID
        • Query a DID
        • Create a DID-Linked Resource
        • Update a DID-Linked Resource
      • Direct interaction with ledger code
      • VDR Tools CLI with cheqd (deprecated)
      • Demo Wallet for Identity Setup
  • âš›ī¸Network
    • Get started with cheqd Network
      • Identity Write Pricing
      • Comparison to Hyperledger Indy
    • ⏊Setup your Wallet
      • Setup Leap Wallet
        • Congifure cheqd testnet for Leap
      • Setup Keplr Wallet
      • Migrate from Keplr to Leap Wallet
    • â†Ēī¸Useful Tools and APIs
      • Block Explorer
      • Testnet Faucet
      • Validator Status API
      • Cheqd x Cosmos Data APIs
      • Cosmos Airdrop Helpers
      • Cosmos Address Convertor
      • Ethereum Bridge
    • âŦ†ī¸Network Upgrades
      • 2021
        • 0.1.x
        • 0.2.x
        • 0.3.x
      • 2022
        • 0.4.x
        • 0.5.x
        • 0.6.x
      • 2023
        • 1.x
      • 2024
        • 2.x
        • 3.x
      • Root Cause Analysis of Outages
        • v1.x upgrade RCA
  • âš–ī¸Legal
    • License
    • Code of Conduct
    • Security Policy
  • 🆘Support
    • System Status
    • Discord
    • Bugs & Feature Requests
Powered by GitBook
LogoLogo

General

  • Website
  • Blog
  • Get $CHEQ

Product Docs

  • Product Docs
  • cheqd Studio
  • Creds.xyz
  • Bug/Feature Requests

Technical Docs

  • Node Docs
  • GitHub
  • Block Explorer

Learning Docs

  • Learning Docs
  • Governance Docs
  • Governance Forum
  • Governance Explorer
On this page
  • Resolving did:cheqd using our DID Resolver
  • Running your own cheqd DID Resolver using Docker
  • Configure resolver settings
  • Building your own Docker image
  • Using Docker Build
  • Using Docker Compose Build
  • Running a custom built image
  • Resolving did:cheqd via Universal Resolver
  • Using a pre-existing Universal Resolver endpoint
  • Running your own Universal Resolver instance

Was this helpful?

Edit on GitHub
Export as PDF
  1. Advanced features and alternatives
  2. DID Resolver

Setup DID Resolver

Setup the cheqd DID Resolver to start resolving or dereferencing cheqd Decentralized Identifiers (DIDs) and DID-Linked Resources (DLRs).

Last updated 14 days ago

Was this helpful?

Resolving did:cheqd using our DID Resolver

This page describes how to use and set up the software package.

If you do not want to install anything and just want to resolve a did:cheqd entry from the ledger, you can load the REST API endpoint for in your browser.

Or, make a request from terminal to this hosted REST API:

curl -X GET https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:55dbc8bf-fba3-4117-855c-1e0dc1d3bb47

Running your own cheqd DID Resolver using Docker

Spinning up a Docker container from the is as simple as the command below:

docker compose -f docker/docker-compose.yml up --detach

Configure resolver settings

To configure the resolver, modify the values under the environment section of the . The values that can be edited are as follows:

  1. MAINNET_ENDPOINT : Mainnet Network endpoint as string with the following format" <networks>,<useTls>,<timeout>. Example: grpc.cheqd.net:443,true,5s

    1. networks: A string specifying the Cosmos SDK gRPC endpoint from which the Resolver pulls data. Format: <resource_url>:<resource_port>

    2. useTls: Specify whether gRPC connection to ledger should use secure or insecure pulls. Default is true since gRPC uses HTTP/2 with TLS as the transport mechanism.

    3. timeout: Timeout (in seconds) to wait for before any ledger requests are considered to have time out.

  2. TESTNET_ENDPOINT : Testnet Network endpoint as string with the following format" <networks>,<useTls>,<timeout>. Example: grpc.cheqd.network:443,true,5s

  3. RESOLVER_LISTENER`: A string with address and port where the resolver listens for requests from clients.

  4. LOG_LEVEL: debug/warn/info/error - to define the application log level.

gRPC Endpoints used by DID Resolver

###############################################################################
###                           gRPC Configuration                            ###
###############################################################################

[grpc]

# Enable defines if the gRPC server should be enabled.
enable = true

# Address defines the gRPC server address to bind to.
address = "0.0.0.0:9090"

Note: If you're pointing a DID Resolver to your own node instance, by default cheqd-node instance gRPC endpoints are not served up with a TLS certificate. This means the useTls property would need to be set to false, unless you're otherwise using a load balancer that provides TLS connections to the gRPC port.

Building your own Docker image

Using Docker Build

You can build your own image using docker build

docker build --file docker/Dockerfile --target resolver . --tag did-resolver:local

Using Docker Compose Build

Uncomment the build section in the docker/docker-compose.yml file. This relies on the Dockerfile above but uses Docker Compose syntax to customise the build:

build:
  context: ../
  dockerfile: docker/Dockerfile
  target: resolver
image: did-resolver:local
# image: ghcr.io/cheqd/did-resolver:${IMAGE_VERSION}

Make sure you comment out the pre-existing image property that pulls in a container image from Github Container Registry, as shown above.

You can also do just a build with:

docker-compose -f docker/docker-compose.yml --env-file docker/docker-compose.env build --no-cache

Running a custom built image

The instructions to configure and run the resolver are the same as when using the pre-built image.

Resolving did:cheqd via Universal Resolver

Using a pre-existing Universal Resolver endpoint

curl -X GET https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:55dbc8bf-fba3-4117-855c-1e0dc1d3bb47

Running your own Universal Resolver instance

You can also run your own instance of Universal Resolver, using the Docker Compose file of the project.

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

Our DID Resolver uses the from cheqd-node to fetch data. Typically, this would be running on port 9090 on a cheqd-node instance.

You can either use (such as the default ones mentioned above), or point it to your own cheqd-node instance by enabling gRPC in the app.toml configuration file on a node:

The API endpoint is run by the cheqd team and only handles did:cheqd credentials.

If you want to resolve DIDs from multiple DID methods, the project provides a multi DID method resolver.

You can make resolution requests to a pre-existing Universal Resolver endpoint, such as , to their REST API endpoint:

The provides instructions on how to do this:

đŸ’Ģ
âŦ…ī¸
cheqd DID Resolver
resolver.cheqd.net
pre-built did-resolver Docker image on Github
Docker Compose file
Cosmos gRPC endpoint
public gRPC endpoints for the cheqd network
resolver.cheqd.net
Universal Resolver
dev.uniresolver.io
Universal Resolver quick start guide