Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rohitroy-github/vite-ipfs-drive

A decentralized google drive clone designed using ViteJS, Tailwind CSS and powered by IPFS (Pinata) & Blockchain.
https://github.com/rohitroy-github/vite-ipfs-drive

alchemy blockchain context-api dapp ethersjs ipfs pinata react react-toastify smart-contracts solidity tailwind-css vitejs

Last synced: 9 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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 😊