What is aries-vcx
Aries-vcx https://github.com/hyperledger/aries-vcx/ is Rust implementation of Aries protocols. The project has 3 main building blocks:
aries-vcx - The core implementation, a rust crate on top of which you can build Aries speaking applications.
libvcx - Rust layer built on top of aries-vcx crate which produces C-callable library you can consume from any programming language
language wrappers - NodeJS, Java, iOS binding wrappers to hook into libvcx
How to use aries-vcx
Consuming as rust crate
Aries-vcx is generic crate which can be used to build Rust applications and libraries. We strive to be opinion-less to enable arbitrary use-case. Aries-vcx can be used to build web, mobile, cli agents.
Example of crates built on top of aries-vcx:
- aries-vcx-agent - simple agent implementation with in-memory storage
- aries-vcx-backchannel - simple web agent built on top of aries-vcx-agent, used for cross testing aries-vcx with other Aries implementations in Aries Agent Test Harness
Consuming as via FFI
Fore-mentioned libvcx provides C-callable API. While we still maintain this crate, there's better ways to build FFI interfaces for Rust crate in 2022. We encourage contributions which would evolve building FFI interfaces on newer technologies such as
How to get involved
We welcome new contributors to improve aries-vcx or build on top of it!
- Talk with us on Discord https://discord.com/channels/905194001349627914/955480822675308604
- Join our weekly community calls via Zoom: Community calls
Project ideas
- Load tester - aries-vcx can many wallets and many pool connections, being written in Rust making it great candidate as high-performance tool to test server implementations
- CLI agent - building on top of aries-vcx-agent and some of many console UI interface frameworks available in Rust, you could build tool to manage an Aries agent from CLI interface
- First implementation POC done! https://github.com/hyperledger/aries-vcx/pull/692
- Aries message mediator - you could build aries-compliant mediator - sort of mailbox for encrypted aries message, this is useful to enable asynchronous communication for mobile devices.
- Aries anonymizer - similar to mediator, a simpler implementation could be created which would simply forward messages to other destination. Sort of "nginx specialized for Aries".
- Embedded device aries agent - we are no aware of anyone yet trying building embedded with aries-vcx
- Credential faucet - simple web agent with UI capable of issuing some credential by scanning a QR code. Having something like that deployed against Sovrin networks, it could be useful for wide ecosystem of developers.
- Verifier agent - in real world, there will be presumably handful of issuers but likely many verifiers! Deploying full featured agent capable of both issuance, verification and perhaps other protocols can be complex, a narrowly focused Verifier agent could be built on
aries-vcx
. This would require minimal configuration, the agent can be largely stateless as it would only need to READ ledger, not write. Aries-vcx is perfectly positioned to be core of high-performance proof verifier.
Research ideas
- How to leverage https://github.com/sicpa-dlab/didcomm-rust in aries-vcx?