...
Aries-vcx https://github.com/hyperledger/aries-vcx/ is Rust implementation of Aries protocols and collection of additional project supporting projects built on top it:
ariesAries-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
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 bi-weekly community calls via Zoom: Community calls
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!
- Talk with us on Discord https://discord.com/channels/905194001349627914/955480822675308604
- Join our weekly community calls via Zoom: Community calls
Project ideas
...
Project ideas
- Aries-vcx uniffi wrapper - continue implementation of uniffi_aries_vcx
- This can unlock building native mobile apps with aries-vcx
- This can unlock building native mobile apps with aries-vcx
- Aries mediator client - implement rust client capable of connecting with mediation agent and use pick-up protocol 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 rfcs/tree/main/features/0685-pickup-v2 to receive messages
- This can unlock integration of aries-vcx with different aries mediation agent implementations! This is extremely important for mobile use-cases.
- This can unlock integration of aries-vcx with different aries mediation agent implementations! This is extremely important for mobile use-cases.
- Verifier agent - build aries agent specialized for proof verification
- In the 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.
- In the 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
- Load tester - create tool to simulate many agents simultaneously
- Creating tool which can represents many agents can be useful for load/stress testing across the aries ecosystem
- Creating tool which can represents many agents can be useful for load/stress testing across the aries ecosystem
- 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
- First implementation POC done! https://github.com/hyperledger/aries-vcx/pull/692
- Aries message mediator - build aries mediator
- there's nodejs implementation of aries-mediator-service in progress, but hey, why not to build an alternative!
- there's nodejs implementation of aries-mediator-service in progress, but hey, why not to build an alternative!
- Embedded device aries agent - try to build aries agent for embedded uses case
- this is yet rather unknown journey, who knows what it entails?
- DID parser - a proper DID type and parser
- DIDs, while similar to URLs, have slightly different composition.
- we need to be able to compose and decompose DIDs in a consistent manner
- DID resolver - a component that takes a DID and returns the data it points to
- things such as
DIDDocs
orservices
are stored on the ledger (or some other place) and need to be retrieved by resolving their DID
- things such as
- Protocol Registry - a static, compile-time component that holds the protocols and versions an agent supports
- the first implementation uses a lazily initialized map
- a better approach would be to have code generation in place controlled by feature flags
Research ideas
- How to leverage Can https://github.com/sicpa-dlab/didcomm-rust in dependency be leveraged by
aries-vcx
?