Skip to content

A decentralized google drive clone designed using ViteJS, Tailwind CSS and powered by IPFS (Pinata) & Blockchain.

Notifications You must be signed in to change notification settings

rohitroy-github/vite-ipfs-drive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPFS Drive 1.0 (EVM Based)

This is a decentralized version of Google Drive for storing photos powered by Blockchain & IPFS.

Currently, the app can be tested on Localhost (Hardhat) & Sepolia (EVM) test network using Alchemy endpoint.

Snapshots from the project :

Features :

  • Uploading pictures
  • Image previews
  • Storing pictures to IPFS
  • Sharing drive access with user (using wallet address)

Tech Stack :

Frontend :

  • Vite JS
  • Tailwind CSS

Backend :

  • Node JS
  • Hardhat
  • Metamask Wallet
  • Ethers JS
  • Alchemy
  • Pinata IPFS

Deployed Chains :

  • Ethereum Sepolia Testnet ✅
  • Hardhat Local Testnet ✅

Guide for testing locally :

Environment variables :

  • Create a new .env file inside [blockchain-hardhat] folder taking reference from .env.example file inside the same.
  • Create a new .env file inside [frontend-vite] folder taking reference from .env.example file inside the same.

Backend :

Terminal 1:

  • Run (Move inside [blockchain-hardhat] folder) : cd blockchain-hardhat
  • Run (Running Hardhat node locally) : npx hardhat node

Terminal 2:

  • Run (Move inside [blockchain-hardhat] folder) : cd blockchain-hardhat
  • [OPTIONAL] Run (Running tests) : npx hardhat test
  • Run (Running deployment script for Localhost) : npx hardhat run scripts/deploy[IPFSDriveContract_Main].js --network localhost
  • [OPTIONAL] Run (Running deployment script for Sepolia) : npx hardhat run scripts/deploy[IPFSDriveContract_Main].js --network sepolia

Update the [backend-config.json] file inside /frontend-vite with the updated contract-address under "31337" "address" feild fetched from Terminal 2.

Frontend :

Terminal 1:

  • Run (Move inside [frontend-vite] folder) : cd frontend-vite
  • Run (Running frontend on browser): npm run dev

The project is complete but I'm open to suggestions & modifications for this project. Please don't forget to put a ⭐ if you're feeling generous 😊