Skip to content

cheqd/did-registrar

Universal Registrar Driver for did:cheqd

GitHub release (latest by date) GitHub Release Date GitHub license

GitHub release (latest by date including pre-releases) GitHub commits since latest release (by date) GitHub contributors

GitHub Workflow Status GitHub Workflow Status GitHub repo size

ℹ️ Overview

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.

📖 Endpoints

  • 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

🧑‍💻🛠 Developer Guide

Setup

Environment variable configuration

Environment variables needed for the Registrar are

  1. FEE_PAYER_MAINNET_MNEMONIC : The Cosmos SDK payer account mnemonic for cheqd Mainnet.
  2. FEE_PAYER_TESTNET_MNEMONIC : The Cosmos SDK payer account mnemonic for cheqd Testnet.
  3. LOCAL_STORE_TTL (default: 600): The time in seconds for the registrar to store data in cache
  4. PORT (default: 3000): The port number
  5. TESTNET_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.
  6. 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.
  7. 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

Running a DID Registrar Using Docker

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

Running a DID Registrar Locally

npm install
npm run build
npm start 

🛠 Testing

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:

  1. TEST_PRIVATE_KEY : Private key for signing the requests
  2. TEST_PUBLIC_KEY : Corresponding public key

Then execute the tests

npm run test
# if tests fail because of parallelism, run
npm run test -- --workers=1

🐞 Bug reports & 🤔 feature requests

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.

💬 Community

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.

🙋 Find us elsewhere

Telegram Discord Twitter LinkedIn Medium YouTube

About

Universal Registrar driver for did:cheqd DID Method

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 15