Becoming an ACA-Py Developer¶
This guide is to get you from (pretty much) zero to developing code for issuing (and verifying) credentials with your own ACA-Py agent. On the way, you'll look at Hyperledger Indy and how it works, find out about the architecture and components of an ACA-Py agent and its underlying messaging protocols. Scan the list of topics below and jump in as soon as you hit a topic you don't know.
Note that in the guidance we have here, we include not only the links to look at, but we recommend that you not look at certain material to which you might naturally gravitate. That's because the material is out of date and will take you down some unnecessary rabbit holes. Keep your eyes on the goal - developing with Aries to interact with other agents to (amongst other things) connect, issue, hold, present and verify verifiable credentials.
- I've heard of Indy, but I don't know the basics
- I know about Indy, but what is ACA-Py?
- Demos - Business Level
- ACA-Py Agents in Context: The Big Picture
- ACA-Py Internals - Deployment Components
- An overview of DIDComm messaging
- Demos - ACA-Py Developer
- Establishing a connection between ACA-Py Agents
- Issuing an AnonCreds credential: From Issuer to Holder/Prover
- Presenting an AnonCreds credential: From Holder/Prover to Verifier
- Next steps: Creating your own ACA-Py Agent
- What should I work on? Options for ACA-Py/Indy Developers
- Deeper Dive: DIDComm Messages
- Deeper Dive: DIDComm Message Routing and Encryption
- Deeper Dive: DIDComm Routing Example
- To Do: Deeper Dive: Running and Connecting to an Indy Network
- Steps and APIs to support credential revocation with ACA-Py agent
- Deeper Dive: ACA-Py Plug-Ins
Want to help with this guide? Please add issues or submit a pull request to improve the document. Point out things that are missing, things to improve and especially things that are wrong.