Skip to content

Boredooms/Decentralized-Storage-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 DeStore - Decentralized Storage Network

Status Hackathon Version

πŸ”₯ Revolutionary Decentralized Storage Platform πŸ”₯

Combining Web3 technology with real physical storage contribution

Store files securely β€’ Earn DESTORE tokens β€’ Join the future of storage

Storage Tokens Security Network

Built with React Powered by Ethereum IPFS Storage TypeScript License: MIT


✨ Key Highlights

Earn
Monetize Storage
Turn unused storage into income
Secure
Bank-Grade Security
Military-level encryption
Global
Worldwide Access
Files available anywhere
Fast
High Performance
Optimized for speed

πŸš€ Features

πŸ“ Decentralized File Storage

  • Traditional IPFS Upload: Store files on IPFS with Pinata gateway
  • Web3 Storage: Smart contract-based storage with NFT minting
  • Physical Storage Network: Contribute real device storage space
  • Real-time File Analytics: Live network statistics and file tracking

πŸͺ™ Token Economy

  • DESTORE Token Rewards: Earn tokens for contributing storage
  • Flexible Reward System: 10 tokens for 10-20GB, 0.5 tokens per GB for larger contributions
  • Storage Provider NFTs: Exclusive NFTs for verified storage contributors
  • On-chain Verification: Ethereum testnet integration for storage proof

πŸ” Security & Privacy

  • File Encryption: Automatic encryption for all stored files
  • Data Chunking: Files split across multiple nodes for redundancy
  • Reed-Solomon Erasure Coding: Advanced error correction
  • MetaMask Integration: Secure Web3 wallet connection

πŸ“Š Real-time Analytics

  • Network Health Monitoring: Live performance metrics
  • Storage Statistics: Real-time capacity and usage tracking
  • Peer Discovery: Automatic detection of storage nodes
  • Performance Metrics: Upload/download speeds, latency, success rates

πŸ› οΈ Technology Stack

Frontend

  • React 19 - Modern UI framework
  • TypeScript - Type-safe development
  • Vite - Fast build tool and development server
  • Tailwind CSS - Utility-first styling
  • Framer Motion - Smooth animations
  • Radix UI - Accessible component library

Backend & Storage

  • Supabase - PostgreSQL database for metadata
  • Pinata IPFS - Decentralized file storage
  • IndexedDB - Local storage for file chunks
  • Clerk - User authentication and management

Blockchain

  • Ethereum - Smart contract platform
  • Hardhat - Development environment
  • ethers.js - Ethereum library
  • OpenZeppelin - Secure contract standards
  • MetaMask - Web3 wallet integration

πŸ“‹ Prerequisites

  • Node.js 18+ and npm
  • MetaMask browser extension
  • Git for version control

πŸš€ Quick Start

1. Clone the Repository

git clone https://github.com/Boredooms/Decentralized-Storage-Platform.git
cd Decentralized-Storage-Platform

2. Install Dependencies

npm install

3. Environment Setup

Create a .env.local file in the root directory:

# Clerk Authentication
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key

# Pinata IPFS Configuration
VITE_PINATA_API_KEY=your_pinata_api_key
VITE_PINATA_SECRET_KEY=your_pinata_secret_key
VITE_PINATA_JWT=your_pinata_jwt_token

# Blockchain Configuration
VITE_DESTORE_TOKEN_ADDRESS=contract_address
VITE_STORAGE_NETWORK_ADDRESS=contract_address
VITE_STORAGE_NFT_ADDRESS=contract_address
VITE_MARKETPLACE_ADDRESS=contract_address
VITE_CHAIN_ID=1337
VITE_RPC_URL=http://127.0.0.1:8545

4. Start Hardhat Local Network

npx hardhat node

5. Deploy Smart Contracts

npx hardhat run scripts/deploy.cjs --network localhost

6. Start Development Server

npm run dev

7. Configure MetaMask

  • Network Name: Hardhat Local
  • RPC URL: http://127.0.0.1:8545
  • Chain ID: 1337
  • Currency Symbol: ETH
  • Import Test Account: Use private key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80

πŸ“– Usage Guide

πŸ”„ File Upload Options

  1. Traditional Upload:

    • Select files using drag & drop or file picker
    • Files are stored on IPFS via Pinata
    • Metadata saved to Supabase database
  2. Web3 Upload:

    • Connect MetaMask wallet
    • Upload files with smart contract interaction
    • Automatic NFT minting for file ownership
    • On-chain storage verification
  3. Contribute Storage:

    • Allocate physical device storage (10GB - 1TB)
    • Earn DESTORE tokens for hosting files
    • Receive exclusive Storage Provider NFT
    • Join the decentralized storage network

