Framework Go
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
- C (future)
- WebAssembly (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.
Documentation
Aries Framework Go documentation can be viewed at GoDoc. The project structure is described 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.
Controller Bindings
Testing
Contributing
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!
License
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).