Problem is minting of tokens in random order. I would like to hear more about drawbacks of these approaches:
Having:
- 10.000 NFT collectibles
- amongst them there are rare ones
- images are clearly showing this rarity
- metadata + images are revealed after sell-out
1/ Effortless way is to save metadata+images to ipfs in randomized order [3856, 17, 6668, 735..] but with sorted ids as 1 .. 10000. I don't like the fact that operators know exact location of rare ones, and that makes me uneasy.
2/ Mint starts in order 1 .. 10000, metadata is not uploaded yet. After sell-out, contract method using ChainLink VRF is called, and it generate random numbers which assign rarity to tokens with these ids. Then metadata is uploaded to ipfs, then reveal. I don't like that ipfs CID update, though.
3/ Also ChainLink VRF, but in every call of mint
function. Might get expensive with pricing = 2 LINK / token.
I understand that no solution is perfect, but is there any better way to go when minting tokens in random order?
EDIT: I ended up using slightly different solution, described it here: repository