aries-vcx
is more of a "library" rather than "framework". We strive to be not too
opinionated and simply provide building blocks for whatever you want to build.
You can use aries-vcx
to build both end-user products (mobile wallets in role of credential
holder and prover) or server (typically in role of issuer, verifier).
Generally, the crate allows you to:
- create encrypted wallet,
- read/write from/to Indy ledger,
- establish didcomm connections and exchange messages,
- create and process Aries messages to drive Aries protocols.
Additionally, the following crates may be consumed independently of aries-vcx
:
Aries-vcx contains built-in support for message mediation which is useful for mobile use cases. However,
this feature (implemented via MediatedConnection
) is now deprecated as it is tied to mediator
implementation vcxagency-node which does not implement
Aries pick-up protocol.
To use aries-vcx
in your project, you need to add GitHub dependency to your Cargo.toml
:
aries-vcx = { path = "https://github.com/hyperledger/aries-vcx" }
It's also advisable to follow these instructions to check your environment is properly configured.
- aries-vcx-agent - sample agent with local persistence. Used for cross-compatibility testing with other aries implementations.
- unifii_aries_vcx - wrapper around
aries-vcx
to generate Swift and Kotlin wrappers for mobile use-cases - libcx (deprecated) - wrapper around
aries-vcx
to build Java, Objective-C, NodeJS wrappers.
- ✅ Connection Protocol 1.0:
https://didcomm.org/connections/1.0/*
- ✅ Out of Band 1.1:
https://didcomm.org/out-of-band/1.1/*
- ✅ Basic Message 1.0:
https://didcomm.org/basicmessage/1.0/*
- ✅ Credential Issuance 1.0
https://didcomm.org/issue-credential/1.0/*
- ✅ Credential Presentation 1.0:
https://didcomm.org/present-proof/1.0/*
- ✅ Trust Ping 1.0:
https://didcomm.org/trust_ping/1.0/*
- ✅ Discover Features 1.0:
https://didcomm.org/discover-features/1.0/*
- ✅ Revocation notification 2.0:
https://didcomm.org/revocation_notification/2.0/*
Please follow these guidelines when implementing new state machines.