Skip to content

adorsys/didcomm-mediator-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI CD 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 git@github.com:adorsys/didcomm-mediator-rs.git

Running the Project

To build and run the project:

  • Compile the project:
cargo build
  • Start the mediator service:
cargo run

The output should look like this:

image

Testing

The tests can be run with:

cargo test --workspace

or optionally with cargo nextest (you may want to install it first) if you want to speed-up the tests:

cargo nextest run --workspace

Troubleshooting

  • Build Errors: Verify the required packages (libssl-dev and pkg-config) are installed, and you have the latest Rust and Cargo versions.
  • Use cargo check to identify missing dependencies:
cargo check

License

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