The 1.6.1 branch has a spicy new nft_mint_bulk RPC endpoint. The only problem is I can’t get it to work, nor can I get it to tell me why. It returns a spend_bundle just no nft’s get created. I’ve tried passing that to push_tx which returns SUCCESS but still no nft. Nothing of interest in the logs either
The payloads I’m using look like the below. Anyone have insight into how to make this one go?
I’ve started to figure this out so, in case anyone else can benefit from that here’s a running list of what I’m finding:
nft_mint_bulk does not submit the spend_bundle. Nor does it account for the fee. It is up to the caller to construct the fee transaction and combine it with the mint spend_bundle
it requires a coin to fund the mint operation. This is different than the fee. The fee amount will be used to select a coin but if fee is zero xch_coin_list must be set. I think it can be even of 1 mojo.
there isn’t a limit on the number of mints that can be in a single spend_bundle but the bulk minting tool uses chunks of 25, submitting each chunk as a separate transaction with fee.
from keybase:
it’s unclear to me if 25 mints per bulk mint is a hard or soft limit
it’s not, you can have more per block, but keep in mind that the larger the spend bundle the easier you can get kicked out of the mempool or at least top of the mempool.
according to NFT Bulk Minting Tool it is a hardcoded limit, which could be overwritten with the --chunk command line parameter
I would have a couple more questions. I hope s1 can help:
target_address_list what happens if multiple addresses are given?
mint_number_start - what is this used for?
mint_total i guess this is for minting the same nft multiple times
xch_coin_list I guess I normally leave that empty
xch_change_target is this relevant? In the provided example of the documentation, it does not seem like an adrress. I guess if this is left empty, the change is received by the farmernode which mints the block
did_coin_dict what is this used for? It seems like an object but the documentation does not specify further
did_lineage_parent_hex what does “Needed for bulk minting when the coin will be created in the future” mean?
mint_from_did yes, I kow what this does. But I want to mint from did. In the single rpc, I can specify did-id. Bulk mint seems to use did_lineage_parent_hex && did_coin_dict instead. How Do I mint from a did? Do I have to set it after the fact with nft_set_did_bulk?