flow-nft icon indicating copy to clipboard operation
flow-nft copied to clipboard

Create a generic transaction to burn NFTs

Open joshuahannan opened this issue 1 year ago • 2 comments

Issue To Be Solved

Users need an easy way to burn NFTs from anywhere that doesn't require the specific app to implement burning functionality. A burner address like in Ethereum would be easiest, but that isn't really possible since you can't transfer to an uninitialized account.

Suggest A Solution

  • Maybe use a transaction that sends it to BlackHole
  • Maybe use a transaction that just sends it to Burner.
  • Either way, it will likely be expected to just be a part of a web front end that anyone can sign in to with an FCL wallet.
  • Provide a contract name, address, and NFT ID as arguments.

joshuahannan avatar Oct 08 '24 21:10 joshuahannan

You should be sending an nft to the Burner contract in case it has any callback functionality defined

Contract address and name isn't really enough, either. You'd need resource name as NFTs do not need to be called NFT. I would suggest taking in the resource type and id as inputs.

austinkline avatar Oct 08 '24 21:10 austinkline

Of course, the Burner contract would always be the final destination no matter what. Some projects want an intermediate place for NFTs to go before being burnt though in order to have tracking for which NFTs are burnt and in which groups, etc. Still figuring out what that might look like

joshuahannan avatar Oct 08 '24 21:10 joshuahannan

@btspoony Do you know if this is something that a lot of people are still asking for? I think something that is a generic receiver is probably a bit too much work for us to maintain, so I believe that our best bet is to just have a transaction like this that can transfer any NFT to the burner contract which destroys it. A user of any NFT project would simply just run that transaction and it could burn any NFT.

We could add it as an option on flow port for now so a user of Top Shot for example could transfer their NFT to flow wallet, then log in to flow port and choose the burn NFT option to burn it.

Do you think that sounds reasonable?

joshuahannan avatar Jan 07 '25 20:01 joshuahannan

That makes sense to me. The main demand primarily comes from the Topshot Community. But for the transaction, ideally it can accept multiple NFTs.

btspoony avatar Jan 08 '25 00:01 btspoony

Good point, I'll update it to accept multiple NFTs

joshuahannan avatar Jan 08 '25 16:01 joshuahannan