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
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 | ❌ |
To build and test the project, ensure that libssl-dev and pkg-config are installed on your system.
Install the necessary packages with:
sudo apt update
sudo apt install -y libssl-dev pkg-config
Ensure you have Rust & Cargo installed.
-
Optionally, create a working directory and navigate into it.
-
Clone the repository:
git clone [email protected]:adorsys/didcomm-mediator-rs.git
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
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
You can run the project with Docker Compose.
-
First change the
MONGO_URI
variable in the.env
file tomongodb://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:
This project is licensed under the Apache License. See the LICENSE file for details.