17 releases

0.3.1 Jan 29, 2024
0.3.0 Nov 13, 2023
0.2.9 Jun 2, 2023
0.2.7 Jun 11, 2022
0.1.0 Dec 21, 2020

#827 in Magic Beans

Download history 8/week @ 2024-04-20 9/week @ 2024-04-27 32/week @ 2024-05-04 32/week @ 2024-05-11 18/week @ 2024-05-18 28/week @ 2024-05-25 131/week @ 2024-06-01 93/week @ 2024-06-08 156/week @ 2024-06-15 102/week @ 2024-06-22 62/week @ 2024-06-29 114/week @ 2024-07-06 28/week @ 2024-07-13 87/week @ 2024-07-20 333/week @ 2024-07-27 85/week @ 2024-08-03

537 downloads per month

MIT/Apache

1MB
29K SLoC

Rust 19K SLoC // 0.0% comments TypeScript 4.5K SLoC // 0.0% comments Python 3.5K SLoC // 0.0% comments C++ 1.5K SLoC // 0.0% comments Shell 191 SLoC // 0.1% comments Java 66 SLoC JavaScript 27 SLoC Objective-C++ 25 SLoC Forge Config 11 SLoC

aries-askar

Unit Tests Rust Crate Rust Documentation Python Package

Aries Askar is a secure (encrypted at rest) storage and a key management service suitable for use with Hyperledger Aries agents and possibly other digital trust agents. Askar is a replacement implementation (with lessons learned!) of the indy-wallet part of the Hyperledger Indy SDK. Askar has been demonstrated to be more performant and stable than the Indy SDK when under comparable load.

Askar has a pluggable storage interface that currently supports in-memory (for testing only), SQLite and PostgreSQL databases. For details about the storage scheme used in Askar, please this storage overview in the docs folder.

Askar is implemented in Rust and this repository contains Askar wrappers for Askar JavaScript and Python, reflecting the key Aries frameworks that embed Askar, Aries Framework JavaScript and Aries Cloud Agent Python. Other wrappers are welcome, although there is some debate as to whether the wrappers should be within this repository or in their own repository.

The name Askar (from the Arabic askar, meaning “guard” or “soldier”) is used because of the "guard" reference, and because it is an alternate name for the star Hamal in the constellation of Aries, the 50th brightest star in our sky.

Askar Concepts Borrowed from the indy-wallet Implementation

As noted above, Askar is a re-implementation (with lessons learned!) of the indy-wallet part of the Hyperledger Indy SDK. As such, a number of the concept documents written about indy-wallet apply similarly to Askar. These are linked here:

To Do: These documents should be copied to this repository and updated specifically for the Askar implementation.

Migrating to Aries Askar

If you have an implementation of Aries that is currently based on the Hyperledger Indy SDK, there are migration tools built into Askar. The use of these tools is demonstrated in the Aries Cloud Agent Python migration tool that can be found in the aries-acapy-tools repository.

Credit

The initial implementation of aries-askar was developed by the Digital Trust team within the Province of British Columbia, and inspired by the wallet design within Hyperledger Indy SDK. To learn more about BC's Digital Trust Team, and what's happening with decentralized identity in British Columbia, please go to Digital Trust website.

Contributing

Pull requests are welcome! Please read our contributions guide and submit your PRs. We enforce developer certificate of origin (DCO) commit signing. See guidance here.

We also welcome issues submitted about problems you encounter in using aries-askar.

License

Licensed under either of

at your option.

Dependencies

~9–27MB
~445K SLoC