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.
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.
Instructions for how to configure environment and running the project are maintained here
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.
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. |
Version 1 of Rust Aries Agent goal is complete compatibility with ACAPY, with the following ARIES functionality:
- connection protocol
- Basic message and problem report
- Credentials
- Proofs
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
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.
Please see LICENSE.
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.
Paused--will resume once suitable replacement libraries for indy-sdk are available.
edited: 2020.12.21