aries

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2019 License: Apache-2.0 Imports: 0 Imported by: 0

README

Release License Godocs

Build Status codecov Go Report Card

Hyperledger AriesFramework 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).

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).

Documentation

Overview

Package aries enables Go developers to build solutions based on the Hyperledger Aries project (https://www.hyperledger.org/projects/aries).

Packages for end developer usage

pkg/framework/aries: The main package of the Aries Framework. This package enables creation of context based on provider options. This context is used by the client packages listed below. Reference: https://godoc.org/github.com/hyperledger/aries-framework-go/pkg/framework/aries

pkg/client/didexchange: Provides did exchange protocol through SDK. Reference: https://godoc.org/github.com/hyperledger/aries-framework-go/pkg/client/didexchange

pkg/restapi/operation/didexchange: Provides did exchange protocol through restapi. Reference: https://godoc.org/github.com/hyperledger/aries-framework-go/pkg/restapi/operation/didexchange

Basic workflow

  1. Instantiate a aries instance using a provider options.
  2. Create a context using your aries instance.
  3. Create a client instance using its New func, passing the context.
  4. Use the funcs provided by each client to create your solution!
  5. Call aries.Close() to release resources.

Directories

Path Synopsis
cmd
aries-agentd module
component
didconfig module
kmscrypto module
log module
models module
newstorage module
storage/edv module
storageutil module
vdr module
pkg
client/didexchange
Package didexchange enables relationship between two agents via DID Exchange Protocol.
Package didexchange enables relationship between two agents via DID Exchange Protocol.
didcomm/common/service/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
doc/signature/ed25519signature2018
Package ed25519signature2018 implements the Ed25519Signature2018 signature suite for the Linked Data Signatures [LD-SIGNATURES] specification.
Package ed25519signature2018 implements the Ed25519Signature2018 signature suite for the Linked Data Signatures [LD-SIGNATURES] specification.
framework/aries
Package aries provides a pluggable dependency framework, where implementors can customize primitives via Service Provider Interfaces (SPIs).
Package aries provides a pluggable dependency framework, where implementors can customize primitives via Service Provider Interfaces (SPIs).
kms
spi module
test
bdd module
component module
newstorage module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL