/protobreaker

Everything you need to deploy an NFT drop and minting app using thirdweb and react/next

Primary LanguageTypeScriptMIT LicenseMIT


Logo

About

Created by Icebreaker for ETHDenver 2023. Sharing the source code for other builders to easily launch simple NFT drops in a mobile-minting friendly dapp format.

Note that the current linked contract only allows minting from a single allowlisted address. See installation section for details.

Video demo: https://youtu.be/1ItxFtNBWSM

Built With

Next React ChakraUI ThirdWeb Vercel Typeform

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • yarn
  • Node.js v18+

Installation & setup

  1. Fork and clone the repo

    git clone https://github.com/icebreakerlabs/protobreaker.git
  2. Install npm packages

    yarn
  3. Start the development server

    yarn dev
  4. Create your own versions of the NFT smart contract and typeform, then update the app to point to the new addresses

    • Go to thirdweb and deploy your own contract on testnet and mainnet, and upload all the NFTs and claim conditions. Update the contract addresses in utils/env.ts. Please note that the chains are currently hardcoded for goerli and mainnet, so if you're deploying on other chains, you'll need to update those settings in env.ts. Also components/NftCard.tsx hardcodes the opensea links to ethereum so you may need to update that parameter if your main contract is not on ethereum mainnet.
    • Ensure that you have allowlisted the wallet you plan on minting from on thirdweb in its claim conditions.
    • Update the typeform ID to use your own typeform. Make sure you've configured hidden fields of @address and @owner from the "Advanced" settings in the share tab. You can get the ID by simply looking at the parameter xxxxx in the url on that admin page at https://admin.typeform.com/form/xxxxx/share.

Usage

Anyone who's interested in easily deploying their own NFT contract and minting app, which others can view.

Roadmap

None. We released this app for fun at ETHDenver 2023. However, we at some point do intend to demonstrate how this looks when deployed on other chains and using a relayer. This app was originally forked from the thirdweb signaturedrop contract, so it also has an api to support signature-based minting, though this feature is not currently enabled in the protobreaker app.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the project
  2. Create your feature branch (git checkout -b feat/your-feature)
  3. Commit your changes (git commit -m 'feat: Add some feature')
  4. Push to the branch (git push origin feat/your-feature)
  5. Open a pull request

License

Distributed under the MIT license. See LICENSE.md for more information.

Contact

You can reach us at opensource at icebreaker.xyz.