This project harkens back to the days when the web was yours to mash up and to play with. This tool helps build IPFS-backed decentralized NFT galleries. Unlike decentraland or many NFT platforms currently it just provides a common JSON object with platform-level specific fields for more information that lets you slice and dice your NFTs as you see fit. The API layer also supports resolving ENS domains so updating queries to load different marketplaces or sets of NFTs is simply `getFoundationPosts('isiain.eth', created=true)`. ENS makes forking these pages more user-friendly to update the page that was made for someone else's account to their own account. Supported APIs for retrieving posts include: 1. Zora (example 2. Foundation (example 3. Rarible (example 4. Opensea (example 5. SuperRare (example (and more coming) The project renders a static HTML page with a javascript file that loads once the page is loaded: even is external APIs go down the original content is copied on the webpge stored on IPFS. It includes the source code for the render at the bottom of the webpage allowing for decentralized forking and editing of projects. NFTGlitch primarily uses Pinata pinning to manage the IPFS pinning of these projects, and for asset pinning. The tool supports forking any existing pages by simply navigating to it IPFS URL. After you publish a project to IPFS, you can then mint the page as a Zora NFT using the built-in minter tool. The Zora NFT includes all current bid information and currently can link to the Zora page. This integration with Zora completes the circle from NFT gallery to an NFT itself.

nftglitch showcase

How it's made

This project integrates many helpers and urls to standardize NFTs across many platforms into a simple to use format and exposes many helper functions. These tools utilize APIs and decentralized portals such as the ability to resolve the platform and bid information along with generic NFT information. Based off pre-existing templates, users can show of their NFTs simply by publishing a copy of an existing page and updating their address or ENS name that resolves to their records. The backend is based off of queries that standardize NFT data but leave the raw objects accessible for working with additional platform data such as opensea bids or content-types that need to be retrieved separately from data in the official graph repo. The tool uses Protocol labs for IPFS support along with Pinata for pinning. The URLs published do not resolve back to the tool itself but instead resolve back to the raw webpages making them more decentralized. API-level support is included for a variety of platforms, and can easily be added by adding a API provider layer and a backend fetch function. A framework is provided for ENS and graphQL resolution as well and the code relies on javascript language features such as fetch and async to load data to generate the page. Current APIs supported with documented examples are: 1. Zora 2. Rarible 3. SuperRare 4. OpenSea 5. Foundation Minting providers currently are only Zora using metamask. However, IPFS urls and forks can be permissionlessly made from any browser.

Technologies used