[blockchain]關於ERC721的理解
ERC721定義了一種Ethereum生態中不可分割的、具有唯一性的token交互、流通的接口規範。該規範本質上是Ethereum上的智能合約,依託於EVM運行。符合該規範的token (Non-Fungible Token, NFT),具有以下特性:
- 在該合約範圍內,唯一的
token_id
token_id
只能被一個owner(i.e.eth address
) 所擁有- 一個owner可以擁有多個NFTs,它的balance只記數量。有另外的存儲列表記錄
token_id
-owner_addr
的對應關係 - NFT有
approve
,transfer
,takeOwnerShip
等接口方法適於流通的功能。即所屬權轉移。這些方法是在ERC721標準中定義的。 - 定義一個
multiaddr
型式的複合地址來索引該token對應的元數據(名稱、圖片、各種信息)。通過tokenMetadata
方法,獲取這個multiaddr
(形如url的字符串),來獲取token元數據。 - ERC721與ERC20的token,有兼容的地方,即
token name
,token symbol
。這是便於ERC20的錢包可以顯示ERC721的token
目前,ERC721的用例:
- 以太貓。ERC721以外的特性:固定時間產生一隻創世貓,兩貓可以交配,根據定義的基因數據、遺傳算法獲取後代貓的特性基因。
- Decentraland. 也是一款遊戲,通過在虛擬的領地設計、建設,創造特殊性的領地,然後通過交易提現價值。ERC721以外的特性:可以自己搭配,感覺類似於自己創造“基因”,支持3D展示。
- CryptoPunks。這是個朋克造型圖片的交易平臺。平臺初始時生成了固定的10000個朋克,各不相同,似乎特性不可更改。現在只是交易平臺。
關於ERC721標準的示例性闡釋,可以參見這篇文章:The Anatomy of ERC721。