博客
10 分钟阅读
|
2021年6月24日

ERC20 Token 标准

ERC20 Token 标准全解析:欢迎在 Chaingateway 博客阅读这篇完整文章——关于 blockchain API、加密货币支付方式与各类系统集成方案的深度解读,带你从零彻底搞懂这个流行的 token 标准。

章节
C
Chaingateway Team
区块链专家

你到处都能看到这句话,包括在我们自己的网站上:ERC20 token 已经站稳脚跟,是目前最受欢迎的同质化 token 标准。但究竟是什么定义了一个 ERC20 token?它在技术上又是如何运作的?

什么是 ERC20?

ERC20 是一种用于在 Ethereum 上实现 token 的技术标准。ERC20 标准中的各项函数定义了 ERC20 token 应该如何被发送、如何查询余额,以及名称、符号、最大供应量等通用的 token 细节。

如何创建一个 ERC20 token?

要创建一个 ERC20 token,需要先创建并定制 ERC20 smart contract。由于这是一个开放定义的标准,在开发 ERC20 token 的 smart contract 时,需要考虑各种函数和事件。创建和定制完成后,smart contract 就可以被编译,例如使用基于网页的编译器 Remix。编译后返回的 bytecode 需要被广播到 Ethereum blockchain 上。恭喜!这个 ERC20 token 现在已经上链了!

有没有创建 ERC20 token smart contract 的示例代码?

官方标准及其函数、事件在官方的 EIP-20 中有详细描述,Fabian VogelstellerVitalik Buterin,“EIP-20: ERC-20 Token Standard,“Ethereum Improvement Proposals,第 20 号,2015 年 11 月。[Online serial]。可在此获取:https://eips.ethereum.org/EIPS/eip-20。示例实现也可以在 OpenZeppelinConsenSys 的 Github 页面上找到。

ERC20 token 和 Ethereum 有什么区别?

Ethereum 是 Ethereum blockchain 的原生货币。ERC20 token 则基于运行在 Ethereum Virtual Machine(EVM)上的 smart contract。token 的标准化使其可以在 wallet、exchange 等其他应用中通用。

Gas 费能不能用 ERC20 token 支付,而不是用 Ethereum?

Gas 费始终必须以 Ethereum 支付。即便只是转账 ERC20 token,发送地址上仍然需要有一些 Ethereum,用来支付 blockchain 层面的 gas 费。

创建一个 ERC20 token 需要多少钱?

这个问题有两种答案:

  1. 如果你自己创建 smart contract 并进行部署,那么只需要支付把 smart contract “保存”到 blockchain 上所需的 gas 费。部署所需的具体 gas 量取决于你的 contract 的大小和复杂程度,再乘以当前的 gas 价格就是费用估算。最新的 gas 价格可以在 ETH Gas Station 等网站上查到。
  2. 如果你请开发者或开发团队来创建你的 smart contract,记得让对方把开发费用和上述 gas 费分开报价。

ERC20 token 合法吗?

这在很大程度上取决于该 token 的实际用途以及持有者所在的国家/地区。在大多数国家,ERC20 token 本身是合法的,但一旦涉及到出售、交易、把它当作支付手段,或者把它当作公司股份使用,就需要满足进一步的监管要求并取得相应牌照。在许多国家,ERC20 token 也可能需要缴税。无论如何,建议咨询律师,确认某种特定用途或商业模式是否需要取得牌照。出售 ERC20 token 时,了解你的客户(KYC)和反洗钱(AML)相关规则同样适用。

如何自动发送 ERC20 token?

通常人们通过 wallet 发送加密货币:输入接收方和要发送的数量。但如果你想把 ERC20 token 发给成千上万的人呢?手动完成这件事至少需要连续 7 天 24 小时不间断地工作,这显然不是一个好选项。这正是我们打造 Chaingateway.io 的原因之一。借助我们这套简单易用的 REST API 方案,只需一段简单的脚本,就能把 ERC20 token 发送给数百万人。而且最棒的是:它适用于任何 ERC20 token,并且不需要像大多数 exchange 那样进行任何 listing。

如何查询某个特定地址的 ERC20 token 余额?

要查询某个地址的 ERC20 token 余额,你可以使用像 Etherscan 这样的区块浏览器。只需打开该网站,输入你想查询余额的 Ethereum 地址,Etherscan 就会为你完整展示这个地址持有的各种 token。你可能会问,如何把这项工作自动化,比如把自己的 ERC20 token 作为一种支付方式集成到你的网站中。答案还是 Chaingateway.io。使用我们的方案,你甚至可以设置一个通知脚本,让你能够全自动地接收并处理存款。

什么是合约地址?

在部署一个 ERC20 token smart contract 时,你会得到一个 hash,它相当于一个唯一标识符,让 Ethereum 知道在 Ethereum blockchain 上哪里可以找到这个已部署的 smart contract。这也被称为合约地址,因为它正是 smart contract 所在的地址。合约地址是 token 中唯一能让你确认自己面对的确实是正确的那个 ERC20 token 的部分。当然,每个 ERC20 token 都有名称和符号,但这些并不需要是唯一的。理论上,你完全可以创建一万个名称和符号完全相同的 ERC20 token——唯一不同的只有合约地址。

还有其他流行的 token 标准吗?

其他流行的 token 标准还包括 ERC721——一种用于非同质化 token 的 smart contract 标准。以及 ERC1155——一种多 token 的 smart contract 标准。关于这些标准及其特性,我们可能很快会推出更多文章。在此之前,你可以参考它们官方的 EIP:

William EntrikenDieter ShirleyJacob EvansNastassia Sachs,“EIP-721: ERC-721 Non-Fungible Token Standard,“Ethereum Improvement Proposals,第 721 号,2018 年 1 月。[Online serial]。可在此获取:https://eips.ethereum.org/EIPS/eip-721

Witek RadomskiAndrew CookePhilippe CastonguayJames TherienEric BinetRonan Sandford,“EIP-1155: ERC-1155 Multi Token Standard,“Ethereum Improvement Proposals,第 1155 号,2018 年 6 月。[Online serial]。可在此获取:https://eips.ethereum.org/EIPS/eip-1155

准备好自己动手构建了吗? 获取你的 API key — 7 天试用,无需信用卡 — 或查看 Ethereum API 获取完整的 endpoint 参考。

C
Chaingateway Team
区块链专家

Chaingateway 团队致力于为全球开发者简化区块链集成。