/Ethereum-IPFS-FileHosting

Secure way to host and share your files with smart contracts and decentralized IPFS storage.

Primary LanguageSvelte

Ethereum-IPFS-FileHosting

File hosting service powered by Ethereum smart contracts and decentralized IPFS storage.

Features

  • 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.

Instructions

  • git clone https://github.com/bunnykek/Ethereum-IPFS-FileHosting
  • Install Node.js and git.

Hardhat-Metamask setup

  • Install Metamask browser extension. Note the wallet mnemonic key when you setup.
cd Ethereum-IPFS-FileHosting/hardhat
npm i

IPFS-Pinata setup

  • Register to Pinata and grab the API tokens.
  • Rename .ENVR to .env and fill the respective Pinata tokens.

Front-end setup

cd Ethereum-IPFS-FileHosting
npm i

Starting a local etherium node

cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat node
// let this terminal running in background.

Deploying the smart contract.

cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat run scripts/deploy.js --network localhost

Note the deployed contract address and set it inside .env file.

Starting the frontend

cd Ethereum-IPFS-FileHosting
npm run dev

Flow-chart

BlockChainFlow-Page-1 (1) (1)

Screenshots

collage (4)

Don't forget to drop a star if this project is useful to you.