Skip to content

Commit e1f4157

Browse files
authored
Add architecture diagram, update docs (#334)
* Add architecture diagram, update docs Signed-off-by: Patrik Stas <patrik.stas@absa.africa> * Fix docs text Signed-off-by: Patrik Stas <patrik.stas@absa.africa>
1 parent ec56c32 commit e1f4157

File tree

5 files changed

+12
-30
lines changed

5 files changed

+12
-30
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ essentially any platform. Officially we support:
1515
- Overview of [implemented Aries protocols](./aries.md)
1616
- AriesVCX requires [mediator agency](https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0046-mediators-and-relays/README.md).
1717
One such implementation is [NodeVCX Agency](https://github.com/AbsaOSS/vcxagencynode/).
18-
18+
1919
# Work in progress
2020
- The project currently does not follow semantic versioning. Fow now we are releasing versions `0.x.x`.
2121
- Although the API is mostly stable, breaking changes still occur in our releases. See our
@@ -34,6 +34,11 @@ However before you'll be able to pick one of these demos and run them locally, y
3434
all these demos depends on.
3535
- [Building AriesVCX on OSX, Linux](./docs/build-general.md)
3636

37+
# Project architecture
38+
The architecture is evolving - you can compare the diagram below with diagram under [roadmap](./roadmap.md).
39+
40+
# <img alt="AriesVCX architecture diagram" src="docs/architecture/ariesvcx_architecture_now_180821.png"/>
41+
3742
# Artifacts
3843
Number of artifacts are built for every CI run (unless it's coming from a forked repository due to limitations of Github Actions).
3944
Artifacts tied with particular release can be found on
Loading
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="app.diagrams.net" modified="2021-08-18T17:52:09.444Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" etag="CnZXbQPHBnK61jCRh05m" version="14.9.4"><diagram id="w_WJUV1hgBsPdFdbsAxB" name="Page-1">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</diagram></mxfile>

roadmap.md

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,48 +28,24 @@ the library into 3 pieces.
2828
on Android, iOS and any programming language.
2929

3030
# Phase 2 - In progress 🚧
31+
- 🚧 Migration from `libindy` to its fork [vdr-tools](https://gitlab.com/evernym/verity/vdr-tools).
3132
- 🚧 Concise `aries-vcx` crate API and start publishing on crates.io
3233
- 🚧 Implement testing backchannel for aries-vcx. [WIP](https://github.com/hyperledger/aries-agent-test-harness/pull/243)
3334
- Support for public DID-based connection invitations
3435
- Support for [out-of-band protocol](https://github.com/hyperledger/aries-rfcs/tree/master/features/0434-outofband)
35-
- Explore possibility migrating from IndySDK `libindy` to [vdr-tools](https://gitlab.com/evernym/verity/vdr-tools)
36-
forked version of `libindy`.
3736

3837
# Future work
3938

4039
### AIP 2.0
41-
- Our current priority is to get satisfying AIP1.0 results
40+
Our current priority is to get satisfying AIP1.0 results
4241
on [aries-agent-test-harness](https://github.com/hyperledger/aries-agent-test-harness) tests,
4342
followed by support for AIP 2.0 in the future.
4443

4544
### Multitenancy
46-
The library was built so that it can power both mobile (usually in the role of holder, prover) and
47-
institutional agents (usually in the role of issuer, verifier). The current architecture only supports
48-
single tenant architectures. In order to build scalable institutional agents, we need to enable
49-
using in multi-tenant context - a single process using `aries-vcx` should be able to
50-
manage multiple wallets/agents.
51-
52-
### Migrating to aries-askar
53-
Currently, the main bottleneck of `aries-vcx`, especially in institutional contexts is reliance on
54-
IndySDK implementation of wallet (see [issue](https://github.com/hyperledger/indy-sdk/issues/2164)).
55-
56-
There are following solutions under consideration:
57-
1. Use [aries-askar](https://github.com/andrewwhitehead/aries-askar) as a new implementation for storage
58-
exposing asynchronous API. Getting this done might be challenging, as either:
59-
- `IndySDK` would have to be updated to reuse `aries-askar`,
60-
- we drop dependency on IndySDK from `aries-vcx` and substitute it with component such as
61-
[indy-utils](https://docs.rs/crate/indy-utils/0.3.2),
62-
[indy-shared-rs](https://github.com/bcgov/indy-shared-rs),
63-
[aries-credx](https://github.com/sovrin-foundation/aries-credx-framework-rs).
64-
2. Swap the `indy-sdk` version of `libindy` library for its [vdr-tools](https://gitlab.com/evernym/verity/vdr-tools)
65-
version, as it contains asynchronous implementation of the storage module.
66-
67-
Migration from `libindy` to `vdr-tools` will likely be effortless relative to migration to `aries-askar`,
68-
so we will likely go for the second option.
69-
70-
71-
45+
AriesVCX currently can not manage more than 1 wallet simultaneously. Adding this capability is on our roadmap.
7246

47+
# Future vision architecture diagram
48+
# <img alt="AriesVCX architecture diagram" src="docs/architecture/ariesvcx_architecture_future_180821.png"/>
7349

7450

7551

0 commit comments

Comments
 (0)