Hyperledger Aries Framework Go enables trusted communication and data exchange based on interoperable distributed ledger technologies (DLTs) and peer-to-peer (P2P) interactions. We provide a flexible toolkit to enable the usage of decentralized identifiers (DIDs), DID-to-DID communications, verifiable credential exchange, transaction authorizations, and data communication protocols. From these building blocks, implementors can build agents, mediators and other DIDComm features in a manner that is agnostic to a particular DID network or governance framework.
We aim to provide Go implementations of:
- Decentralized identity standards including W3C decentralized identifiers (DIDs), W3C DID resolution, and W3C verifiable credentials.
- Decentralized data communication protocols anchored in DIDs: DIDComm.
- A pluggable dependency framework, where implementors can customize primitives via Service Provider Interfaces (SPIs). We have a "batteries included" model where default primitives are included -- such as a key management system (KMS), crypto, data storage, digital hub integration, etc.
We aim to enable usage of our protocol implementations in a wide variety of edge and cloud environments including servers, browsers, mobile, and devices. API bindings are supplied to enable these environments including:
- Go
- REST
- JavaScript / WebAssembly
- Android
- iOS
- C (future)
We implement demonstrations and test cases, that require a ledger system, using DIF Sidetree protocol as this protocol enables generic decentralized ledger systems to operate as a DID network.
Aries Framework Go documentation can be viewed at GoDoc. The project structure is described here.
The project structure for the mobile bindings can be found here.
The packages intended for end developer usage are within the pkg/client folder along with the main agent package (pkg/framework/aries).
The project can also be used as a DIDComm Router/Mediator.
Information about Verifiable Credential Wallet framework based on Universal Wallet can be found here.
Key concepts about the Hyperledger Aries Project can be found here.
Details of the standards followed and specifications implemented by Hyperledger Aries Project can be found here.
- Go
- REST
- Run OpenAPI Demo
- Get the Docker image from GitHub Packages
- JavaScript
- Get it from GitHub Packages
- Mobile
Found a bug? Ready to submit a PR? Want to submit a proposal for your grand idea? Follow our guidelines for more information to get you started!
Hyperledger Aries Framework Go is licensed under the Apache License Version 2.0 (Apache-2.0).
Hyperledger Aries Framework Go documentation is licensed under the Creative Commons Attribution 4.0 International License (CC-BY-4.0).