We are pleased to announce that, alongside the ACA-Py community, we have successfully completed the upgrade of the SDK to decouple reliance on Hyperledger Indy, and support alternative networks, through a plugin-based model. The plugin enables builders to use the full suite of cheqd functionality within ACA-Py, joining the ecosystem of tooling supporting cheqd: Credo (formerly Aries Framework Javascript, AFJ), Walt.id’s Community Stack, Veramo, Universal Registrar & Resolver and Dock.
Furthermore, we are thrilled to share Anonyome has contributed to the inclusion of cheqd support in Aries VCX for use in Anonyome’s Edge Agent SDK. Anonyome’s work is exactly the type of effort we hoped to see result from building in public.
This now means we have support for Credo (formerly AFJ, ACA-PY & VCX) within the Aries family of SDKs.
What have we achieved?
We have worked alongside the ACA-Py maintainers community to establish a far more modular architecture for the ACA-Py SDK, whereby DID Method Plugins can be created, maintained and used with ACA-Py core.
Through the use of a DID Method Plugin architecture, this enables DID Methods with unique traits or features to be used within ACA-Py without breaking any of the core functionality. Through this approach, we have been able to fully support cheqd DIDs, including DID-Linked Resources for handling AnonCreds Objects (schemas, CredDefs and Revocation). This matches the functionality we developed into Credo (formerly AFJ) in partnership with Animo. Credo underpins Paradym and Hovi and we expect more to come as the market matures.
What are the benefits of this work?
With Sovrin unfortunately coming to the end of its service, there are a selection of identity applications and platforms that are looking to migrate away from Hyperledger Indy-based infrastructure. Many of these ecosystems also use ACA-Py in production or pre-production environments. Therefore, through this new architecture and support for cheqd, we are providing an immediate migration pathway for these companies, which is much easier than moving to a completely new SDK.
Moreover, the plugin architecture allows the future potential for introducing more specific functionality into ACA-Py, including functions for cheqd trust registries and also credential payments. This is similar to the benefits of the Veramo SDK, through its modular design.
Therefore, we expect that this work will lead to a steady increase in the amount of adoption and utility of the cheqd Network, with increasingly more real world projects being built on top.
We are already aware of two partners who will be making use of cheqd support within ACA-Py and expect more to come.
How do I use cheqd with ACA-Py?
We have put together a set of easy to follow tutorials to set up your ACA-Py agent and begin using cheqd’s functionality via the plugin. This includes DIDs, credentials and DID-Linked Resources – all which are now available.
Get started with our ACA-Py tutorials here, which we will continually update where necessary! Or alternatively, if you want support in getting set up, or would like more information, you can get in contact with the ACA-Py community within the Open Wallet Foundation here, or cheqd’s developer team here.
Under the hood
For anyone more technically minded or interested in the underlying architecture, the diagram below shows the modular architecture developed with the ACA-Py maintainers group. This introduces a common set of create, update and deactivate endpoints for both DIDs and Resources, that is initially used for cheqd but can be expanded to other DID methods in future. We incorporated the updated Universal Registrar and Resolver changes made by DanubeTech – funded in our community spend proposal here – to achieve this. As well as maintaining our principle of interoperability, this will reduce the maintenance burden in the future as we will not need to maintain anything specific or dedicated to ACA-Py support.