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.
- Person have to do KYC only once
- The certain fields of identity will only be accessed based upon the orgainzation/client authorization done using OAuth.
- Education , Personal and Health fields can be accessed by client
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
- Change the *-cert.pem to
cert.pem
in ca folder of peerOrganizations , and private key toPRIVATE_KEY
-
cd blockchain/network/docker docker-compose up -d
-
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":[]}'
- cd blockchain/app/
-
node ./client/enrollAdmin.js node ./client/clientRegister.js
-
nodemon ./testapi/api.js
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 |
- Golang
- Docker
- Nodejs
- Hyperledger Fabric