This repo contains instructions on how to create your NFT in Solana(using Metaplex and Candy Machine) and mint it using your custom front-end Dapp

Overview

Solana-NFT minting Dapp

Create your own NFT's on Solana, and mint them from your custom front-end Dapp.

Tools used

  • Metaplex -> Metaplex is the NFT standard on Solana and has created a set of standardized tools and libraries to create NFTs, smart contracts, and more designed to make the process of creating and launching NFTs easier. It is a Smart-Contract-as-a-service 😜
  • Candy Machine -> A candy machine is what Metaplex calls a basic NFT drop where users can come in, click mint, and get an NFT.

Pre-requisites

  • Node
  • ts-node
  • solana-cli

NFT creation guide:-

  • Clone metaplex repo...do necessary downloads from js folder
  • In order for us to upload the NFTs to Solana, we need to have a "local wallet" to work with in the command line. Remember, you can't talk to Solana unless you have wallet and wallet is basically a "keypair" which is public key and a private key.
  • Create solana wallet(public and private keypair)
  solana-keygen new --outfile ~/.config/solana/devnet.json
  solana config set --keypair ~/.config/solana/devnet.json
  • Airdrop some sols in the local wallet...with solana airdrop command.

UPLOAD

  • The upload command is essentially saying - "Hey Metaplex CLI, take all the NFT pairs in my assets folder, upload them to Arweave, initialize the candy machine config holding the pointers to these NFTs, and then save that config on Solana's devnet".
  ts-node ~/metaplex-foundation/metaplex/js/packages/cli/src/candy-machine-cli.ts upload ./assets --env devnet --keypair ~/.config/solana/devnet.json

VERIFY

  • Before moving on, verify your NFTs were actually uploaded by running the verify command:
  ts-node ~/metaplex-foundation/metaplex/js/packages/cli/src/candy-machine-cli.ts verify --keypair ~/.config/solana/devnet.json

DEPLOY

  • At this point we have our NFTs all uploaded to Arweave and we have a basic config for our candy machine up on devnet. But, we haven't actually "created" our candy machine. All we've done so far is set up assets.
  ts-node ~/metaplex-foundation/metaplex/js/packages/cli/src/candy-machine-cli.ts create_candy_machine --env devnet --keypair ~/.config/solana/devnet.json -p $PRICE_OF_YOUR_NFT_IN_SOL
  • You have a fully deployed minting machine ready to go on Solana's devnet!, but we are missing just one more thing - a drop date!
  ts-node ~/metaplex-foundation/metaplex/js/packages/cli/src/candy-machine-cli.ts update_candy_machine --date "1 Dec 2021 00:12:00 GMT" --env devnet --keypair ~/.config/solana/devnet.json

Connecting to the Front-end Dapp

  • Set-up the below parameters in the .env file of the project-
    • REACT_APP_CANDY_MACHINE_CONFIG - This can be found in your .cache/devnet-temp JSON file that was created. Look for the value associated with the config key.
    • REACT_APP_CANDY_MACHINE_ID - This can also be found in the same .cache/devnet-temp JSON file, look for the value associated with the candyMachineAddress key.
    • REACT_APP_TREASURY_ADDRESS - This can also be found in the same .cache/devnet-temp JSON file, look for the value associated with the authority key.
    • REACT_APP_SOLANA_NETWORK - Set this to devnet as this is just the network in which we are accessing our candy machine from
    • REACT_APP_SOLANA_RPC_HOST - This is pretty much the same as above. Since we are accessing out Candy Machine on devnet we need to point the RPC to that devnet link which is https://explorer-api.devnet.solana.com

Whenever you change your collection, you need to follow the same steps from earlier to deploy the NFTs.

  • Delete the .cache folder that was generated by the Metaplex CLI's candy machine commands.
  • Change up your NFT files to be whatever you want!
  • Run Metaplex's upload command via the CLI to upload the NFTs.
  • Run Metaplex's verify command via the CLI to make sure the NFTs were uploaded.
  • Run Metaplex's create_candy_machine command via the CLI to create a new candy machine.
  • Run Metaplex's update_candy_machine command via the CLI to create the drop date.
  • Update your .env file with all your new addresses. If you mess up even one of these steps, everything will break. So, watch out.

Screenshots

App Screenshot App Screenshot App Screenshot

You might also like...

Marry in Web3, Mint Paired Soulbound NFTs by MultiSign Flow, No transfer, No sell, a non-financial Dapp

Marry in Web3,  Mint Paired Soulbound NFTs  by MultiSign Flow, No transfer, No sell, a non-financial Dapp

ERC721-520 Token 是 NFT-like Soulbound Token Standard(灵魂绑定凭证) 的一种实现,是 ERC721 标准的扩展。 ERC721-520 Token 不可转让,不可售卖,一个人同时只能有一个有效 Token ERC721-520 Token 由二者通

Dec 21, 2022

Get any Candy Machine ID in seconds with this npm module!

What Does it do? Grabs Candy Machine ID of any v1 or v2 candy machine websites. Installation npm i candymachinescraper --save Example Usage // Get Can

Oct 26, 2022

