Giter Club home page Giter Club logo

nftdapp's Introduction

Deploy your own Candy Machine easily

This repository is for Candy Machine V3, Account Version V2. (This is what you have when using the latest sugar version to create the candy machine)

What does this repo support?

You can use this repo to deploy your own candy machine UI.

  • It supports multiple candy machine groups, but also just using a default group

  • It creates a Lookup table for you to allow more active guards at the same time

  • The initializer shows you the merkle root for your groups

  • The users see NFTs left, start and end countdowns, reasons for not being able to mint and more

  • Combining most of these guards is possible since we are lookup tables. For example using allowlist,nftBurn, nftPayment, solPayment, startDate and endDate

  • For larger allowlists this UI will automatically split the mint into two transactions to avoid hitting the transaction size limit

  • Dynamic Compute Unit calculation to have higher chances to get the mint included into a block

  • Priority fees are added. Those are hardcoded to a very small number. As of 15 March 24 all the dynamic solutions are only possibly with specific RPC providers. If you want to have it dynamic you need to implement it yourself.

  • It supports most of the existing guards:

    • addressGate
    • allocation
    • allowlist
    • endDate
    • freezeSolPayment
    • freezeTokenPayment
    • mintLimit
    • nftBurn
    • nftGate
    • nftPayment
    • redeemedAmount
    • solPayment
    • startDate
    • token2022Payment
    • tokenBurn
    • tokenGate
    • tokenPayment
  • Multimint (can be deactivated by adding NEXT_PUBLIC_MULTIMINT=false to .env)

    How to use

Prerequisites

  • pnpm as package manager - I used 8.1.0
  • sugar to create your candy machine

How to use

  1. Clone this repo
  2. Run pnpm install
  3. copy the .env.example file to a new .env file and fill in the NEXT_PUBLIC_CANDY_MACHINE_ID value. You should have this value after creating your candy machine with sugar.
  4. Run pnpm run dev
  5. Open your browser at http://localhost:3000
  6. Connect your wallet which you used to create the candy machine
  7. You should see a red initialize button. Click it and then click create LUT
  8. Copy the LUT address that you see in the green success box and paste it into the .env file as the value for NEXT_PUBLIC_LUT
  9. Add your candy machine groups to the settings.tsx file. E.g. if one of your groups is called WL you should have an entry for it in there, too
  10. Deploy your Candy Machine e.g. to Vercel or Cloudflare Pages

Done!

customization

You can customize the UI by changing the code. If you just want to modify some values you can instead

  • modify settings.tsx to change the texts and Image.
    • image is the main image that is shown. You could change it to your project logo.
    • headerText is the website header. You could change it to your project name.
  • Decide if you want to allow multiple mints by a single user at the same time and in your .env file set NEXT_PUBLIC_MULTIMINT accordingly to true or false. By default a maximum of 15 NFTs can be minted at the same time this is because of wallet limitations. If you want to have less change NEXT_PUBLIC_MAXMINTAMOUNT in .env.

Fees

This ui has a buy me a beer feature. Each mint will transfer a very small amount (0.005) of SOL to a tip wallet. If you do not want to support me feel free to change the NEXT_PUBLIC_BUYMARKBEER variable to false. I would appreachiate it though if you leave it on. ๐Ÿป

To do

  • Add NFT Picker of nftBurn and nftPayment guards

nftdapp's People

Contributors

u4ma-hdd avatar hoomansafe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.