Features | Design | Getting started | Contributing | License
The Aries Akrida is designed to load test various Hyperledger Aries deployments.
The project uses the Locust tool in combination with Aries Framwork Javascript to test DIDComm based protocols.
From Ancient Greek ἀκρίς, or akrída, means locust or grasshopper.
- 🦗 Easy to run load tests distributed over multiple machines using Locust with the ability to swarm from thousands to hundreds of thousands of simultaneous users.
- 🐍 Easy to write Python tests
- 📦️ Isolated users using greenlet and Node.js environment
- 📃 Provides a user friendly web interface that shows the progress of your test in real-time. It can also be run without the UI, making it easy to use for CI/CD testing.
Typically, three to four types of agents may be involved in a decentralized identity environment. There is typically a large number of holder agents, a mediator agent for the holder agents, and one or more issuer and verifier agents.
Example of a typical environment with a mediator:
Aries Akrida is designed to take place of the holder agents. This allows Aries Akrida to provide a load on the Mediator, Issuer, and/or Verifier agents.
Example of Locust with a mediator:
See design for more design details.
Before starting any load testing you SHOULD gain written permission that includes the time, method and various systems that you wish to load test. You MUST NOT load test any system that you do NOT have permission to test.
To get started quickly on your local machine, you can try out the Quick Start Guide
For high concurrency testing, it is useful to run Locust on a VM where you can easily add more resources for bigger tests. Please read docs/VM.md
For spinning up the non-clustered portion of the environment, please see our instructional document.
If you would like to contribute to the framework, please read the Framework Developers README and the CONTRIBUTING guidelines. These documents will provide more information to get you started!
Hyperledger Akrida is licensed under the Apache License Version 2.0 (Apache-2.0).