ERC20是可替代型通证,ERC721则是不可替代型通证。这意味着每个通证是完全不同的, 并且每个通证对不同的用户都有不同的价值。 这种类型通证最具有代表性的应用就是CryptoKittes,每一个数字猫都是独立的,因为每只猫各有千秋,而且由于不同辈分的稀缺性不同,市场价格也差异巨大。。
如果说ERC20实现了“币”,那么ERC721就实现了“货”。如果说ERC20协议本身只能发行可替代性通证(fungible token),用其来代表各种可替代性事物(如钱,证劵,积分,代币等等)。那么现实生活中大部分的事物的不可替代性(任何一个物理商品,IP,版权以及身份)就可以通过ERC721来实现。
ERC721接口简介
pragma solidity ^0.4.20;
interface ERC721 /* is ERC165 */ {
event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
function balanceOf(address _owner) external view returns (uint256);
function ownerOf(uint256 _tokenId) external view returns (ad