Passwor-D-App
A tool built on top of the Ethereum blockchain to decentraize your password vault
Use this tool for storing your passwords securely in the Ethereum blockchain. Any number of passwords can be stored through this app and the amount of gas spent can be configured to fit your needs. The passwords are sharded and stored across multiple smart contracts and this number can be configured i.e you can create & deploy multiple contract stores which would hold the data and everytime a password is sent for storage, one of the smart contracts will be used.
This app can be connected to the live network for storing the password list. Please follow the manual below to setup and deploy the contracts required for carrying out the necessary operations. This app can also be used with the test networks like Ropsten / Rinkerby for development purposes. Please configure the truffle.js file for setting up the app to work with your own private block chain network.
Tools & Frameworks:
- Truffle - For building smart contracts
- Ganache - For running local ethereum blockchain
- Metamask - For connecting to ethereum apps from browser
Login Screen:
Main Screen:
Smart Contracts:
- Factory - This smart contract is the entry point of the app which encapsulates the actual smart contracts that perform the job
- ContentLocator - This smart contract picks a random ContentStore contract for sharding and storing the password data
- ContentStore - The actual contract where the password is stored as a state
Setup:
- Clone the repository to your local folder
- Run npm install
- Install Ganache (http://truffleframework.com/ganache/)
- In terminal, type truffle develop
- Run compile-all (To compile smart contracts)
- Run migrate --reset --network development (For deploying smart contracts)
- Open http://localhost:8080/admin.html to add the desired number of ContentLocator and ContectStore smart contracts
- Open http://localhost:8080/ to signup and start using the app (Wallet coinbase acct used as user address)