Coding in ACA-Py just got a whole lot easier with Indicio’s a simple, hackable repo.

By Alexandra N. Walker

Indicio recently unveiled its Minimal Example Repo, built with both experienced developers and those just starting out and in mind.

What is it?

Indicio’s Minimal Example repo (AME) is a simple, hackable repo containing the building blocks to quickly reproduce an issue or demonstrate a feature within ACA-Py. 

Who is it for?

Developers and testers (especially those new to ACA-Py) who are looking to build scenarios with ACA-Py will find the repo very useful, whether they are seeking to quickly reproduce an issue (such as revocation, trust pings, issuing and verifying a simple credential, or sending messages between agents) or to demonstrate a feature by writing one simple script or Pytest test. 

The repo cuts down on the amount of time searching through documentation, while also being approachable to developers new to ACA-Py. Instead of looking through all the Aries RFCs, Indicio’s Aca-Py Minimal Example will help autofill certain scenarios for you.

How does it make using ACA-Py faster / convenient?

It gives you a significant head start in replicating scenarios in ACA-Py. For example, a traditional exchange between an Alice and Bob¹ agent can be found in `minimal_example.py.` It allows you to quickly copy, paste, and modify the components you need to get your scenario to work, without all of the hassle of sorting through the Aries RFC documentation. 

What is available now?

Presently, we have examples constructed, with revocation support, for a traditional Alice and Bob agent scenario, supporting protocol versions 1 and 2, and are working to add more functionality. Further work will include generators for other common agent setups (`Dockerfile`s + `docker-compose.yml`) such as:

Alice, Bob, Mediator
Issuer, Holder, Verifier
Endorser, Issuer, Holder, Verifier
ACA-Py, Echo (Remote controlled static agent; for sending raw messages)
Any combination of the above with a specified set of plugins installed
Any combination of the above with tails server and/or tunnel

Get Started Today

In just three simple steps, the AME repo can reduce the amount of code you need to write and save you time: 

A.) Determine the scenario you are writing.

What does this flow look like? What all needs to happen in this flow?

B.) Determine if the AME repo fully or partly supports that scenario.

Is the scenario you are looking for already written? 

C.) Copy and paste the portions that are relevant to the scenario you are working on and modify it accordingly. 

If the steps you are looking for aren’t already in `minimal_example.py`, try
searching in `protocols.py`

¹ Aries agents are software components that act on behalf of entities—people, organizations and things. These agents enable decentralized, self-sovereign identity based on a secure, peer-to-peer communications channel.