You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+84-6Lines changed: 84 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,27 +16,25 @@ The [Architecture Decision Record for the cheqd DID Resolver](https://docs.cheqd
16
16
17
17
## ✅ Quick Start
18
18
19
-
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](https://resolver.cheqd.net/1.0/identifiers/did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN).
19
+
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](https://resolver.cheqd.net/) in your browser.
20
20
21
21
Or, make a request from terminal to this hosted REST API:
22
22
23
23
```bash
24
24
curl -X GET https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:55dbc8bf-fba3-4117-855c-1e0dc1d3bb47
25
25
```
26
26
27
-
### Running your own cheqd DID Resolver using Docker
28
-
29
-
#### Docker Compose command
27
+
## 🛠️ Running your own cheqd DID Resolver using Docker
30
28
31
29
Spinning up a Docker container from the [pre-built `did-resolver` Docker image on Github](https://github.com/cheqd/did-resolver/pkgs/container/did-resolver) is as simple as the command below:
32
30
33
31
```bash
34
32
docker compose -f docker/docker-compose.yml up --detach
35
33
```
36
34
37
-
####Configure resolver settings
35
+
### Configure resolver settings
38
36
39
-
To configure the resolver, modify the values under the `environment` section of the [Docker Compose file](docker/docker-compose.yml). The values that can be edited are as follows:
37
+
To configure the resolver, modify the values under the `environment` section of the [Docker Compose file](https://github.com/cheqd/did-resolver/blob/main/docker/docker-compose.yml). The values that can be edited are as follows:
40
38
41
39
1.**`MAINNET_ENDPOINT`** : Mainnet Network endpoint as string with the following format" `<networks>,<useTls>,<timeout>`. Example: `grpc.cheqd.net:443,true,5s`
42
40
1.`networks`: A string specifying the Cosmos SDK gRPC endpoint from which the Resolver pulls data. Format: `<resource_url>:<resource_port>`
@@ -46,6 +44,86 @@ To configure the resolver, modify the values under the `environment` section of
46
44
3.**`RESOLVER_LISTENER`**`: A string with address and port where the resolver listens for requests from clients.
47
45
4.**`LOG_LEVEL`**: `debug`/`warn`/`info`/`error` - to define the application log level.
48
46
47
+
#### gRPC Endpoints used by DID Resolver
48
+
49
+
Our DID Resolver uses the [Cosmos gRPC endpoint](https://docs.cosmos.network/main/core/grpc_rest) from `cheqd-node` to fetch data. Typically, this would be running on port `9090` on a `cheqd-node` instance.
50
+
51
+
You can either use [public gRPC endpoints for the cheqd network](https://cosmos.directory/cheqd/nodes) (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:
52
+
53
+
```toml
54
+
[grpc]
55
+
56
+
# Enable defines if the gRPC server should be enabled.
57
+
enable = true
58
+
59
+
# Address defines the gRPC server address to bind to.
60
+
address = "0.0.0.0:9090"
61
+
```
62
+
63
+
**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.
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:
The instructions to configure and run the resolver are the same as when using the pre-built image.
99
+
100
+
## 🌐 Resolving `did:cheqd` via Universal Resolver
101
+
102
+
The [resolver.cheqd.net](https://resolver.cheqd.net/) API endpoint is run by the cheqd team and only handles `did:cheqd` credentials.
103
+
104
+
If you want to resolve DIDs from multiple DID methods, the [Universal Resolver](https://github.com/decentralized-identity/universal-resolver) project provides a multi DID method resolver.
105
+
106
+
### Using a pre-existing Universal Resolver endpoint
107
+
108
+
You can make resolution requests to a pre-existing Universal Resolver endpoint, such as [dev.uniresolver.io](https://dev.uniresolver.io), to their REST API endpoint:
109
+
110
+
```bash
111
+
curl -X GET https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:55dbc8bf-fba3-4117-855c-1e0dc1d3bb47
112
+
```
113
+
114
+
### Running your own Universal Resolver instance
115
+
116
+
You can also run your own instance of Universal Resolver, using the Docker Compose file of the project.
117
+
118
+
The [Universal Resolver quick start guide](https://github.com/decentralized-identity/universal-resolver#quick-start) provides instructions on how to do this:
Further documentation on [cheqd DID Resolver](https://docs.cheqd.io/identity/on-ledger-identity/did-resolver) is available on the [cheqd Identity Documentation site](https://docs.cheqd.io/identity/). This includes instructions on how to do custom builds using `Dockerfile` / Docker Compose.
0 commit comments