Overview
This document outlines the concept and implementation details of a decentralized torrent platform that leverages the Gno.land network for storing torrent metadata, IPFS/Arweave for torrent descriptions, and a centralized service for tracking the live count of seeders and leechers. The frontend, built as an Electron application, searches both the blockchain and selected torrent websites, highlighting torrents found on the Gno.land network, while querying the centralized server for real-time seeders and leechers data.
1. Project Concept
1.1. Problem
While decentralized torrents offer immutability and censorship resistance, real-time data such as seeders and leechers is often unavailable in a decentralized manner. This project aims to combine the best of both worlds: leveraging blockchain for metadata storage and utilizing a centralized service to track and display live counts of seeders and leechers.
1.2. Solution Overview
- Decentralization: Torrent metadata (such as file hashes, names, and other details) is stored on the Gno.land blockchain.
- Scalability: Full torrent descriptions are stored off-chain using IPFS or Arweave.
- Centralized Seeder/Leecher Data: A centralized service is used to track the live number of seeders and leechers for each torrent, ensuring real-time data is available.
- Frontend Intelligence: The Electron frontend aggregates search results from Gno.land, external websites, and the centralized server to display torrent metadata, descriptions, and live statistics.
2. System Architecture
2.1. Components
- Smart Contract (Gno.land):
- Stores essential torrent metadata (file hashes, names, etc.).
- Provides a decentralized way to verify torrent data integrity.
- Off-Chain Storage (IPFS/Arweave):
- Holds large torrent descriptions, such as the files and additional metadata.
- Centralized Server:
- Tracks and provides live counts of seeders and leechers for each torrent.
- Provides a REST API or WebSocket interface to query real-time data.
- Frontend (Electron Application):
- A cross-platform desktop application that communicates with Gno.land for metadata, queries the centralized server for live seeders and leechers, and scrapes external torrent websites for missing torrents.
- Web Scraping Service:
- A client-side tool within the Electron app that collects torrent data from external websites when not found on Gno.land.