/fireball_frame

Farcaster frame to mint free NFTs using Syndicate and Neynar

Primary LanguageTypeScriptMIT LicenseMIT

Fireball by totty.eth

Exclusive art mint by totty.eth for Farcaster early(ish) adopters during the Frambrian explosion.

Made possible by heavily reusing On-Chain-Cow-Farcaster-Frame by @will/@WillPapper

Note that this code is hacked together and there will quickly be better open-source examples of minting frames.

In fact, there already is within hours of uploading this code! Highly recommend using this repo instead, especially if you don't want to deploy a contract and would rather use Zora as a back-end. Thanks @lottopgf!

Build instructions

  • Follow instructions in comment on top of fireball-mint.ts.
    • Set up a Syndicate account along with a Neynar account. If you're hacking right as I'm posting this (1/30/2024) you can get a discount on Neynar API keys here.
  • Compile your contract first and verify it on Etherscan.
    • Foundry build stuff is located in the contracts subfolder but I didn't have experience with this and just used Remix instead LOL
    • Feel free to use the Fireball contract itself for testing but would prefer you don't upload a copy with the same art and name to Base or ETH mainnet. If you plan on using it for a more serious project I would swap it out with a better standard from an ETH mainnet project or something, this contract was meant as a proof of concept hack.
  • Connect your contract to a project on Syndicate and fund the minting wallet.
    • Syndicate is used to organize all minting from the frame through a single wallet that mints for users. You need to fund this with ETH to allow for absolutely free minting.
  • Use Vercel for hosting.
    • I set the install script to yarn install
    • Set up your environment variables for the Syndicate and Neynar API keys correctly following instructions on top of fireball-mint.ts. WILL NOT WORK WITHOUT THIS!
  • When sharing the frame, do so by sharing the api/fireball-mint path, i.e. mytestappwoohoo.vercel.app/api/fireball-mint.

Good luck!