The answer is in the name of the token: SuperRare
.
There is a negative correlation between the value of an asset and its total supply, even when the tokens are non-fungible.
That's why we see some NFTs being sold for 100 ETH.
Holders can be both creators and collectors:
- creators when the NFT is minted, it can then be put in auction for example.
- collectors when the NFT is traded.
For the submit token burn details
info, I believe this is an option for the contract owner who can communicate to Etherscan the token’s burn history.
UPDATE
The SuperRare smart contract implements ERC721Enumerable
. In this contract, we have the array _allTokens
counting the number of NFTs:
// Array with all token ids, used for enumeration
uint256[] private _allTokens;
Then we have the totalSupply
function which returns the length of that array:
/**
* @dev Gets the total amount of tokens stored by the contract
* @return uint256 representing the total amount of tokens
*/
function totalSupply() public view returns (uint256) {
return _allTokens.length;
}
Note that, unlike ERC20, the totalSupply
method is not part of the base ERC721 standard, but is implemented by ERC721Enumerable which is an enumeration extension smart contract for ERC721.
Finally, the mint function:
/**
* @dev Internal function to mint a new token
* Reverts if the given token ID already exists
* @param to address the beneficiary that will own the minted token
* @param tokenId uint256 ID of the token to be minted by the
msg.sender
*/
function _mint(address to, uint256 tokenId) internal {
super._mint(to, tokenId);
_allTokensIndex[tokenId] = _allTokens.length;
_allTokens.push(tokenId);
}
We can see the _allTokens
array is incremented after a mint
. Conversely, it is decremented after a burn
.
The totalSupply
is therefore not fixed, which is logical given the ambition of the project to create an art marketplace.