πŸ“Š Dashboard Features

  • Upload Section: Multi-tab file upload interface
  • My Files: View and manage uploaded files
  • Network Status: Real-time network analytics
  • Settings: Network diagnostics and configuration

πŸ” Network Analytics

  • Files Stored: Total network file count (updates every 3 seconds)
  • Active Peers: Number of online storage providers
  • Storage Capacity: Total and used storage across network
  • Performance Metrics: Upload/download speeds, latency
  • Network Health: Overall system reliability score

πŸ—οΈ Architecture

Smart Contracts

  1. DestoreToken.sol: ERC-20 token for rewards
  2. StorageNetwork.sol: Core storage network logic
  3. StorageNFT.sol: ERC-721 tokens for file ownership
  4. StorageMarketplace.sol: Storage deals and trading

File Storage Flow

  1. File Upload β†’ Encryption β†’ Chunking β†’ Distribution
  2. IPFS Storage β†’ Metadata Database β†’ Smart Contract β†’ NFT Minting
  3. Physical Storage β†’ Token Rewards β†’ Network Analytics

Real-time Updates

  • 3-second intervals for network statistics
  • WebSocket connections for live data
  • IndexedDB syncing for offline capability

πŸŽ† Demo & Screenshots

πŸ“± Try it Live!

Experience the future of decentralized storage

πŸ”— Live Demo | πŸ“Ί Video Walkthrough | πŸ“Š Network Analytics

πŸ–ΌοΈ Platform Screenshots

🏠 Dashboard Overview
  • File Upload Interface: Drag & drop with multiple upload options
  • Network Analytics: Real-time storage statistics
  • Token Rewards: Live DESTORE token balance
  • Storage Contribution: Easy storage allocation interface
πŸ“ File Management
  • My Files: Complete file library with metadata
  • File Sharing: Secure link generation
  • Storage Providers: Network of global peers
  • NFT Gallery: Storage Provider NFT collection
πŸ“Š Analytics Dashboard
  • Network Health: Real-time performance metrics
  • Storage Statistics: Capacity and usage tracking
  • Peer Discovery: Active node monitoring
  • Revenue Tracking: Token earnings overview

🎯 Quick Demo

# 1️⃣ Start the platform
npm run dev

# 2️⃣ Upload your first file
# Visit http://localhost:5173
# Connect MetaMask wallet
# Drag & drop any file to upload

# 3️⃣ Contribute storage & earn tokens
# Navigate to "Contribute Storage"
# Allocate 10GB+ storage space
# Start earning DESTORE tokens immediately!

πŸ§ͺ Testing

Unit Tests

npm test

Contract Tests

npx hardhat test

Real Storage Testing

See REAL_STORAGE_TESTING.md for detailed testing procedures.

πŸ“š Setup Guides

πŸš€ Deployment

Netlify Deployment

  1. Build the project:

    npm run build
  2. Deploy to Netlify:

    • Connect your Git repository
    • Set build command: npm run build
    • Set publish directory: dist
    • Add environment variables from .env.local

Environment Variables for Production

Ensure all environment variables are properly configured in your deployment platform:

  • Clerk keys for authentication
  • Supabase credentials for database
  • Pinata keys for IPFS storage
  • Contract addresses for blockchain integration

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use conventional commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all linting passes

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Ethereum Foundation for blockchain infrastructure.
  • IPFS Protocol Labs for decentralized storage.
  • OpenZeppelin for secure smart contract standards.
  • Radix UI for accessible components.
  • Clerk for authentication infrastructure.
  • Supabase for backend services.

πŸ“ž Support

  • Documentation: Check setup guides in the project
  • Issues: Create an issue on GitHub
  • Discussions: Join our community discussions

Hackathon

πŸ† Award-Winning Decentralized Storage Solution

✨ Built with passion for the decentralized future ✨


Innovation
Revolutionary Technology
Impact
Worldwide Accessibility
Economic
Sustainable Economy

πŸ”„ Join the Storage Revolution

πŸ’Ύ Store Files β€’ πŸͺ™ Earn Tokens β€’ 🌐 Global Network β€’ πŸ”’ Ultimate Security


πŸ“§ Connect With Us

🐦 Twitter β€’ πŸ’¬ Discord β€’ πŸ“Ί YouTube β€’ πŸ”— LinkedIn



❀️ Built with passion for the decentralized future

🌟 Empowering users to own their data and earn from sharing storage 🌟


πŸ”₯ Ready to revolutionize storage? Let's build the future together! πŸ”₯

About

DeStore is a decentralized storage network where you can securely store files, rent out unused device space, and earn tokens. Powered by Ethereum and IPFS, it brings encryption, NFTs, and real-time analytics together β€” giving you true data ownership and a faster, fairer Web3 storage future. πŸš€πŸ’Ύ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors