Ethereum proof of existance dapp. Application frontend is developed in ReactJS, Smart Contracts are developed in Solidity. This application allows users to prove existence of some information by showing a time stamped picture/video.
Data could be stored in a database, but to make it truly decentralized consider storing pictures using something like IPFS. The hash of the data and any additional information is stored in a smart contract that can be referenced at a later date to verify the authenticity.
A user logs into the web app. The app reads the user’s address and shows all of the data that they have previously uploaded. The user can upload some data (pictures/video) to the app, as well as add a list of tags indicating the contents of the data. Users can retrieve necessary reference data about their uploaded items to allow other people to verify the data authenticity. Users can privide a proof of a document by storing its hash in the blockchain.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
| nodejs
| v8.11.3 or higher |
| npm
| v6.1.0 or higher |
| MetaMask
| browser extension |
| Truffle
| v4.1.13 or higher |
| ganache-cli
| |
| Solidity
| v0.4.24 or higher |
| git
| |
A step by step series of examples that tell you how to get a development env running
Clone the project repository.
Go to the project directory
cd proof-of-existence-dapp
Install node modules
npm install
Compile Smart Contracts
truffle compile
Start a development blockchain network
ganache-cli
Mirgate smart contracts
truffle migrate [--reset]
Login to metamask with Ganache-cli seed phrases
copy ganache-cli seed phrase and login to metamask and select localhost
Start Dapp
npm run start
Start using Dapp
http:https://localhost:3000/
This section explain how to run the automated tests for this application.
Go to project root directory
cd proof-of-existence-dapp
Run tests
truffle test
Follow the steps mentioned below to do testnet deployment.
-
Go to project directory and open truffle.js file
cd proof-of-existence-dapp/truffle-config.js
-
Open metamask and assign the seed phrase to seedWords variable
seedWords = "memonic"
-
Go to command prompt and run the truffle migrate command
truffle migrate --network rinkeby