美文网首页林梓技术分享集
Solodity知识点集 — ERC721代币标准(九)

Solodity知识点集 — ERC721代币标准(九)

作者: 童蒙vlog | 来源:发表于2018-04-27 13:49 被阅读19次

    ERC20 代币

    由于所有 ERC20 代币共享具有相同名称的同一组函数,它们都可以以相同的方式进行交互。

    这意味着如果你构建的应用程序能够与一个 ERC20 代币进行交互,那么它就也能够与任何 ERC20 代币进行交互。 这样一来,将来你就可以轻松地将更多的代币添加到你的应用中,而无需进行自定义编码。

    其中一个例子就是交易所。 当交易所添加一个新的 ERC20 代币时,实际上它只需要添加与之对话的另一个智能合约。 用户可以让那个合约将代币发送到交易所的钱包地址,然后交易所可以让合约在用户要求取款时将代币发送回给他们。

    ERC721代币

    有另一个代币标准更适合如 CryptoKitties 这样的加密收藏品——它们被称为ERC721 代币.

    ERC721 代币是不能互换的,因为每个代币都被认为是唯一且不可分割的。 你只能以整个单位交易它们,并且每个单位都有唯一的 ID

    ERC721 标准

    contract ERC721 {
      event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
      event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);
    
      function balanceOf(address _owner) public view returns (uint256 _balance);
      function ownerOf(uint256 _tokenId) public view returns (address _owner);
      function transfer(address _to, uint256 _tokenId) public;
      function approve(address _to, uint256 _tokenId) public;
      function takeOwnership(uint256 _tokenId) public;
    }
    

    注意: ERC721目前是一个 草稿,还没有正式商定的实现。在本教程中,我们使用的是 OpenZeppelin 库中的当前版本,但在未来正式发布之前它可能会有更改。 所以把这 一个 可能的实现当作考虑,但不要把它作为 ERC721 代币的官方标准。

    下篇将详细解释这些函数。

    相关文章

      网友评论

        本文标题:Solodity知识点集 — ERC721代币标准(九)

        本文链接:https://www.haomeiwen.com/subject/cofvlftx.html