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.
To configure the resolver, use environment variables or edit them in the container.env
file in the root of the @cheqd/did-resolver
repository. The values that can be edited are as follows:
MAINNET_ENDPOINT
: Mainnet Network endpoint as string with the following format"<networks>,<useTls>,<timeout>
. Example:grpc.cheqd.net:443,true,5s
networks
: A string specifying the Cosmos SDK gRPC endpoint from which the Resolver pulls data. Format:<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.
TESTNET_ENDPOINT
: Testnet Network endpoint as string with the following format"<networks>,<useTls>,<timeout>
. Example:grpc.cheqd.network:443,true,5s
RESOLVER_LISTNER
`: A string with address and port where the resolver listens for requests from clients.LOG_LEVEL
:debug
/warn
/info
/error
- to define the application log level
# Syntax: <grpc-endpoint-url:port>,boolean,time
# 1st parameter is gRPC endpoint
# 2nd (Boolean) parameter is whether to use TLS or not
# 3nd connection timeout
MAINNET_ENDPOINT=grpc.cheqd.net:443,true,5s
TESTNET_ENDPOINT=grpc.cheqd.network:443,true,5s
# Sets Echo logging level
LOG_LEVEL="warn"
RESOLVER_LISTNER="0.0.0.0:8080"
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.
If you notice anything not behaving how you expected, or would like to make a suggestion / request for a new feature, please create a new issue and let us know.
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.