Blockchain based peer review system for conference papers
Please find the attached YouTube link for video of implementation: https://youtu.be/h8rzNEDi5HY
Please find the attached drive link for whitepaper: https://drive.google.com/open?id=1-LnCRTdZU4SVKqHxqUnLBY4iudbLr5R2
Please find the attached drive link for video implementation: https://drive.google.com/file/d/1sWrqPv3-q9Ej510LrAs3AkCGvJYDRvaV/view?usp=sharing
Before using the application you need to have certain tools and packages installed on your local machine.
- Install go-ethereum on your machine or Geth. You can refer this link for instructions.
- Install NodeJS on your local machine. You can refer this link for further instructions.
- Install IPFS on your local machine. You can refer this link for futher instructions.
- Install Truffle on your local machine by running
npm install -g truffle
. - Install MongoDB server on your local machine. You can refer this link for further instructions.
-
Create folder for chain data:
mkdir datadir
-
Initialize Blockchain network and create genesis block:
geth --datadir ./datadir init init.json
-
Start blockchain network and expose useful RPC APIs:
geth --datadir ./datadir --networkid 2019 --rpc --rpcport 8545 --rpcaddr 127.0.0.1 --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,miner"
geth attach ./datadir/geth.ipc
Run the following commands on Geth console-
-
Get enode information of nodes by running following command:
admin.nodeInfo.enode
-
Add peer by running following command:
admin.addPeer(<enode id of the current Node and IP of the Node to connect>)
-
Check if peers are added by following command:
admin.peers
You might use following commands to start MongoDB server on your local machine:
sudo mongod
or sudo systemctl start mongod
Run following commands on your terminal:
-
Initialize IPFS on your machine
ipfs init
-
Configure IPFS to allow CORS
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"*\"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '[\"PUT\", \"GET\", \"POST\"]'
-
Start IPFS Daemon
ipfs daemon
Run the following commands on the terminal in project root directory:
-
Compile Smart Contracts
truffle compile
-
Migrate Smart Contracts to the Geth Node
truffle migrate
Run npm start
on your terminal. The application should start on port 3001. View the application in your favourite browser using url: http://localhost:3001.
- Geth - 1.8.22-stable-7fa3509e
- IPFS - version 0.4.19
- MongoDB - version v2.6.10
- NodeJS - v8.15.0
- NPM - 6.4.1
- Truffle - v5.0.3