Skip to content

adorsys/didcomm-mediator-rs

Repository files navigation

CI DIDComm Messaging Clients Utilities DIDComm Messaging Spec License

DIDComm-Mediator

A DIDComm mediator is a cloud agent that facilitates secure, decentralized communication between mobile agents in the self-sovereign identity (SSI) ecosystem. This mediator acts as a cloud-based intermediary, enabling mobile agents to communicate without reliance on centralized infrastructures like Facebook, Signal, or Telegram.

For further understanding checkout the docs

Project Feature Implementation Tracker

Message types Spec Status Implementation Status
Mediator Coordination Protocol ADOPTED
Pickup Protocol ADOPTED
DID Rotation ACCEPTED
Cross-Domain Messaging/ Routing Protocol ADOPTED
Trust Ping Ptotocol ADOPTED
Discover Features Protocol ADOPTED
Out of band Messaging ADOPTED
Basic Message Protocol ADOPTED
Acks ADOPTED
Present Proof Protocol ADOPTED

Building and testing

To build and test the project, ensure that libssl-dev and pkg-config are installed on your system.

Ubuntu Setup

Install the necessary packages with:

sudo apt update
sudo apt install -y libssl-dev pkg-config

Prerequisites

Ensure you have Rust & Cargo installed.

Setup

  1. Optionally, create a working directory and navigate into it.

  2. Clone the repository:

git clone [email protected]:adorsys/didcomm-mediator-rs.git

Running the Project

Mongo DB

This project uses MongoDB as the database. You need to have MongoDB installed and running on your system.

Another option is to use Docker:

docker pull mongo
docker run --name mongodb -d mongo

Environmental variables

You need to create a .env file in the root directory of the project and add the following variables:

SERVER_PUBLIC_DOMAIN="http://localhost:8080"
STORAGE_DIRPATH="./storage"
MONGO_DBN="DIDComm_DB"
MONGO_URI="mongodb://localhost:27017"

The values can be changed according to your needs.

You can now start the mediator server:

cargo run

Running with Docker Compose

You can run the project with Docker Compose.

  • First change the MONGO_URI variable in the .env file to mongodb://mongodb:27017

  • Then run the following command:

docker-compose up

This will build the docker image of the mediator server with all its prerequisites and run it.

The output should look like this:

image

License

This project is licensed under the Apache License. See the LICENSE file for details.