All Projects → hyperledger → aries-framework-dotnet

hyperledger / aries-framework-dotnet

Licence: Apache-2.0 license
Aries Framework .NET for building multiplatform SSI services

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to aries-framework-dotnet

aries-vcx
AriesVCX is a Rust framework for building web and mobile applications issuing, holding, presenting and verifying Verifiable Credentials in accordance to the standards set by Hyperledger Aries.
Stars: ✭ 33 (-51.47%)
Mutual labels:  ssi, aries, self-sovereign-identity, decentralized-identity
slashtags
Slashtags implementation in JavaScript
Stars: ✭ 69 (+1.47%)
Mutual labels:  ssi, self-sovereign-identity, decentralized-identity
awesome-self-sovereign-identity
An awesome list of self-sovereign identity resources.
Stars: ✭ 161 (+136.76%)
Mutual labels:  ssi, self-sovereign-identity, decentralized-identity
aries-agent-test-harness
Aries agent test framework, with agent backchannel support
Stars: ✭ 43 (-36.76%)
Mutual labels:  hyperledger, aries
aries-mobile-agent-react-native
Aries Mobile Agent for React Native, built using Aries Framework JavaScript
Stars: ✭ 16 (-76.47%)
Mutual labels:  ssi, self-sovereign-identity
verity
Evernym Verity is a decentralized protocol platform for issuing and verifying digital credentials. This repository contains the back-end service which is accessed using the Verity SDK. This is a read-only mirror. Contributions are welcomed at https://gitlab.com/evernym .
Stars: ✭ 18 (-73.53%)
Mutual labels:  ssi, self-sovereign-identity
fabric
这是基于fabric 1.4.1 版本国密改造项目
Stars: ✭ 62 (-8.82%)
Mutual labels:  hyperledger
blockchain-insurance
Blockchain Car Insurance with Smart Contracts on Hyperledger
Stars: ✭ 72 (+5.88%)
Mutual labels:  hyperledger
Docotic.Pdf.Samples
C# and VB.NET samples for Docotic.Pdf library
Stars: ✭ 52 (-23.53%)
Mutual labels:  net-core
HealthLedger
Application for tracking Organs donations in hospitals and minimizing the scope of Organ trafficking using Blockchain (Hyperledger) technology.
Stars: ✭ 29 (-57.35%)
Mutual labels:  hyperledger
SpiceSharp
Spice# is a cross-platform electronic circuit simulator based on Berkeley Spice - the mother of commercial industry-standard circuit simulators.
Stars: ✭ 146 (+114.71%)
Mutual labels:  net-core
hyperledger-fabric-graphql-boilerplate
Hyperledger Fabric GraphQL Boilerplate
Stars: ✭ 44 (-35.29%)
Mutual labels:  hyperledger
hurley
The development environment toolset for blockchain projects
Stars: ✭ 79 (+16.18%)
Mutual labels:  hyperledger
.well-known
Specs and documentation for all DID-related /.well-known resources
Stars: ✭ 44 (-35.29%)
Mutual labels:  decentralized-identity
fabric-cop
This is a read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-cop no pull requests accepted
Stars: ✭ 13 (-80.88%)
Mutual labels:  hyperledger
csharp
Run c# code from the command line, like python or javascript
Stars: ✭ 22 (-67.65%)
Mutual labels:  net-core
byzantine-browser
KHS Blockchain Browser
Stars: ✭ 19 (-72.06%)
Mutual labels:  hyperledger
Contracts
All WiBX blockchain chain code
Stars: ✭ 20 (-70.59%)
Mutual labels:  hyperledger
Hyperledger-Fabric-Install
Install Hyperledger Fabric 1.0 Quick Start
Stars: ✭ 16 (-76.47%)
Mutual labels:  hyperledger
fablo
Fablo is a simple tool to generate the Hyperledger Fabric blockchain network and run it on Docker. It supports RAFT and solo consensus protocols, multiple organizations and channels, chaincode installation and upgrade.
Stars: ✭ 121 (+77.94%)
Mutual labels:  hyperledger

Aries Framework for .NET

Build Status Build Status MyGet

Aries Framework for .NET is a comprehensive implementation of the Aries protocols. It's purpose is to provide a universal library for building SSI application for the cloud, mobile and IoT stack.

Table of Contents

Environment Setup

Prerequisites

Installation

Aries Framework for .NET comes as a Nuget package available at nuget.org

PM> Install-Package Hyperledger.Aries

If you are developing a web application, also install Hyperledger.Aries.AspNetCore package.

Quickstart Guide

The framework fully leverages the .NET Core hosting model with full integration of dependency injection, configuration and hosting services.

Create new web application

Using your favorite editor, create new web project. You can also create a project from the console.

dotnet new web -o AriesAgent

To setup your agent use the Startup.cs file to configure the framework.

Add the framework dependencies

Use the IServiceCollection extensions to add the dependent services to your application in the ConfigureServices(IServiceCollection services) method. Upon startup, the framework will create and configure your agent.

services.AddAriesFramework(builder =>
{
    builder.RegisterAgent(options =>
    {
        options.EndpointUri = "http://localhost:5000/";
    });
});

Note: If you'd like your agent to be accessible publically, use Ngrok to setup a public host and use that as the EndpointUri. When changing the endpoints, make sure you clear any previous wallets with the old configuration. Wallet data files are located in ~/.indy_client/wallet

For a list of all configuration options, check the AgentOptions.cs file.

Register the agent middleware

When running web applications, register the agent middleware in the Configure(IApplicationBuilder app, IWebHostEnvironment env) method. This will setup a middleware in the AspNetCore pipeline that will respond to incoming agent messages.

app.UseAriesFramework();

That's it. Run your project.

Demo

With Docker installed, run

docker-compose up

This will create an agent network with a pool of 4 indy nodes and 2 agents able to communicate with each other in the network. Navigate to http://localhost:7000 and http://localhost:8000 to create and accept connection invitations between the different agents.

Testing

To run the unit tests, the following dependencies also must be installed:

  • Docker

Install libindy library

Follow the build instructions for your OS on the Hyperledger Indy SDK Readme.

For macOS, if you get a 'indy' DLL not found exception, move the built libindy.dylib file to the test/Hyperledger.Aries.Tests/bin/Debug/netcoreapp3.1/ directory to explicitly add it to the path.

Run an indy node pool on localhost

docker build --build-arg pool_ip=127.0.0.1 -f docker/indy-pool.dockerfile -t indy_pool docker/
docker run -itd -p 9701-9709:9701-9709 indy_pool

Run an indy node pool on server

# replace <ip_address> with server IP address
docker build --build-arg pool_ip=<ip_address> -f docker/indy-pool.dockerfile -t indy_pool docker/
docker run -itd -p <ip_address>:9701-9709:9701-9709 indy_pool

Run the tests

First, edit the keyword in the scripts/tester.sh file to select the tests you want to run. Then, run the script

scripts/tester.sh 

License

Apache License Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].