大家都在用最近比较火的以太猫举例。本文也来使用进行进行解释。以太坊代币合约 ERC-20和ERC-721的区别。
以太猫 Cryptokitties
以太猫 Cryptokitties 带火了ERC-721 token合约。
12月流行的 以太猫 (Cryptokitties), 竟然造成了以太坊的拥堵,现在讲解以太猫带火的ERC-721 token合约是什么?
在github 里cryptokitties-bounty程序代码提到,用 ERC-721 token 合约来定义每只以太猫:“CryptoKitties are non-fungible tokens (see ERC #721) that are indivisible and unique.”
以太猫是非同质代币,不可分割且独一无二。
ERC-721 token合约
简要
一种针对非同质代币的标准接口。
摘要
本标准提出的用于智能合约内非同质代币(non-fungible tokens,以下简称 “NFTs”),操作标准API的实现方法。另外,本标准还提供了用于跟踪和所有权转移的基本功能。
动机
一个标准的接口允许任何非功能性测试Ethereum由通用的应用程序。 特别是,它将允许非功能性测试跟踪在标准化的钱包和交易所交易。
ERC20 token合约
简要
标准接口的代币。
摘要
以下的标准允许在智能合约内实现标准的代币接口。这个标准提供了代币的基本功能,以及允许代币被批准,这样它们就可以由另一个链第三方使用。(这个标准相当于定义了一个接口,当你的智能合约实现了这个接口以后,钱包软件就能通过调用这些接口,监听事件等操作你的代币。)
动机
一个标准的接口,允许任何基于以太坊上的代币被其他应用程序使用,从钱包到第三方交易所。
区别
ERC721代币的核心是“Non-Fungible Tokens”,非同质代币。怎么理解“非同质”?
“以太猫”为例,每只以太猫拥有独一无二的基因,每只小猫和繁衍的后代也都是独一无二的。从原理上来看,每只以太猫在区块链平台上都是一条独一无二的代码,因此没有两只外表和特性完全相同的小猫。而且,ERC721每个代币都有一个独立唯一的tokenid,例如在cryptokitties里就是猫的id,独一无二。
简单理解就是: ERC-721 是用来定义 Non-fungible token (非同质代币,不可替代的代币)。每个代币是 unique (唯一的),而ERC-20 每个 token 都相同,看看Imtoken钱包。
本文概念引自:
erc721
erc20
名词:
EIPstands for Ethereum Improvement Proposals : 以太坊改进建议
ERC: 是以太坊代币标准的缩写
Non-fungible tokens: 非同质代币
Token:一个token合约就是包含了一个对账户地址及其余额的映射的智能合约(SmartContract)。