ERC-20 代币与 Solidity 完全指南(2025)
作者 Turja
Ethereum 生态系统包含多种标准,用于描述智能合约从创建到部署的各项功能。最常见的标准是 ERC-20、ERC-721、ERC-777 和 ERC-1155,每种标准都有各自的主要用途。
本文将定义 ERC-20 代币,介绍其部分用途,并概述开发者为符合该标准需要使用的一些 Solidity 编程语言中的强制性函数。如果你想使用 Solidity 创建自己的 ERC-20 代币,本文中的准则和定义将帮助你更好地理解具体做法。
什么是 ERC-20 代币?
ERC-20 是一种流行的同质化加密货币代币,兼容 Ethereum 或 EVM 兼容的区块链。 它是一种数字资产,可以代表链上的任何事物,因而适用于多种使用场景。
这一预设的智能合约包含一个特定接口,使其能够作为开发的技术标准使用。开发者可以利用 ERC-20 代币及其相关的代币规则,获得更简便的开发体验。像 Uniswap 和 SushiSwap 这样的主流去中心化交易所协议,都以 ERC-20 代币标准作为构建模块,以实现与其生态系统的无缝兼容和集成。
ERC-20 代币有哪些用途?
由于 ERC-20 代币对其所代表的内容没有限制,它可以超越典型的加密货币(例如 ETH)的范畴。作为一项要求,ERC-20 资产必须是同质化的、可转移的,并且可以设定最大供应量上限。这在创建奖励、实物资产、公司股份等场景中非常有用。
ERC-20 代币旨在使代币开发标准化,可以代表 Ethereum 区块链上任何同质化资产。只需提供几个变量来描述某项特定资产(例如名称、符号和供应量),任何人都可以发行具有标准行为和接口的 ERC20 代币。
ERC-20 代币是同质化的,因为每一枚代币都与其他任何一枚完全相等。由于没有任何代币拥有特殊权利或行为,这种价值上的对等使得 ERC-20 代币适用于诸如交换媒介、货币、投票权和质押等应用场景。
为什么 ERC-20 代币标准很重要?
ERC-20 代币标准为同质化代币引入了一种特定方法,确保它们都具有相似的属性。
自 2015 年提出以来,ERC-20 代币标准的发展使得其他协议、平台和开发者能够创建智能合约,使用任何遵循该标准的代币,而无需为每个新代币编写专门的逻辑。智能合约的标准化提升了开发流程,进而使整个加密生态系统受益匪浅。
所有 ERC-20 代币必须具备哪些 Solidity 函数?
ERC-20 标准包含一组必须存在于每个标准实现中的方法和事件,包括转移价值、查询地址余额以及获取其他元数据的方法。
理解 Solidity 语言的各项特性,并掌握如何使用函数来在 Ethereum 上创建 ERC-20 代币的实操知识,能够加快你成为 Solidity 开发者的进程。
1. totalSupply
totalSupply 方法表示代币当前的流通总供应量。示例如下:
2. balanceOf
balanceOf 方法计算特定钱包地址中所持有的代币数量。示例如下:
3. Transfer
transfer 方法将代币从一个地址发送到另一个地址,发送方即交易的发起方。示例如下:
4. Approve
approve 方法允许另一个地址代表你花费代币。在与需要访问你的代币的智能合约交互时,这项功能非常有用。approve 方法的一个常见用例是去中心化交易所。示例如下:
5. transferFrom
transferFrom 方法与 approve 方法配合使用效果最佳。一旦你批准某人花费你的代币,对方就可以通过一笔交易将代币从你的账户 transferFrom 到另一个账户。一个典型用例是去中心化交易所。示例如下:
6. Allowance
allowance 方法表示一个地址可以代表另一个地址花费的额度。示例如下:
所有 ERC-20 代币中哪些 Solidity 函数是可选的?
名称、符号和小数位数都是可选函数,作为 ERC-20 代币合约基础接口的扩展。 尽管这些函数不是必须的,但它们能为合约提供有助于理解其用途的附加信息。这一核心接口可以作为智能合约进一步定制和扩展的基础。
1. Name
name 是一个人类可读的名称,用于说明合约的用途。示例如下:
2. Symbol
symbol 是代币的人类可读代号,用于表示该代币,类似于 ETH、BTC 等。示例如下:
3. Decimals
decimals 定义了该货币最小单位的精度。最常见的值是 18,这与 ether 的精度相同(ether 的最小单位是 wei:1 ether 等于 1e18 wei)。
什么是 ERC-20 数据结构?
诸如余额表和授权额度表这样的 ERC-20 数据结构,有助于组织和实现链上的各项操作。
Balances
内部余额表用于跟踪某个钱包地址的总持有量。每笔转账都是从一个余额中扣除,并添加到另一个余额中。
Allowances
内部授权额度表用于跟踪某个钱包地址所委托的支出额度。通过嵌套映射,以代币所有者的地址作为主键,映射到某个花费者地址,并提供其被委托可花费的额度。
开始使用 Alchemy 构建
ERC-20 标准是 Ethereum 生态系统中最重要的标准,它被广泛采用,并应用于最重要的智能合约协议中。作为开发者,强烈建议你花时间深入了解这一标准,并部署属于自己的 ERC-20 代币。
要了解 ERC-20 代币以及其他 Solidity 编程基础知识,欢迎报名参加 Alchemy University 的 Ethereum 开发者训练营。
相关概览

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。


