ERC721代码详解

ERC-721是非同质化代币(Non-Fungible Token,缩写为NFT)的标准接口。ERC-721在2017年底首先被CryptoKitties游戏所使用,CryptoKitties的火爆让人们意识到了ERC-721的重要价值。ERC-721是非同质化代币,也就意味着每个Token都是不一样的,都有自己的唯一性和独特价值,当然这也就意味着它们是不可分割的,也同时具有了可追踪性。ERC-721代表了对资产的所有权,为物品或记录的代币化提供了可能,开劈了一个巨大的市场,比如现实世界的房屋(房屋是不可移动,占据特定空间的资产,具有唯一性)和独一无二的艺术品;虚拟世界中的收藏物品,如以太坊上的各种收藏游戏中各种独一无二的收藏品;金融交易中的借贷交易记录。

这是一个简明的ERC721智能合约声明:

contract ERC721 {
   //元数据,可选,建议有
   function name() external view returns (string _name);
   function symbol() external view returns (string _symbol);
   function tokenURI(uint256 _tokenId) external view returns (string);

   //枚举查询选项,可选,建议有
   function totalSupply() external view returns (uint256);
   function tokenByIndex(uint256 _index) external view returns (uint256);
   function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256);


   //基本函数-查询
   function balanceOf(address _owner) constant returns (uint balance);
   function ownerOf(uint256 _tokenId) constant returns (address owner);
   //基本函数-操作
   function approve(address _to, uint256 _tokenId);(setApprovalForAll/getApproved/isApprovedForAll/)
   function transfer(address _to, uint256 _tokenId);(safeTransferFrom/transferFrom)
   //基本函数-获取元数据
   function tokenMetadata(uint256 _tokenId) constant returns (string infoUrl);


   //事件
   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 _approve
  • 8
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值