taproot-assets
taproot-assets copied to clipboard
[feature]: allow deriving group key upfront to simplify minting
current group key and group anchor is hard to use.
can we request group key first, then mint grouped assets with requested key.
group anchor is only for batch group key need finalize
Do you want to add more groups into the same batch or a new one? If the same batch, then use group_anchor (name of the asset that is the first asset in the group). If for a new batch, you can look up the group key of the asset in the previous batch.
why 2 strategy?
my finalize call is not sync, so if it finalized, group_anchor will be invalid.
if group key can be requested before mint then we just need 1 strategy
mint grouped asset become:
- get a group key
- mint asset with this key.
no need to care batch. or groups
Yeah, I guess it would make things a bit simpler, good point.
The group key is tweaked with some asset, so I think the closest thing you'd be able to do would be to generate the internal key for the group key ahead of minting? And then use that when creating the batch.
But I don't think that change would help for the issue you are mentioning.
@jharveyb
now I mint one asset for group key, then mint the others with this key.
but supply is +1 for collectible asset.
can we do a deploy to get the group key, then mint other assets use deploy key.
If you don't want to count the value of the first asset of the group in the total supply of the group, you could maybe use an asset that is provably unspendable. We have a spec for this already:
https://github.com/lightninglabs/taproot-assets/blob/76bb5ae01fc0aa147233f332c468943f8c47b053/asset/burn.go#L12
https://lightning.engineering/api-docs/api/taproot-assets/taproot-assets/burn-asset
However this wasn't designed for minting an unspendable asset, so it would need some changes to work for that case. If you used this, clients could ignore that first unspendable asset and only count the future assets in the group for the total asset supply.
With the changes in #866 , you would be able to create parts of the group key externally before you start minting. But the final key still depends on the first asset minted of the group.
One option would be to mint the first asset to create the group key, and then burn it, so it's value doesn't affect total supply.