DID methods are expected to provide standards-compliant methods of DID and DID Document ("DIDDoc") production.
The cheqd DID Resolver is designed to implement the W3C DID Resolution specification for did:cheqd
method.
The Architecture Decision Record for the cheqd DID Resolver describes the architecture & design decisions for this 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 resolver.cheqd.net 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:mainnet:zF7rhDBfUt9d1gJPjx7s1JXfUY7oVWkY
Spinning up a Docker container from the pre-built did-resolver
Docker image on Github is as simple as the command below:
docker-compose -f docker/docker-compose.yml --env-file docker/docker-compose.env up --no-build
Environment variables needed in Docker Compose are defined in the docker/docker-compose.env
file. There are defaults already specified, but you can edit these.
IMAGE_VERSION
(default:latest
): Version number / tag of the Docker image to run. By default, this is set to pull images from Github Container Registry.RESOLVER_PORT
(default:8080
): Port on which the Resolver service is published/exposed on the host machine. Internally mapped to port 8080 in the container.RESOLVER_HOME_DIR
(default:/resolver
): Default config directory inside the Docker container
To configure the resolver, edit the config.yaml
file in the root of the @cheqd/did-resolver
repository. The values that can be edited are as follows:
ledger
networks
: A string specifying the Cosmos SDK gRPC endpoint from which the Resolver pulls data. Format:<did-namespace>=<resource_url>:<resource_port>;...
useTls
: Specify whether gRPC connection to ledger should use secure or insecure pulls. Default istrue
since gRPC uses HTTP/2 with TLS as the transport mechanism.timeout
: Timeout (in seconds) to wait for before any ledger requests are considered to have time out.
resolver
method
: A string describing DID Method that the resolver uses. Set tocheqd
.
api
listener
: A string with address and port where the resolver listens for requests from clients.resolverPath
: A string with path for DID Doc resolution. Example:/1.0/identifiers/:did
for requests like/1.0/identifiers/did:cheqd:testnet:MTMxDQKMTMxDQKMT
logLevel
:debug
/warn
/info
/error
- to define the application log level
ledger:
# Provide gRPC endpoints for one of more networks "namespaces" to fetch DIDs/DIDDocs from
# Must be in format "namespace=endpoint:port"
networks: "mainnet=grpc.cheqd.net:443;testnet=grpc.cheqd.network:443"
# Specify whether gRPC connection to ledger should use secure or insecure pulls
# default: true
useTls: true
# Specify a timeout value
timeout: "5s"
resolver:
method: "cheqd"
api:
listener: "0.0.0.0:1313"
resolverPath: "/1.0/identifiers/:did"
logLevel: "warn"
Further documentation on cheqd DID Resolver is available on the cheqd Identity Documentation site. This includes instructions on how to do custom builds using Dockerfile
/ Docker Compose.
The cheqd Community Slack is our primary chat channel for the open-source community, software developers, and node operators.
Please reach out to us there for discussions, help, and feedback on the project.