github.com/hyperledger/aries-framework-go@v0.3.2/README.md (about)

     1  [![Release](https://img.shields.io/github/release/hyperledger/aries-framework-go.svg?style=flat-square)](https://github.com/hyperledger/aries-framework-go/releases/latest)
     2  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/hyperledger/aries-framework-go/main/LICENSE)
     3  [![Godocs](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/hyperledger/aries-framework-go)
     4  
     5  [![Build Status](https://github.com/hyperledger/aries-framework-go/workflows/build/badge.svg)](https://github.com/hyperledger/aries-framework-go/actions)
     6  [![codecov](https://codecov.io/gh/hyperledger/aries-framework-go/branch/main/graph/badge.svg)](https://codecov.io/gh/hyperledger/aries-framework-go)
     7  [![Go Report Card](https://goreportcard.com/badge/github.com/hyperledger/aries-framework-go)](https://goreportcard.com/report/github.com/hyperledger/aries-framework-go)
     8  
     9  # <p><img src="https://raw.githubusercontent.com/hyperledger/aries-rfcs/1371a4807ead74c36ea7d5af909064ec491b78c1/collateral/Hyperledger_Aries_Logo_Color.png" height="50px" alt="Hyperledger Aries">Framework Go</p>
    10  
    11  Hyperledger Aries Framework Go enables trusted communication and data exchange based on interoperable distributed ledger technologies (DLTs) and peer-to-peer (P2P) interactions.
    12  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.
    13  
    14  We aim to provide Go implementations of:
    15  
    16  - Decentralized identity standards including [W3C decentralized identifiers](https://w3c.github.io/did-core/) (DIDs), [W3C DID resolution](https://w3c-ccg.github.io/did-resolution/), and [W3C verifiable credentials](https://w3c.github.io/vc-data-model/).
    17  - Decentralized data communication protocols anchored in DIDs: [DIDComm](https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0005-didcomm).
    18  - 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)](docs/kms_secretlock.md), crypto, data storage, encrypted data vault integration, etc.
    19  
    20  We aim to enable usage of our protocol implementations in a wide variety of edge and cloud environments including servers, browsers, mobile, and devices.
    21  API bindings are supplied to enable these environments including:
    22  
    23  - Go
    24  - REST
    25  - JavaScript / WebAssembly
    26  - Android
    27  - iOS
    28  - C (future)
    29  
    30  We implement demonstrations and test cases, that require a ledger system, using [DIF Sidetree protocol](https://github.com/decentralized-identity/sidetree/blob/master/docs/protocol.md) as this protocol enables generic decentralized ledger systems to operate as a DID network.
    31  
    32  ## Documentation
    33  Aries Framework Go documentation can be viewed at [GoDoc](https://pkg.go.dev/github.com/hyperledger/aries-framework-go). The project structure is described [here](docs/project_structure.md).
    34  
    35  The project structure for the mobile bindings can be found [here](cmd/aries-agent-mobile/doc/project_structure.md).
    36  
    37  The packages intended for end developer usage are within the [pkg/client](https://pkg.go.dev/github.com/hyperledger/aries-framework-go/pkg/client) folder along with the main agent package ([pkg/framework/aries](https://pkg.go.dev/github.com/hyperledger/aries-framework-go/pkg/framework/aries)).
    38  
    39  The project can also be used as a [DIDComm Router/Mediator](docs/didcomm_mediator.md).
    40  
    41  Information about Verifiable Credential Wallet framework based on [Universal Wallet](https://w3c-ccg.github.io/universal-wallet-interop-spec/) can be found [here](docs/vc_wallet.md).
    42  
    43  Key concepts about the Hyperledger Aries Project can be found [here](/docs/concepts).
    44  
    45  Details of the standards followed and specifications implemented by Hyperledger Aries Project can be found [here](docs/concepts/02_standards.md).
    46  
    47  ## Controller Bindings
    48  - [Go](docs/go/README.md)
    49  - [REST](docs/rest/README.md)
    50    - [Run OpenAPI Demo](docs/rest/openapi_demo.md)
    51    - Get the Docker image from [GitHub Packages](https://github.com/hyperledger/aries-framework-go/packages/69982)
    52  - [JavaScript](cmd/aries-js-worker/README.md)
    53    - Get it from [GitHub Packages](https://github.com/hyperledger/aries-framework-go/packages/123279)
    54  - [Mobile](cmd/aries-agent-mobile/README.md)
    55  
    56  ## Testing
    57  - [Build](docs/test/build.md)
    58  - [BDD tests](docs/test/bdd_tests.md)
    59  
    60  ## Contributing
    61  Found a bug? Ready to submit a PR? Want to submit a proposal for your grand
    62  idea? Follow our [guidelines](.github/CONTRIBUTING.md) for more information
    63  to get you started!
    64  
    65  ## License
    66  Hyperledger Aries Framework Go is licensed under the [Apache License Version 2.0 (Apache-2.0)](LICENSE).
    67  
    68  Hyperledger Aries Framework Go [documentation](docs) is licensed under the [Creative Commons Attribution 4.0 International License (CC-BY-4.0)](http://creativecommons.org/licenses/by/4.0/).