Project Plan - aries-vcx based message mediator service
Abstract
Mediator service is like a drop box / post box that Aries agents can use to receive and store encrypted messages in their stead.
Basic flow:
people can send you messages at the mediator address if you are not always available to receive messages
you can pick them up later from mediator service using pick up protocol
Mediator/ Agency are useful for scenarios like mobile phone agents which can't always receive messages. Due to reasons including:
network interruption
sleep /power off
power conservation optimizations
There exist a agency/mediator service for Aries, but it has limitations:
Written in NodeJS. A Rust based mediator service would be desirable for better integration with vcx
Does not support pick up protocol (uses custom data exchange)
A new Rust based Aries mediator service would offer.
High performance
Horizontal scalability
Simpler and more robust integration with Aries-vcx
Support for newer standard protocols like Pick Up protocol.
Deliverables
Main Deliverables:
Extra Deliverables:
Project Plan
Stage 1: HTTP Server
Stage 2: Storage
Stage 3: Integrate Aries-vcx
Stage 4: Support establishing didcomm connections
stage 5: Receiving and storing didcomm messages
stage 6: Add pickup protocol support
stage 7: Bonus - websocket
stage 8: Bonus - notifications
Milestones
Evaluation 1 (July 11):
Development environment setup
Rust learning, http framework research
Evaluation of Stage 1
Evaluation 2 (August 22):
Evaluation of Stage 2, 3, 4
Evaluation 3 (October 6):
Evaluation of Stage 5, 6
Evaluation 4 (November 14):
Evaluation of Stage 7 / 8 or overall solution polishing&refactoring
Timeline
Week | Activity | Status |
June 1 - June 30 | Onboarding, research, rust learning | |
July 1 - July 11 Evaluation 1 | Stage 1 (server) | |
July 11 - July 25 | Stage 2 (storage) | |
July 26 - August 2 | Stage 3 (aries-vcx as dependency) | |
August 3 - August 22 Evaluation 2 | Stage 4 (didcomm connections) | |
August 23 - September 5 | Stage 5 (Receiving&storing didcomm messages) | |
September 6 - October 3 Evaluation 3 | Stage 6 (Add pickup protocol) | |
October 4 - November 14 Evaluation 4 | Refactoring / Stage 7, 8 / Other improvements / catch-ups |
Future plans
Design and document ways in which persistent connection based notification service could be integrated into mediator service project.
Benchmark the service.
Add support for did:peer:4 based did exchange.
Participants (Mentors/Mentees)
Mentors
Name | Hyperledger Discord | Affiliation |
|---|---|---|
Patrik Stas | Patrik Stas#7722 | Absa Group |
Bogdan Mircea | bobozaur#5997 | Absa Group |
Miroslav Kovar | mirgee#3763 | Absa Group |
George Mulhearn | gmulhearn#0356 |
Mentee
Name | |
|---|---|
Naian G |
Processes
Internal communication and updates:
Slack is used for regular communications and updates
Weekly Zoom meetings are scheduled to discuss the progress, blocks, questions, advice
Biweekly mentee-mentee meetings for knowledge sharing, active collaboration.
Mentee maintains a blog with frequent updates:
Other useful information can be found on this page