Giter VIP home page Giter VIP logo

fluidos-project / idm-fluidos-aries-framework-go Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 13.22 MB

FLUIDOS idm, Aries agent modified for use dp-abc cryptography combined with Hyperledger Fabric as VDR to provide a very powerful interface when working with DID's, issuing VCredentials or using smart contracts

Home Page: https://fluidos-project.github.io/idm/

License: Apache License 2.0

Makefile 0.16% Shell 0.34% Go 96.17% JavaScript 0.98% HTML 0.10% Vue 0.02% Dockerfile 0.02% C 0.28% Python 0.06% Gherkin 1.87%
fluidos go identity-management meta-os security verifiable-credentials

idm-fluidos-aries-framework-go's Introduction

Moded Aries-Framework-Go for FLUIDOS Identity Management

Aries Agent with modification for:

  • Use dp-abc crypto
  • Use vdr fabric for hyperledger fabric as verfiable storage
  • Simplified Demo
  • Usage example
  • iDM-poc for FLUIDOS

Requisites

  • Go(last check with version 1.19.8)
apt-get install go
  • Docker-compose 1.28.5+
curl -L https://github.com/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
  • JQ command
apt install jq

Quick start

To obtain the repo with submodules run clone like this:

git clone [email protected]:fluidos-project/p-abc.git
cd idm-fluidos-aries-framework-go
git submodule  update --init --recursive

Hyperledger Fabric

There are new Make Rules related to the deployment of Hyperledger Fabric:

  • build-fabric
  • run-fabric
  • stop-fabric
  • restart-fabric # TODO include and test

To run this mod aries-framework-go which uses a basic vdr to connect with Hyperledger Fabric, first of all and only once, you need to run: make build-fabric. It will download docker and resources needed to ./modules/fabric-samples.

Deploy agent

The new Fabric VDR is automatically added by default. Besides, the rules related to launching de Aries Demo run-openapi-demo were modified in order to run hyperledger fabric automatically with the necessary rules.

run-openapi-demo: stop-openapi-demo generate-test-keys generate-dpabc-clib run-fabric generate-openapi-demo-specs

So, doing make run-openapi-demo will now, stop it, generate dp-abc C libraries and run Hyperledger Fabric deployment, already with an SmartContract installed. See scripts ./scripts/fabric/*

NOTE: if you have problems deploying everything and errors appears, may is a problem related to volumes or containers that didn't get correctly stopped, so try:

make clean
make stop-openapi-demo

Open a browser and go to http://localhost:8089/openapi or http://localhost:9089/openapi to see API Swagger if you deploy in your local machine

FLUIDOS iDM POC Calls

/fluidos/idm/VerifyCredential
/fluidos/idm/acceptDeviceEnrolment
/fluidos/idm/doDeviceEnrolment
/fluidos/idm/generateVp
/fluidos/idm/newDID

Test and Development environment

To test the changes made in the implementation restarting only the aries services do:

make run-openapi-demo-build-no-clean

Remote DEBUG ⬇️⬇️⬇️

Before running make run-openapi-demo

If you want a remote debug mode with remote delve run export PROFILE_DEV='dev' before make run-openapi-demo, it will open 2 ports in the API containers. To setup your VSCode remote debugger add this to your VSCode run configuration launch.json :

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "name": "holder",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "remotePath": "",
            "port": 4000,
            "host": "10.208.99.115",
            "showLog": true,
            "trace": "log",
            "logOutput": "rpc",
            "dlvLoadConfig": {
                "followPointers": true,
                "maxVariableRecurse": 1,
                "maxStringLen": 3000,
                "maxArrayValues": 64,
                "maxStructFields": -1
            }
        },
                {
            "name": "issuer",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "remotePath": "",
            "port": 5000,
            "host": "10.208.99.115",
            "showLog": true,
            "trace": "log",
            "logOutput": "rpc",
            "dlvLoadConfig": {
                "followPointers": true,
                "maxVariableRecurse": 1,
                "maxStringLen": 3000,
                "maxArrayValues": 64,
                "maxStructFields": -1
            }
            
        }
    ]
}

idm-fluidos-aries-framework-go's People

Contributors

educanovas93 avatar

Stargazers

 avatar

Watchers

 avatar Fulvio Risso avatar

idm-fluidos-aries-framework-go's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.