This project provides one solution to the problem of data longevity for content tied to NFT tokens. With an IPFS hash, content is available on the network as long as it is cached by some peer, or pinned by another. If a file has no pins and is not cached on any nodes (cleaned up via garbage collecting), then the content eventually becomes unavailable. Several alternative solutions exist, such as dedicated 3rd party pinning services and Filecoin-backed incentivization systems. We developed an easy to use self-hostable IPFS-backed software stack that runs on a low-power, cheaply available computing device - the Raspberry Pi. With this stack, NFT collectors have guaranteed data availability, provided by the locally running IPFS node. They also get a personalized view into their collection. The stack is geared towards Zora-based NFTs, so collectors are able to seamlessly participate in the Zora marketplace from the same self-owned UI. With IPFS + Zora + a self-hosted system, you can truly say you Own It!
How It's Made
The project uses go-ipfs to run a local IPFS node on the Pi. Then, a web server written in Node.JS serves an endpoint that the UI uses to fetch NFT tokens belonging to the user. For this project, we support Zora-based NFT tokens, and make use of their subgraph for querying. To put it all together, we developed a simple bash script that bootstraps a fresh Raspberry Pi, installs all the dependencies, and runs the services.