Skip to content

adorsys/didcomm-mediator-rs

Repository files navigation

DIDComm-Mediator

CI DIDComm Messaging Clients Utilities DIDComm Messaging Spec License

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

Environmental variables

You need to create a .env file in the root directory of the project. Take a look at the .env.example file for more information about the needed variables.

Running with Docker Compose

The easiest way to run the project is with Docker Compose.

Run the following command:

docker-compose up --build

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

Running with Cargo

MongoDB

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

AWS Secrets Manager

The server uses AWS Secrets Manager for storing the mediator secrets. You need to configure AWS credentials in your environment. For tests you can use LocalStack as a local AWS service.

check the .env.example file for needed variables

You can now start the mediator server:

cargo run

The output should look like this:

image

License

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

Packages

 
 
 

Contributors 12

Languages