NFTs(不可替換令牌)是翻譯中的可互換令牌。以加密貓為例。每壹只加密的貓本質上都是ERC-721的令牌,每壹個加密的基因都是不同的(本質上是不同屬性的令牌),在貓之間是不可替換的。這種獨特性使得壹些稀有的貓具有收藏價值,因此受到追捧。
ERC20令牌是可替換的,這意味著所有ERC-20令牌都是相同的。我手裏的ERC-20托肯和妳手裏的ERC-20托肯本質上是壹樣的,可以相互轉換。在使用的時候,我們只關心余額,不關心代幣的區別。ERC-721的令牌是不可替代的。還是以加密貓為例,加密貓遊戲中的令牌就是加密貓,每個人的加密貓都不壹樣。ERC721的代幣或虛擬物品具有收藏價值的屬性。
ERC-721令牌是不可互換的,比如上面提到的加密貓。因此,它適用於那些資源稀缺或不可替代的場景,比如創造壹些稀缺的虛擬物品(這些物品與現實世界中的物品相同),特別是在加密貨幣收藏、網絡遊戲等領域。ERC-721代幣不可互換,但可以用來替換ERC-20代幣。例如,壹只加密的貓可能價值數百ETH。
另外,未來還可以實現實物資產的纏繞,比如房屋、土地等,用ERC-721來確認這些資產。
ERC721是最契約的標準,它提供了在實現ERC721令牌時必須遵守的協議。要求每個ERC721標準合同需要實現ERC721和ERC165接口,接口定義如下:
註釋
1.呼叫者msg.sender應該是當前令牌Id的所有者或授權地址。
2._from必須是_tokenId的所有者。
3._tokenId應該是當前合同監控的任何壹個NFT。
4._to地址不應為0。
5.如果_to是壹個約定,應該調用它的onERC721Received方法,並檢查它的返回值。如果返回值不是Bytes 4(“ONERC 721 received(address,uint 256,Bytes)”),則會拋出異常。
可以接收NFT的契約必須實現ERC721TokenReceiver接口:
參考:
/以太坊/EIPs/blob/master/EIPS/EIP-721 . MD
/p/47457d149f9d