blockchainmultiversx

How do I limit the max supply of a MultiversX NFT collection?


I'm currently working with the MultiversX blockchain, and I've successfully registered a new NFT collection & created an NFT following the documentation example here.

However, I need to limit the amount of NFTs that can be created for a specific collection. The documentation says:

The ESDT manager can stop the creation of an NFT for the given ESDT forever by removing the only ESDTRoleNFTCreate role available.

So I guess I could just create the max supply of a collection (e.g 100 NFTs for collection1) and then remove the creation role. But this means I have to create all NFTs beforehand, which is not ideal.

  1. Is there another way to limit the max supply, maybe when registering/issuing the collection itself?

  2. On a separate note, is there good documentation on the difference between EGLD / ESDT / SFT / NFT. I'm particularly interested in SFTs, but I don't understand how the state change from fungible -> non-fungible works (e.g. once the SFT becomes non-fungible, is it stuck in that state or can it become fungible again?). Documentation on that is quite unclear.


Solution

    1. There is no optional "limit supply" for an NFT collection.

      After you created the collection and give the ESDTRoleNFTCreate to your address or a contract you can call X time the function mint.

      Eventually, if you use a SC to mint the NFT, you can set a variable to limit the maximum allowed mint.

    2. You can't convert NFT in SFT or SFT in NFT.

      The only operation allowed is converting an SFT into Meta-ESDT with no way back. This is possible only because SFT are really close to META-ESDT but with no decimals :)