Giter VIP home page Giter VIP logo

oneidentityblockchain's Introduction

One Person,One Identity on Blockchain

Overview

Maintaining the digital identity of a person is very difficult for a central server, in this current digital world where everyone is concerned with there privacy. So, to solve this problem and various problems faced in aaddhar system this project is using a private blockchain maintained by government organizations. This project also solves the problem of multiple KYC.

In this Project, the identity of a person will be divided into various fields, fields like education, health, Personal details, etc. education field will contain all the details of education details like certificates pictures. and also the education field can be updated and view only by the organization which is concerned with education, organizations like IIT, CBSE, etc.

The images will be stored on a local database with the filename as digital signature of a person.

What new in this project:- This project will remove the single point of failure, by distributing the fields of identity among assigned organizations.

Features

  1. Person have to do KYC only once
  2. The certain fields of identity will only be accessed based upon the orgainzation/client authorization done using OAuth.
  3. Education , Personal and Health fields can be accessed by client

Blockchain

Start The network

Generate the channel artifacts and crypto files

    cd network
    cryptogen generate --config=./crypto-config.yaml 
    mkdir channel-artifacts
    configtxgen -profile Genesis -outputBlock channel-artifacts/genesis.block -channelID genesis 
    configtxgen -outputCreateChannelTx channel-artifacts/channel.tx -profile BookChannel -channelID bookchannel 
    configtxgen -outputAnchorPeersUpdate channel-artifacts/HostAnchorUPdate.tx -profile BookChannel -channelID bookchannel -asOrg Host

Start Docker Containers and setup the peers

  1. Change the *-cert.pem to cert.pem in ca folder of peerOrganizations , and private key to PRIVATE_KEY
  2.  cd blockchain/network/docker
     docker-compose up -d
    
  3.  docker exec -it cli bash
     cd /channel-artifacts
     peer channel create -f channel.tx -o orderer:7050 -c bookchannel
     peer channel join -b bookchannel.block
     peer channel update -f HostAnchorUPdate.tx -o orderer:7050 -c bookchannel
     peer chaincode install -n test -v 0 -p chaincode
     peer chaincode instantiate -n test -v 0 -C bookchannel -c '{"args":[]}'
    

Fire up the AIPs

  1. cd blockchain/app/
  2.  node ./client/enrollAdmin.js
     node ./client/clientRegister.js
    
  3.  nodemon ./testapi/api.js
    

Description of APIs

Route Method Description
/hospital/admin/getdob POST Hospital will register a new person with
/hospital/user/me/Health GET Health of person
/hospital/admin/addreports POST Add health report to users
/uidai/user/me/personal GET get personal details of person
/uidai/admin/getAllRequest GET get all request
/uidai/admin/getAcceptRequest GET get the accepted request
/uidai/admin/getPendingRequest GET get all pending request
/uidai/user GET get user details
/uidai/admin/responRequest PUT admin will responed the request
/uidai/admin/verify PUT verify the person with accepted request
/quali/getquali GET get education field
/quali/admin/addquali PUT add qualification
/quali/getThequali GET get the perticular qualification

Language and Technology in use

  1. Golang
  2. Docker
  3. Nodejs
  4. Hyperledger Fabric

License

oneidentityblockchain's People

Contributors

zzocker avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.