主页 > imtoken安卓官网 > 以太坊标准 ERC-721

以太坊标准 ERC-721

imtoken安卓官网 2023-01-18 15:03:23

上一篇文章介绍了以太坊代币标准ERC20。 本文主要介绍以太坊的另一个标准:ERC721。 ERC721标准的官方解释是Non-Fungible Tokens,简称NFTs,即非同质代币。

首先以太坊有什么实际应用价值,我们需要区分ERC20和ERC721标准的区别:

ERC-721代币标准【官方文档】

以 CryptoKitties 为例。 CryptoKitties 是第一个遵循 ERC721 标准的应用程序。 在这个游戏中,我们可以用ETH购买EtherKitties和dongle,但是我们不能将EtherKitties兑换成eth(这里有exchange和transaction的区别,exchange是指市场上的每一笔交易都按照一个暂定比例进行兑换,有交易没有固定比例,只要有人出价,就有人卖),甚至不能兑换。 由于ERC721代币具有唯一性、不可分割性以太坊有什么实际应用价值,很容易与某些特定物品产生关联。 通过这样的标准,可以在实际场景中得到更广泛的应用。

ERC721作为以太坊标准,规定了ERC721代币必须实现的方法和一些建议的实现方法。 同时,ERC721 代币必须同时实现 ERC721 和 ERC165。

具体合约规范如下,这里只列出大部分方法进行说明,还有一些不太常用的方法,请参考官方文档

contract ERC721 {
    // Events,分别用来记录和授权
    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);

以太坊有什么实际应用价值_以太坊智能合约应用_以太坊的核心价值

event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); // Required // 返回_owner的非同质代币的数量 function balanceOf(address _owner) external view returns (uint256); // 返回_tokenId非同质代币的拥有者的地址 function ownerOf(uint256 _tokenId) external view returns (address);

以太坊的核心价值_以太坊有什么实际应用价值_以太坊智能合约应用

// 将转移_tokenId从_from拥有者转移给_to新的拥有则 function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; function transferFrom(address _from, address _to, uint256 _tokenId) external payable; // 授权别人代替自己执行交易 function approve(address _approved, uint256 _tokenId) external payable;

以太坊的核心价值_以太坊智能合约应用_以太坊有什么实际应用价值

function setApprovalForAll(address _operator, bool _approved) external; function getApproved(uint256 _tokenId) external view returns (address); function isApprovedForAll(address _owner, address _operator) external view returns (bool); // Optional // 返回所有非同质代币的数量 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 name() external view returns (string _name); // 返回合约代币的符号 function symbol() external view returns (string _symbol); }

以太坊的核心价值_以太坊有什么实际应用价值_以太坊智能合约应用

ERC721标准要求必须同时遵守ERC165标准

interface ERC165 {
    // 用来验证这个合约是否实现了特定的接口。
    function supportsInterface(bytes4 interfaceID) external view returns (bool);
}

欢迎订阅《K叔区块链》——专注区块链技术学习

以太坊标准ERC-721

博客地址:

简书主页:

段错误主页:

腾讯云首页: