Efficient Minting of NFTs

Hi Nick, Feel free to contact me directly to discuss ways I might be able to help.

Hi,
I’m going back to original Marky’s question of minting 10k nfts in the same wallet and then distributing them from there.
Some of you have pointed out the fact it would translate into a high investment in fees. But I think if you minted them in batches it wouldn’t actually be that bad.
However, I would like you guys to help me out figuring out if I’m right in saying that it is simply a technical impossibility, due to the fact that after a few batches, tx-in would be huge due to the already minted nfts having to be present there, which would make any transaction too big (I mean over the kb size limit) to then mint more or actually do anything really.
Is something wrong with what I’ve said?
Please enlighten me :slight_smile:

Kind regards,
Miguel

I ran into this issue myself. But actually you dont need to have something in txIn (I mean your pre-minted tokens) you just need a txIn for the fees of the minting
I don’t know if you understand what I mean

The fees tend to be minimal in comparison to the minimum transaction of 1.4 ADA in each TxOut
The TxIns should only include the ADA to cover the transactions and fees. While the TxOuts will grow the more you batch, typically speaking most NFTs can be batched up to 50.

Hi!
Thank you both for replying.
Going back to the original premise of minting 10k nfts into the same wallet (the same wallet where the fees come from), I was also assuming there would only be one single ever growing utxo as we mint batches of nfts, that would basically contain all minted nfts along with the remaining lovelace.

Could this be done in another way? Maybe have two txouts with the wallet address and one of them have only the remaining lovelace and the other one have the batch of minted nfts?

Why only 1 or 2 UTxOs? You should have hundreds or thousands of UTxOs for 10k NFTs.
You should have maybe one UTxO for each mint, and always a few UTxOs with only ADA, so that you can do multiple transactions in the same block.

So, does that translate to something like:

txIn:
1 tx from addr123 with enough lovelace to mint the batch
txOuts:
1 txOut with the remaining lovelace to address addr123
1 txOut with the minted nfts to addr123 and needed lovelace

which would then produce two UTXOs to addr123, and then the first one would be used again as txIn for the next batch? Is this what you mean?

This will only give you 1 UTxO at the addr123 with lovelaces to use for the next batch, and this will only allow you to mint once per block. If this is fine for you, then yes. If you want to mint more batchs in one block, you need more UTxOs with only lovelaces that you can use for the “–tx-in” line (the UTxO that you consume to pay for the transaction). For that, make a simple transaction with one UTxO as input and multiple UTxOs as outputs, and for each minting transaction you use one of these outputs. If you create 10 UTxSs, for example, you will be able to have 10 minting transactions per block, one for each UTxO (user for --tx-in).
I hope you understand what I am trying to explain. This is a simple solution for the so-called scalability “problem” of the UTxO model.

Yes, perfectly! Makes sense.
Thanks!

2 Likes