The purpose of this service is to provide a Universal Registrar driver for the did:cheqd
DID method. Universal Registrar is a project to provide simple REST APIs for DID creation, update, and deactivation.
- POST
/create
- POST
/update
- POST
/deactivate
- POST
/{did}/create-resource
- POST
/createResource
- POST
/updateResource
- GET
/key-pair
- GET
/did-document
- GET
/properties
- GET
/methods
- GET
/traits
Environment variables needed for the Registrar are
FEE_PAYER_MAINNET_MNEMONIC
: The Cosmos SDK payer account mnemonic for cheqd Mainnet.FEE_PAYER_TESTNET_MNEMONIC
: The Cosmos SDK payer account mnemonic for cheqd Testnet.LOCAL_STORE_TTL
(default:600
): The time in seconds for the registrar to store data in cachePORT
(default:3000
): The port numberTESTNET_RPC_URL
(default:https://rpc.cheqd.network
): RPC URL for cheqd Testnet. This could be an internal RPC endpoint, if you don't use the public endpoint.MAINNET_RPC_URL
(default:https://rpc.cheqd.net
): RPC URL for cheqd Mainnet. This could be an internal RPC endpoint, if you don't use the default public endpoint or one of the 3rd party publicly available endpoints.RESOLVER_URL
(default:https://resolver.cheqd.net
): DID Resolver url supporting did:cheqd.
Clone the repository
git clone [email protected]:cheqd/did-registrar.git
cd did-registrar
Build Docker container image using Dockerfile:
docker build --target cheqd-did-registrar . --tag did-registrar:local
Run the Docker container (modify according to your own build tags and other desired parameters):
docker run -it did-registrar:local
npm install
npm run build
npm start
This repository contains the playwright tests for unit and integration testing.
Add any additional tests in the tests
directory.
You must set up these two env vars before running test:
TEST_PRIVATE_KEY
: Private key for signing the requestsTEST_PUBLIC_KEY
: Corresponding public key
Then execute the tests
npm run test
# if tests fail because of parallelism, run
npm run test -- --workers=1
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.
Our Discord server is the primary chat channel for our open-source community, software developers, and node operators.
Please reach out to us there for discussions, help, and feedback on the project.