This blog was originally posted by the Hyperledger Foundation on July 6th, 2023. It was written by Karim Stekelenburg
Replacing the Hyperledger Indy SDK
To solve this, new AFJ modules were introduced, each taking over a part of the responsibility previously carried by the Indy Rust library. The benefit of splitting up the three uses (ledger communication, AnonCreds operation, and secure storage) into separate components is that developers don’t need to include more into their app bundles than absolutely necessary. These modules enable AFJ to use three separate Rust libraries:
- Hyperledger Indy VDR – Used for communication with Indy ledgers;
- Hyperledger Aries Askar – Used for secure storage;
- Hyperledger AnonCreds – Used for handling the AnonCreds credential format.
The Indy SDK Rust is currently optional in AFJ and mostly used for (temporary) migration purposes. It has been separated from the core of the framework and was moved to its own separate module called @aries-framework/indy-sdk. Moving from using the Indy SDK Rust library to using the libraries mentioned above not only benefits package size, but also enables more modular use of the framework.
Ledger-Agnostic Hyperledger AnonCreds
There are already some integrations under development. For example, Cardano has created a reference implementation for using AnonCreds with its ledger, and 2060.io is working on a did:web module for using AnonCreds.
Another result of this development is the cheqd module. By integrating the cheqd module, developers can read and write AnonCreds-related objects to the cheqd network. The module contains components such as a DID resolver, a DID registrar, and other needed operations. This integration underscores the ledger-agnostic nature of the framework, showcasing its potential to work across diverse ledger technologies.
OpenID for Verifiable Credential Issuance
JWT Verifiable Credentials