SSI Abstraction Service
Description
A core service for the Organizational Credential Manager, providing the DIDComm functionality and initializing the agent, wallet and ledger interactions of the whole application.
Usage
Endpoint documentation at:
with the default exposed ports:
- 3010 - Aries REST extension
- 3009 - Sign and Veify interface exposed
- 4000 - didcomm interface
Installation
Dependencies:
$ yarn
-
If docker is not installed, Install docker.
-
If docker-compose is not installed, Install docker-compose.
-
(optional) Postgres GUI https://dbeaver.io/download/
Running the app
Environment variables
-
PORT is the port for the signing and verification interface
-
AFJ_EXT_PORT is the port for the openapi documentation described in swagger.json
-
AGENT_AUTO_ACCEPT_CONNECTION can be either true or false
-
AGENT_AUTO_ACCEPT_CREDENTIAL can be either: always, contentApproved, never
-
AGENT_PUBLIC_DID_SEED will generate the did and verkey (32 symbols)
-
for security reasons AGENT_WALLET_KEY and AGENT_WALLET_ID should be different
-
AGENT_LEDGER_ID can be: ID_UNION,BCOVRIN_TEST,GREEN_LIGHT
- the three pool transaction genesis are inside the code configuration
- every ledger can be provided on its own
- multiple ledgers can also be specified, separated by a comma
-
AGENT_ID_UNION_KEY is needed if the ledger of choice is IDUnion
Each service in the Organizational Credential Manager can be run from the infrastructure repository with Docker.
The .env files are in the infrastructure repository under /env
There are two separate Dockefiles in "./deployment" of every project:
## production in:
./deployment/ci
## development in:
./deployment/dev
-
(optional) Edit docker-compose.yml in "infrastructure" to use either /ci/ or /dev/ Dockerfiles.
-
Run while in "infrastructure" project:
$ docker-compose up --build
Test
# unit tests
$ yarn test
# e2e tests
$ yarn test:e2e
# test coverage
$ yarn test:cov