Skip to content

didx-xyz/ssi-trust-registry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

727d353 · Mar 18, 2024
Jan 26, 2024
Mar 12, 2024
Jun 28, 2023
Jun 21, 2023
Mar 18, 2024
Feb 14, 2024
Nov 23, 2023
Jul 27, 2023
Oct 17, 2023
Oct 17, 2023
Jun 20, 2023
Oct 27, 2023
Jan 15, 2024
Jun 12, 2023
Feb 14, 2024
Oct 27, 2023
Dec 1, 2023
Jan 26, 2024
Jan 17, 2024
Jan 30, 2024

Repository files navigation

Trust Registry

An implementation of a Trust Registry for Self-Sovereign Identity Ecosystems

Background

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

Schemas

We require fully qualified schemas. You can find how the unqualified should be transformed to fully qualified and vice-versa at the following links:

Development

Prerequisities

  • Node.js
  • Docker
  • Docker Compose (optional)

Run

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

Run with Docker

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

Run with Docker Compose

...

Run Tests

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