/aries-akrida

Primary LanguageHTMLApache License 2.0Apache-2.0


Hyperledger Aries logo

Aries Akrida

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.

Features

  • 🦗 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.

Design

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:

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:

Locust with a mediator

See design for more design details.

Getting Started

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

Demo

thumbnail

Getting Started

For spinning up the non-clustered portion of the environment, please see our instructional document.

Contributing

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!

License

Hyperledger Akrida is licensed under the Apache License Version 2.0 (Apache-2.0).