An implementation of a Trust Registry for Self-Sovereign Identity Ecosystems
After some initial discussion between ABSA and DIDx regaring development of a Trust Registry that can be used in the South African SSI Ecosystem we determined that both entities developed a version of a Trust Registry but we have a requirement to develop one implementation that can be used by everyone.
For more detailed information regarding the current discussion and implementation requirements read the HackMD Write Up
We require fully qualified schemas. You can find how the unqualified should be transformed to fully qualified and vice-versa at the following links:
- Node.js
- Docker
- Docker Compose (optional)
Start the database, you can use docker for that in the following way:
docker compose up -d mongo mongo-replica-setup
You can change port but don't forget to update the .env
.
If you already have docker container, you can start/stop the container:
docker stop mongo
docker start mongo
Start backend
cd packages/backend
Create .env
cp .env.example .env
Run the backend in dev mode
yarn dev
Start frontend
cd packages/frontend
Create .env
cp .env.example .env
Run the frontend in dev mode
yarn dev -p 3001
Start both
Build Docker image
docker build -t local/ssi-trust-registry .
Create common .env
file from the packages/frontend/.env
and packages/backend/.env
:
cat packages/backend/.env > .env && cat packages/frontend/.env >> .env
Run Docker container
docker run -d -p 3000:3000 -p 3001:3001 --name trust-registry --env-file .env local/ssi-trust-registry
...
There are integration tests that starts HTTP server and calls a database. We have to set some environment variables first. You can copy .env.example
and update values according to the environment where your're running tests:
cp .env.example .env.test
Start the database, you can use docker for that in the following way:
docker compose up -d mongo mongo-replica-setup
Now, you can run tests:
yarn test