File hosting service powered by Ethereum smart contracts and decentralized IPFS storage.
- Blockchained and decentralized.
- Automated via smart contracts.
- File sharing with friends.
- Files are AES-256 encrypted in client-side and then uploaded to the IPFS.
git clone https://github.com/bunnykek/Ethereum-IPFS-FileHosting
- Install Node.js and git.
- Install Metamask browser extension. Note the wallet
mnemonic
key when you setup.
cd Ethereum-IPFS-FileHosting/hardhat
npm i
- Register to Pinata and grab the API tokens.
- Rename
.ENVR
to.env
and fill the respective Pinata tokens.
cd Ethereum-IPFS-FileHosting
npm i
cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat node
// let this terminal running in background.
cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat run scripts/deploy.js --network localhost
Note the deployed contract address and set it inside .env
file.
cd Ethereum-IPFS-FileHosting
npm run dev