
Uniframe
Unviersal Farcaster Frame components for NFT marketplaces
Demo
About
The problem it solves [Farcaster](http://farcaster.xyz) is a perfect social network to find a product market fit and bring new users to your product. I have decided to build a set of pre-made, easy-to-use frames and components for anyone who wants to play show, mint, and distribute NFTs to their users. Moreover components can help you to build your own frames easily. Take it as a [nuxt/ui](https://ui.nuxt.com) for Farcaster Frames: - 🎲⬅️➡️ Buttons that help you to navigate through the list (next, previous, random...) - 💅 Beautifully crafted Success 🎉 and Error 😭 Frames - 📈 Standardized way to make calls 📞 and move through other frames - so you do not need to play mental gymnastics The built-in components: - POAP - Distribute your poap - just paste your address - Gallery - View art from collection particular collection - GenArt - Generate previews of generative art on the fly! Why universal? Frames do not make any assumptions about the blockchain you use; therefore are agnostic to use with any blockchain. Moreover, component fetching of the data does not require costly access to the RPC; you can use the API of your dreams - QuickNode, Alchemy, or KodaDot. I wrote this proof-of-concept using the Polkadot-JS library, but the backend is written well, so you can bring your own blockchain. Logos were designed by [Exez](https://twitter.com/OndraPulc)
How it's made
Challenges we ran into [Frog](https://frog.fm) was released a few days ago, so I decided to try it. * [Minting button does not work (only allowlisted for Zora and Base)](https://warpcast.notion.site/Frames-Mint-action-Public-cea0d2249e3e41dbafb2e9ab23107275) as expected so to make POAP possible, I had to make a workaround with the minting bot (written in Deno). * [Frames are limited to what they can return (basic IMG/HTML)](https://github.com/vercel/satori?tab=readme-ov-file#html-elements). Therefore, I have a capture service for generative art that generates image previews on the fly. * I have built a set of useful components - ArrowNext, ArrowBack, Reset, Random, GalleryLink - they work, but sometimes they do not render. * Hacking alone is very hard - always take friends * I was hard-limited by QuickNode's IPFS 🥺