Today our most censorship resistant file sharing mechanism is torrents. But torrent trackers serve as a point of failure, as they can be seized, censored and manipulated. They are also filled with spam and viruses. This project combines Ethereum, IPFS, and Arweave to build an unstoppable IPFS file tracker.
What it does
NachoFiles is a censorship resistant website hosted on Arweave that fetches IPFS file metadata from Ethereum and IPFS, enabling users to find and download important files.
How we built it
- Defined proto messages to represent the file metadata
- Defined a smart contract for keeping track of metadata hashes
- Built a front end service layer that connects data from IPFS & Ethereum and builds a search index on IndexedDB
- Built a user interface for browsing, uploading and downloading IPFS files
- Deployed it to Arweave!
Challenges we ran into
- Syncing to an IPFS in-browser node is insufficient for distributing metadata hashes
- Building a client side database from decentralized data is non-trivial and lacks tooling
- "The Graph" is a great tool to simplify this workflow, at the cost of decentralization
Accomplishments that we're proud of
We brought many technologies together to build a working product that improves upon the current state of file sharing trackers!
What we learned
IPFS needs better incentive mechanisms to better support serverless pinning Quality reporting on the blockchain is hard! Which files are better than others?
What's next for EthNY Tracker
- Index IPFS files and automatically add verified metadata and other files to the tracker using Chainlink, think decentralized search engine
- Support private trackers using NuCypher, and indexing data across multiple trackers
- Use "The Graph" as a fallback for clients while their browser syncs the latest metadata index