Ethereum Blockchain based review system
User can create his/her account using 'Create Wallet' functionality. After creating the wallet he/she can add new product to blockchain using 'Add Product' functionality, but to add the product user should have connected to metamask wallet, if not you can't add new product. For a successfull 'Add Product' functionality user will get blockchain transaction-id which you can verify in Explorer.
Once the product is successfully added, you can view the product in home page as list. If you notice carefully, the image will not stored in the localhost instead it will be in IPFS. User will get only IPFS image hash.
Any product which is added to the chain, any user can review it. Again to review the product user should connected to metamask as well. Once reviewed, you can view all the reviews in the list.
All the data will be stored and verified in Ethereum Private Blockchain.
- Ethereum Blockchain (geth)
- Solidity
- NodeJS
- ReactJS
- Metamask Wallet
- MongoDB
-
Setup Blockchain Network
- Install Ethereum
- Create new geth account
- Use puppet to configure Private blockchain network
- Initialize network with genesis configuration
- Bring-up geth network
-
Compile and Deploy smart-contract
- Open remix and paste the smart-contract
- Select the Solidity 4.24 version compiler and compile it.
- Make sure you have dummy Ether in your wallet and in Remix click Deploy
- Copy the contract address and ABI
- Open .env and add ABI and contract address
- cd ServerAPI; npm install; npm start
-
Configure Blockchain Explorer
- git clone https://github.com/web3labs/epirus-free.git
- NODE_ENDPOINT=http://172.16.239.1:8545 docker-compose up
- http://localhost/
-
UI Setup
- cd review-app
- npm install
- npm start
Blockchain is running on port http://localhost:8545
NodeJS server is running on port http://localhost:8000
Blockchain Explorer is running on port http://localhost
ReactJS client is running on port http://localhost:3000
ReviewDemo.mp4
This sample is licensed under the terms of the MIT License. Please see the LICENSE file for full details.
Vijaya Prakash
https://www.linkedin.com/in/saanvijay/