Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Aries-vcx https://github.com/hyperledger/aries-vcx/ is Rust implementation of Aries protocols . The project has 3 main building blocksand collection of additional project built on top:

  • 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

...

  • 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 

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!

...