samuelvanderwaal / metaboss

The Metaplex NFT-standard Swiss Army Knife tool.
Apache License 2.0
687 stars 219 forks source link

Add Snapshot option for Metaplex Sugar Airdrop. #227

Open xjbar opened 1 year ago

xjbar commented 1 year ago

Sugar Airdrop tool requires a specific JSON format for the airdrop list.

It will not run if it isn't in the correct format.

This is the format that it requires the JSON file to be in.

            {
            "address1": number_of_tokens,
            "address2": number_of_tokens
            }

It also looks for the JSON file name to be

airdrop_list.json

So defaulting the .json output to that filename would be a good bonus too.

Attached is an example airdrop_list.json that follows the above criteria.

airdrop_list_json_example

samuelvanderwaal commented 1 year ago

Creating an optional JSON format for the Sugar airdrop would be pretty easy, but how would Metaboss know how many tokens to put for each address? Just default them all to 1?

xjbar commented 1 year ago

When running snapshot holders through metaboss, is it possible to make it also output how many nfts are owned by each address for that candy_machine_id/first creator? If so, that would solve the issue of getting quantity of tokens to aidrop to each address.

In the past to get the quantity of nfts per wallet, I would use Magic Edens mint hash tool. I input the creator address for a collection. It gives me a json array of the mint hashes.

Then I would go to https://cryptostraps.tools/holder-snapshot and paste that json array Magic Eden generated for me. The tool then gives me the wallet addresses along with the amount of tokens each wallet holds. This is how I would get the number to airdrop to each wallet.

Of course, this is all assuming the person using the sugar airdrop tool wants to airdrop an spl token for each token someone owns from another collection.

Otherwise, I think defaulting to 1 would be best since they are most likely not trying to airdrop an exact amount to holders of another collection.

Maybe, if they want to airdrop more than 1, they could be prompted with, "How many tokens do you want to airdrop to each address?".

But if they want to have different token amounts for each address, and they aren't pulling their holder data from another collection, then sounds like they have to manually input the amount to airdrop per wallet.

samuelvanderwaal commented 1 year ago

When running snapshot holders through metaboss, is it possible to make it also output how many nfts are owned by each address for that candy_machine_id/first creator? If so, that would solve the issue of getting quantity of tokens to aidrop to each address.

In the past to get the quantity of nfts per wallet, I would use Magic Edens mint hash tool. I input the creator address for a collection. It gives me a json array of the mint hashes.

Then I would go to https://cryptostraps.tools/holder-snapshot and paste that json array Magic Eden generated for me. The tool then gives me the wallet addresses along with the amount of tokens each wallet holds. This is how I would get the number to airdrop to each wallet.

Of course, this is all assuming the person using the sugar airdrop tool wants to airdrop an spl token for each token someone owns from another collection.

Otherwise, I think defaulting to 1 would be best since they are most likely not trying to airdrop an exact amount to holders of another collection.

Maybe, if they want to airdrop more than 1, they could be prompted with, "How many tokens do you want to airdrop to each address?".

But if they want to have different token amounts for each address, and they aren't pulling their holder data from another collection, then sounds like they have to manually input the amount to airdrop per wallet.

I think this makes sense.