I would like to create a collection of NFTs all of which have the same image and metadata to be airdropped to a list of wallets. I was wondering what would be the best way to do it?
2 Answers
There are different methods and all of them might be valid approaches, depending on your current knowledge and tools.
- Use metaboss to print editions:
metaboss mint one --primary-sale-happened --nft-data-file data.json --max-editions 15
This would create a Master Edition NFT which is printable 15 times. Example content of the data.json can be found in the docs. This costs ◎0.0119812.
Printing the edition can be done with
metaboss mint editions --account iwTta5XTdqYWgLpYmGpGSHo8iXiDwZS8QUxybajnKvk -n 1 -R G3hChCTX2zUrj2DworRhGep7SW4YzWKZ4fibfBjVjnLT
where '-R' is the recipient of the edition and --account
is the previously minted master edition. Minting of each edition costs ◎0.01280944
To airdrop you could just write a small wrapper that inputs a different reciepient each time.
- A different approach can be to deploy a candy machine with hidden settings. This will initially cost you more since you have to pay for the candy machine rent. Create a candy machine with sugar but add this to the config.json before running deploy:
"hiddenSettings": {
"name": "NameOfNFT ",
"uri": "https://arweave.net/zREMXX6b_VW8cCzN9K6HBszbX3UK--1Uentr407guwo",
"hash": " "
},
- Name should be the name of your NFT. Add a space at the end since a number will automatically be added to each NFT on mint
- The URI should reference the metadata JSON. You can upload image + json e.g. here.
- The hash normally should reference a hash file of your reveal cache file, this does not matter here, therefore at 32 times space.
When running the upload command the asset path should point to a folder with at least one image + json inside. If you want to have a collection created also add collection.json and collection.png. This will create a cache.json file. You have to manually modify it to contain as many items as you have defined as number in the config.
After that you can mint and distribute the NFTs to your users.
There are several ways to do this, for example you can:
- Create a Candy Machine v2 using sugar and hidden settings (in order to have all NFTs with the same metadata and image (except the name that will beunique per NFT).
- Mint the amount of NFTs you wanna airdrop from that Candy Machine.
- Airdrop those NFTs into a wallet with code or by hand.
You can also create some code to mint to a wallet directly without creating a Candy Machine, so you will pay for the mint and account creations and the mint will be minted to the wallet that you wanna airdrop. (you can use metaboss to mint one NFT to a receiver wallet)