Subsequent minting transactions of
additional_token_quantity can be performed by spending the “minting baton” UTXO in a special MINT transaction, described here.
Note that this could be done by someone other than the GENESIS issuer, if the baton minting authority had been passed to another address.
As with GENESIS, the MINT allows to end the baton, or further pass on the baton to future mint operations: if
mint_baton_vout is empty or refers to a nonexistent vout, the transaction is valid but the baton is lost.
This makes it possible to prove end-of-minting capabilities for a token even after several minting events (it is impossible to duplicate this baton as that would require double-spending the transaction output associated with the baton).
Transaction inputs: Any number of inputs or content of inputs, in any order, but with required presence of a ‘baton’ input (see Consensus Rules).
|vout||ScriptPubKey (“Address”)||BCH amount||Implied token amount (base units)|
< lokad_id: ‘SLP\x00’> (4 bytes, ascii)
< token_type: 1> (1 to 2 byte integer)
< transaction_type: ‘MINT’> (4 bytes, ascii)
< token_id> (32 bytes)
< mint_baton_vout> (0 bytes or 1 byte between 0x02-0xff)
< additional_token_quantity> (8 byte integer)
|1||Token mint receiver||any||additional_token_quantity|
|M||Mint baton receiver (M=mint_baton_vout)||any||0 + ‘baton’|