8000 GitHub - snailscoop/SNAILS.storage: NIP based filetree for decentralized storage
[go: up one dir, main page]

Skip to content

snailscoop/SNAILS.storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNAILS.storage

Decentralized Storage Network - One storage node per Nostr key

SNAILS.storage creates a truly decentralized storage network where every user runs exactly one storage node per Nostr identity (nsec/npub). This creates organic network growth with perfect 1:1 scaling - every new user adds one storage provider to the network.

Features

🔄 Perfect 3x Redundancy

  • Every file automatically stored on 3+ different nodes
  • Real IPFS integration with content-addressed storage
  • Automatic health monitoring and repair
  • Consumer hardware optimized (~100GB storage, 4GB RAM)

🗝️ Nostr-Native Identity

  • Each nsec/npub operates exactly one storage node
  • Prevents Sybil attacks and ensures fair distribution
  • Provider discovery via Nostr relay network
  • 9 NIPs implemented (01, 05, 50, 65, 90, 94, 96, 98, 59)

🔐 Privacy-First Design

  • Public files: Standard IPFS storage with visible metadata
  • Encrypted files: End-to-end encrypted with hidden metadata
  • Private sharing: NIP-59 gift wrap for recipient-only access
  • No local databases - pure event-based storage on Nostr relays

🖥️ Desktop Application

  • Built with Tauri (Rust + React) for security and performance
  • Cross-platform: Linux (.deb/.rpm), Windows (.msi), macOS (.dmg)
  • Auto-startup and background operation
  • One-click install with automatic IPFS integration

Quick Start

Download & Install

  1. Download installer for your platform from Releases
  2. Install the app - it handles all setup automatically
  3. Launch and create/import your Nostr keys
  4. You're now part of the decentralized storage network!

Development

# Prerequisites: Node.js 18+, Rust 1.70+, IPFS installed

# Clone and install
git clone https://github.com/your-username/snails-storage
cd snails-storage/snails-storage-tauri
npm install

# Start IPFS daemon
ipfs daemon &

# Run in development mode
npm run tauri:dev

# Build for production
npm run tauri:build

Architecture

Network Scaling

  • N users = N storage providers (perfect 1:1 scaling)
  • No central servers or coordination points
  • Geographic distribution happens naturally
  • Self-healing network topology

Technical Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Rust with Tauri framework
  • Storage: IPFS for content, Nostr relays for metadata
  • Identity: Nostr keypairs (secp256k1)
  • Protocol: Full NIP compliance for interoperability

Resource Requirements

  • 100GB free storage (user configurable)
  • 4GB RAM (app uses ~50MB)
  • Dual-core CPU minimum
  • 5+ Mbps internet connection
  • Runs on regular consumer laptops/desktops

Network Economics

For Users

  • Free Tier: Basic storage by contributing to network
  • Paid Features (post-MVP): Priority storage, extended retention
  • Transparent pricing via Lightning micropayments

For Providers

  • Automatic earnings from unused disk space
  • Reputation building on Nostr network
  • Part of censorship-resistant infrastructure

Security

  • Memory-safe Rust backend prevents common vulnerabilities
  • Content addressing via IPFS ensures data integrity
  • Cryptographic proofs of storage and retrieval
  • Decentralized design eliminates single points of failure

License

MIT License - see LICENSE

Contributing

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

Support


SNAILS.storage - Decentralized storage that just works™

About

NIP based filetree for decentralized storage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0