prove-it

所属分类:以太坊
开发工具:CSS
文件大小:1557KB
下载次数:0
上传日期:2019-01-02 23:42:24
上 传 者sh-1993
说明:  证明它是一个以太坊去中心化应用程序,允许用户证明某些数据的存在和完整性...
(Prove-it is an Ethereum decentralized application that allows users to prove the existence and integrity of some data such as documents, images or videos.)

文件列表:
.node-xmlhttprequest-sync-26248 (0, 2019-01-03)
LICENSE (1056, 2019-01-03)
build (0, 2019-01-03)
build\contracts (0, 2019-01-03)
build\contracts\LibraryDemo.json (110076, 2019-01-03)
build\contracts\Migrations.json (53611, 2019-01-03)
build\contracts\Mortal.json (73882, 2019-01-03)
build\contracts\Owned.json (70259, 2019-01-03)
build\contracts\Prove.json (354813, 2019-01-03)
build\contracts\ProveDatabase.json (419480, 2019-01-03)
build\contracts\Register.json (90080, 2019-01-03)
config (0, 2019-01-03)
config\env.js (1102, 2019-01-03)
config\jest (0, 2019-01-03)
config\jest\cssTransform.js (323, 2019-01-03)
config\jest\fileTransform.js (301, 2019-01-03)
config\paths.js (1888, 2019-01-03)
config\polyfills.js (613, 2019-01-03)
config\webpack.config.dev.js (9642, 2019-01-03)
config\webpack.config.prod.js (10068, 2019-01-03)
contracts (0, 2019-01-03)
contracts\Migrations.sol (507, 2019-01-03)
contracts\Mortal.sol (1028, 2019-01-03)
contracts\Prove.sol (4395, 2019-01-03)
contracts\ProveDatabase.sol (6199, 2019-01-03)
contracts\Register.sol (1607, 2019-01-03)
deployed_addresses.txt (277, 2019-01-03)
migrations (0, 2019-01-03)
migrations\1_initial_migration.js (129, 2019-01-03)
migrations\2_deploy_contracts.js (486, 2019-01-03)
package-lock.json (697537, 2019-01-03)
package.json (2978, 2019-01-03)
public (0, 2019-01-03)
public\favicon.ico (32038, 2019-01-03)
public\index.html (2073, 2019-01-03)
scripts (0, 2019-01-03)
scripts\build.js (8624, 2019-01-03)
... ...

# Prove-it Dapp ## Overview Ethereum prove-it dapp. The frontend is developed using ReactJS while the smart contracts are developed using Solidity. Prove-it allows users to prove the existence and integrity of some data such as files, images or videos. The data is stored in a decentralized storage system called IPFS (InterPlanetary File System). The hash of the file as well as the description tags are stored in the smart contract which is later referenced in order to verify the authenticity of the data. ### User Stories: #### Retrieving uploaded files User logs in to the webapp. The dapp identifies the user's ethereum address. User clicks the 'Files' tab. The dapp displays the files previously uploaded with detailed information. #### Uploading files User logs in to the webapp. The dapp identifies the user's ethereum address. User can upload a file and add descriptive tags of the data. The file is stored on IPFS and the hash of the file is stored in a smart contract. #### Verifying files User logs in to the webapp. The dapp identifies the user's ethereum address. User can verify a file either with its hash or by uploading the file. The file details are displayed if the file exists on the blockchain. A user logs into the web app. The app reads the users 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 prove of a document by storing its hash in the blockchain. ### Important Note Files uploaded are stored in IPFS. Do not upload sensitive personal information. ## Getting Started 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. ### Requirements These are the dependencies: `nodejs` `npm` `Truffle` `MetaMask` `ganache-cli` `truffle-hdwallet-provider` `Solidity` `git` #### Reference links * [nodejs](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04) - nodejs * [git](https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04) - git * [ganache-cli](https://github.com/trufflesuite/ganache-cli) - ganache * [Truffle](https://truffleframework.com/docs/truffle/getting-started/installation) - git ### Installation This is a step by step guide to set up the project. Clone the project repository. ``` git clone https://github.com/demmojo/prove-it.git ``` Enter the project directory ``` cd prove-it ``` Install the node modules ``` npm install ``` Compile the smart contracts ``` truffle compile ``` Start the development blockchain network to work on a local network ``` ganache-cli ``` Migrate the smart contracts. The --reset option runs all the migration from the beginning. ``` truffle migrate --reset ``` Login to metamask with Ganache-cli seed phrases ``` copy the ganache-cli seed phrase and login to metamask and select localhost ``` Start the dapp ``` npm run start ``` A tab should pop up in your browser. Otherwise go to the following link. ``` http://localhost:3000/ ``` ## Running the tests This section describes how to run the automated tests for this dapp. Enter the project root directory ``` cd prove-it ``` Run tests ``` truffle test ``` ## Deployment Follow the steps mentioned below to do testnet deployment. 1. Go to project directory and open truffle.js file `cd prove-it/truffle.js` 2. Open metamask and assign the seed phrase to seedWords variable `seedWords = "seed phrase"` 3. Go to command prompt and run the truffle migrate command `truffle migrate --network rinkeby` 4. Deployed the dapp in rinkeby testnet. Contract address are present in `prove-it/deployed_addresses.txt`. ## Built With * [Solidity](https://reactjs.org/docs/getting-started.html) - Smart Contract Language * [ReactJS](https://reactjs.org/docs/getting-started.html) - Frontend web framework * [IPFS](https://reactjs.org/docs/getting-started.html) - Decentralised Storage * [Metamask](https://reactjs.org/docs/getting-started.html) - Browser Extension * [coreui](https://coreui.io/v1/docs/getting-started/introduction/#reactjs) - Frontend Components * [npm](https://www.npmjs.com/) - Package Management ## License prove-it is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

近期下载者

相关文件


收藏者