This repository contains the Solidity smart contract of Enso, a detailed list of features and deployment instructions.

Enso NFT Smart Contract This repository contains the Solidity smart contract of Enso, a detailed list of features and deployment instructions. We stro

Apr 24, 2022

Create your own custom NFT minting page using thirdweb's NFT Drop contract

Customizable NFT Drop Minting Page In this example, you can create your own NFT Drop minting page just by customising the template with your branding,

Dec 24, 2022

This is email scheduler made using MERN. This repo contains server code, client repo is linked in readme.

Email Scheduler Client This is an email scheduler server (client in different repository). It is made using node.js/express.js. Overview User can sign

Dec 3, 2022

A mobile app that allows users to mint NFTs on Celo, using NFT Express

A mobile app that allows users to mint NFTs on Celo, using NFT Express

NFTDancing A mobile app that allows users to mint NFTs on Celo, using NFT Express. The project uses NFTExpress and other methods available on Tatum, t

Oct 1, 2022

🚀👩‍🚀This repo contains all the files to follow along and implement a MultiChain NFT MarketPlace! Be sure to watch my Youtube tutorials so you can learn and follow along!

🚀👩‍🚀This repo contains all the files to follow along and implement a MultiChain NFT MarketPlace! Be sure to watch my Youtube tutorials so you can learn and follow along!

Multi-Chain NFT Marketplace 🚀 👩‍🚀 This repo contains all the files to follow along and implement a MultiChain NFT MarketPlace! Be sure to watch my

Jan 5, 2023

A Bed and Breakfast dApp run on Ethereum. Includes a token + schedule system (Solidity) and full front-end (React + ethers.js) built with Hardhat.

A Bed and Breakfast dApp run on Ethereum. Includes a token + schedule system (Solidity) and full front-end (React + ethers.js) built with Hardhat.

Hotel ETH - Watch Demo Video Hotel ETH A (fictional) Bed-and-Breakfast run on Ethereum Come Book a Room on Kovan or Rinkeby Networks View the Demo » C

Aug 20, 2022

NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users.

NFTKastle NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users. NFTKas

Oct 31, 2022
Owner
Udit Sankhadasariya
SDE | Upcoming Blockchain Dev | Full Stack Developer | React | JAVA SpringBoot | NodeJS
Udit Sankhadasariya
Solana blockchain candy machine app boilerplate on top of Metaplex Candy Machine. NextJS, Tailwind, Anchor, SolanaLabs.React, dev/mainnet automation scripts.

NFT Candy Factory NOTE: This repo will prob only work on unix-based environments. The NFT Candy Factory project is designed to let users fork, customi

Kevin Faveri 261 Dec 30, 2022
Wonka JS is the easiest way to mint Metaplex's Candy Machine NFTs with APIs.

Wonka JS Wonka JS is the easiest way to mint from Candy Machine and fetch NFTs through JS APIs. You can see an end to end example in Next.js demo proj

Wonka Labs 71 Nov 3, 2022
NFT vending machine proof of concept built on Solana Pay, Metaplex, Phantom Mobile and Next.js.

Solana NFT Vending Machine This is a proof of concept of an NFT vending machine built using Solana Pay, Metaplex, Phantom Mobile, and Next.js. This wa

Matt Rosenzweig 55 Dec 15, 2022
Candy Shop is a JavaScript library that allows DAOs, NFT projects and anyone to create an NFT marketplace on Solana in minutes!

Candy Shop (IN BETA) Intro Candy Shop is a JavaScript library that allows DAOs, NFT projects and anyone to create an NFT marketplace on Solana in minu

LIQNFT 111 Dec 15, 2022
CandyPay SDK lets you effortlessly create NFT minting functions for Candy Machine v2 collections.

@candypay/sdk CandyPay SDK lets you effortlessly create NFT minting functions for Candy Machine v2 collections. Simulate minting transactions for mult

Candy Pay 33 Nov 16, 2022
Hashlips NFT Mint Dapp modified by fazelpejmanfar (Compatible with ERC721A)

Welcome to HashLips ?? All the code in these repos was created and explained by HashLips on the main YouTube channel. Edited By Fazel Pejmanfar and co

Fazel Pejamanfar 27 Nov 30, 2022
Solana NFT mint website + marketplace

Solana Candy Machine V2 + Candy Shop This repo allows you to sell NFTs through Candy Machine V2 and host your own secondary marketplace with Candy Sho

LIQNFT 91 Jan 2, 2023
Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collections

eznft Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collec

null 3 Sep 21, 2022
Elven Tools Dapp - Elrond blockckchain frontend dapp demo. Primarily for NFT minting, but it can be used for other purposes.

Elven Tools Dapp Docs: elven.tools/docs/landing-page.html Demo: dapp-demo.elven.tools Sneak peek: youtu.be/ATSxD3mD4dc The Dapp is built using Nextjs

Elven Tools 24 Jan 1, 2023
A full-featured Solana Metaplex Candymachine client-side library in Typescript

Candymachine Client SDK A full-featured Solana Metaplex Candymachine client-side library in Typescript Disclaimer: The SDK is currently a pre-alpha ve

Boxfish Studio 36 Nov 10, 2022