Combining Web3 technology with real physical storage contribution
Store files securely β’ Earn DESTORE tokens β’ Join the future of storage
|
Monetize Storage Turn unused storage into income |
Bank-Grade Security Military-level encryption |
Worldwide Access Files available anywhere |
High Performance Optimized for speed |
- 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
- 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
- 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
- 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
- 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
- Supabase - PostgreSQL database for metadata
- Pinata IPFS - Decentralized file storage
- IndexedDB - Local storage for file chunks
- Clerk - User authentication and management
- Ethereum - Smart contract platform
- Hardhat - Development environment
- ethers.js - Ethereum library
- OpenZeppelin - Secure contract standards
- MetaMask - Web3 wallet integration
- Node.js 18+ and npm
- MetaMask browser extension
- Git for version control
git clone https://github.com/Boredooms/Decentralized-Storage-Platform.git
cd Decentralized-Storage-Platformnpm installCreate 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:8545npx hardhat nodenpx hardhat run scripts/deploy.cjs --network localhostnpm run dev- 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
-
Traditional Upload:
- Select files using drag & drop or file picker
- Files are stored on IPFS via Pinata
- Metadata saved to Supabase database
-
Web3 Upload:
- Connect MetaMask wallet
- Upload files with smart contract interaction
- Automatic NFT minting for file ownership
- On-chain storage verification
-
Contribute Storage:
- Allocate physical device storage (10GB - 1TB)
- Earn DESTORE tokens for hosting files
- Receive exclusive Storage Provider NFT
- Join the decentralized storage network
- 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
- 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
- DestoreToken.sol: ERC-20 token for rewards
- StorageNetwork.sol: Core storage network logic
- StorageNFT.sol: ERC-721 tokens for file ownership
- StorageMarketplace.sol: Storage deals and trading
- File Upload β Encryption β Chunking β Distribution
- IPFS Storage β Metadata Database β Smart Contract β NFT Minting
- Physical Storage β Token Rewards β Network Analytics
- 3-second intervals for network statistics
- WebSocket connections for live data
- IndexedDB syncing for offline capability
Experience the future of decentralized storage
π Live Demo | πΊ Video Walkthrough | π Network Analytics
π 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
# 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!npm testnpx hardhat testSee REAL_STORAGE_TESTING.md for detailed testing procedures.
- Clerk Authentication Setup - User authentication configuration
- Pinata IPFS Setup - Decentralized storage configuration
- Supabase Database Setup - Backend database configuration
-
Build the project:
npm run build
-
Deploy to Netlify:
- Connect your Git repository
- Set build command:
npm run build - Set publish directory:
dist - Add environment variables from
.env.local
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
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow TypeScript best practices
- Use conventional commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all linting passes
This project is licensed under the MIT License - see the LICENSE file for details.
- 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.
- Documentation: Check setup guides in the project
- Issues: Create an issue on GitHub
- Discussions: Join our community discussions
β¨ Built with passion for the decentralized future β¨
|
Revolutionary Technology |
Worldwide Accessibility |
Sustainable Economy |
πΎ Store Files β’ πͺ Earn Tokens β’ π Global Network β’ π Ultimate Security
π¦ Twitter β’ π¬ Discord β’ πΊ YouTube β’ π LinkedIn
π Empowering users to own their data and earn from sharing storage π
π₯ Ready to revolutionize storage? Let's build the future together! π₯