Git Product home page Git Product logo

desrist2020-demo's Introduction

desrist2020-demo

Source code for Blockchain certified Documents for trusted information (BC-DTI) for conference DESRIST2020. TODO: Fill-in more information about his application/demo

Repository Overview

  • hyperledger-chaincode/ - Contains chaincode for this application
  • hyperledger-api-server/ - API server implementation for the chaincode
  • website/ - Frontend for the application

Architecture diagram - High level

Architecture diagram - Hyperledger fabric network v2.0

Web Interfaces

University view

Recruiter/Verifiers view

Work flow diagram

Work flow - Uploader

  1. The acceptor of the university uploads the document which needs to be inserted to the system.
  2. The SHA256 of the document is calculated and awaits for approver for endorsement.
  3. The approver verifies the correctness of the document and signs it.
  4. This is send to the chaincode which submites the transaction proposal to the orderer.
  5. Orderer orders a new transaction and mines a fresh block with the data.

Work flow - Verifier

  1. The verifier uploads the document to be verified from the verification page.
  2. The SHA256 of the document is calculated and submits to the chaincode.
  3. The chaincode fetches the correct SHA256 of the document from the blockchain and verifies it with the one SHA256 provided by the verifier.
  4. The chaincode returns true or false based on check.

Prerequisites

  1. golang >= 1.13.5
  2. Hyperledger Fabric = 1.4.4

Deployment

  1. Optional: Install system packages necessary for fabric
./run.sh fabric-system
  1. Install the fabric itself
./run.sh fabric-platform
  1. Get the test network up with default mychannel
(cd fabric-samples/test-network; ./network.sh down && ./network.sh up createChannel -s couchdb && ./network.sh deployCCCV)
  1. Verify existing documents in the network
(cd fabric-samples/test-network; FABRIC_CFG_PATH=$PWD/../config/ ./scripts/insert.sh 0)
  1. Insert the sha256sum of a test ID (111092-221P) and first Document test_doc.txt
(cd fabric-samples/test-network; FABRIC_CFG_PATH=$PWD/../config/ ./scripts/insert.sh 1)
  1. Insert the sha256sum of a test ID (111092-221P) and second Document test_doc2.txt
(cd fabric-samples/test-network; FABRIC_CFG_PATH=$PWD/../config/ ./scripts/insert.sh 2)
  1. The verification can also been seen in the console and also from couchdb of peer0 or peer1 http://localhost:5984 or http://localhost:7984

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.