Erc-721
為什麼加密藝術 NFT 平台將其鑄幣代幣的最大供應量設置得如此之低?
螢幕截圖顯示了有關加密藝術平台SuperRare用於鑄造 NFT的非本地代幣“SUPR”的詳細資訊。我想這是創作者將他們的藝術鑄成的象徵。
但它表示,根據最大供應欄位,這些 NFT 中只有 16,248 個可以鑄造,這意味著 16,248 件藝術品。它是否正確?當 SuperRare 可以在未來鑄造數百萬個 NFT 時,為什麼要限制自己那麼多呢?
2488個“持有者”是包括創作者和收藏者,還是僅僅包括創作者?
另外彈出資訊是什麼意思,“送出令牌銷毀詳細資訊”?誰是項目所有者?
答案是令牌的名稱:
SuperRare
。即使代幣是不可替代的,資產的價值與其總供應量之間也存在負相關。
這就是為什麼我們看到一些 NFT 以 100 ETH 的價格出售。
持有者既可以是創作者,也可以是收藏者:
- 創作者在鑄造 NFT 時,然後可以將其拍賣,例如
- 交易 NFT 時的收藏家。
對於
submit token burn details
資訊,我相信這是可以與 Etherscan 溝通代幣銷毀歷史的合約所有者的一個選項。更新
SuperRare 智能合約實現
ERC721Enumerable
. 在這個合約中,我們有一個_allTokens
計算 NFT 數量的數組:// Array with all token ids, used for enumeration uint256[] private _allTokens;
然後我們有
totalSupply
返回前一個數組長度的函式:/** * @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; }
請注意(與 ERC20 不同),該
totalSupply
方法不是基本 ERC721 標準的一部分,而是由 ERC721Enumerable 實現,它是 ERC721 的列舉擴展智能合約。最後是薄荷功能:
/** * @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); }
我們可以看到
_allTokens
數組在 a 之後遞增mint
。相反,它在 a 之後遞減burn
。因此totalSupply
,這不是固定的,考慮到該項目創建藝術市場的雄心,這是合乎邏輯的。