Skip to content
This repository has been archived by the owner on May 18, 2022. It is now read-only.

implementation of aries agent (and agency) in rust

License

Notifications You must be signed in to change notification settings

tatmanblue/rust-aries-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aries logo
hyperledger indy logo

Rust Aries Agent

The primary goal of this project is to create an Aries Interop 1.0 compliant agent with the defined RFCS and is compatible with other existing agents such as ACAPY.

The secondary goal of this project will be to create an agency for using the aries agent created in the first goal stated above.

Info On Indy SDK
As of Dec 2020, Indy SDK is no longer being maintained. This impacts Rust Aries Agent implementation. Once Connection Invite is complete, this project will move to using any available replacement libraries that allow for continuing use with Indy Node, if and when they are available. All indications are replacement libraries built by the bc.gov team will be available. There are no plans to proceed, until then.

Using Rust Aries Agent

Instructions for how to configure environment and running the project are maintained here

Projects

Short term, keep in mind that the architecture of the services is in flux as we work through use cases, business logic etc...as these will reveal patterns that help structure the architecture of the projects.

tatmanblue

Generally speaking, this the high level components of Rust Aries Agent:

Project Description
Host Host provides the public transport layer. For now, it will be RESTFul API exposing an agent or agency.
Agent Agent is an Aries Agent compliant service.
Agency An agency provides access to multiple agents.
Shared Library for code used by all of the projects. Mostly likely, most of the project code will reside here.

Design and Work Plan

Version 1 of Rust Aries Agent goal is complete compatibility with ACAPY, with the following ARIES functionality:

Please see Order of Work to understand what current development priorities are as this document is the master list of work to accomplish to achieve version 1 release.

Future releases will be defined later to get to the ultimate goal of Aries Interop 1.0 compliant

IndySDK problem

With the addition of using indksdk, we have a problem with CI/builds. The rust wrapper crate does not work (best we can tell) at this time. Which means, if we are right, the CI would have to pull rust wrapper code to build correctly (which means pulling down all of indysdk and either building it or pulling down binaries). For now, we are just going to let builds remain broken so that we can progress with testing on all environments. Once we get parity with acapy for connections and basic messages, the CI builds need to fixed.

The Order of Work has been updated to put fixing the CI in the priority list.

Note: if the crate is working, we will still need to update CI to pull indy sdk libraries down.

References

Aries RFCS

License

Please see LICENSE.

Legal

If you have any questions about the content of the repository, please email matt.raffel@gmail.com. I can assure you all content has been purchased and licensed to me or is otherwise freely available. Proof will be made available on request. Repeated DCMA counterfit and harassment claims will result in counter suits per Section 512(f) of the DMCA penalties for misrepresentation can include actual damages and attorney’s fees.

Status

Paused--will resume once suitable replacement libraries for indy-sdk are available.

edited: 2020.12.21