Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

What is aries-vcx

Aries-vcx https://github.com/hyperledger/aries-vcx/ is Rust implementation of Aries protocols and collection of additional project built on top:

  • aries-vcx - the first class citizen Rust crate, library to speak Aries protocols, deal with wallets, interact with ledger

  • Mobile applications building blocks:
    • deprecated approach: libvcx-java, libvcx-ios: these are C binding which enable calling aries-vcx from Objective-C and Java
    • endorsed approach: New approach based on UniFFI is in staged of Proof of Concept. This can generate Swift and Kotlin wrappers for aries-vcx. If you are interestd in mobile development, your contributions here would be invaluable! POC: https://github.com/hyperledger/aries-vcx/pull/737
  • NodeJS: we have NodeJS bindings to build NodeJS applications on top of aries-vcx

Built on top of aries-vcx

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 and potentially embedded agents.
Example of crates built on top of aries-vcx:

  • libvcx - wrapper around aries-vcx to enable certain FFI approach
  • uniffi wrapper (POC phase) - wrapper around aries-vcx to generate Kotlin and Swift mobile wrappers, using uniffi library 
  • 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 

How to get involved

We welcome new contributors to improve aries-vcx or build on top of it!

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
  • 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




  • No labels