

Ethereum 由 Vitalik Buterin 于 2014 年创建,定位为开源平台,专为部署去中心化应用(DApps)而设计。Buterin 创立新区块链,主要是因为比特币协议缺乏足够的灵活性。
Ethereum 区块链自问世以来,吸引了大量开发者、企业及创业者,推动了智能合约和分布式应用生态的快速发展。
本文将解析 ERC-20 标准,这是创建代币的重要框架。虽然该标准专属于 Ethereum 网络,但其设计理念也启发了众多区块链平台制定各自的标准。
在 Ethereum 系统中,ERC 是 Ethereum Request for Comments 的缩写,意指以太坊技术标准建议。这类技术文档规定了以太坊上的编程规范。ERC 不等同于 Ethereum Improvement Proposal(EIP),后者类似于比特币的 BIP,用于提出协议本身的改进。ERC 主要用于制定应用和合约之间的交互规范,提升系统的互操作性。
ERC-20 由 Vitalik Buterin 和 Fabian Vogelsteller 于 2015 年联合提出,定义了一种简单的以太坊代币开发模板。开发者遵循该标准,无需重复打造底层基础,可直接基于行业通用规则开发代币。
新创建的 ERC-20 代币可以自动兼容所有支持该标准的软件和服务,包括软件钱包、硬件钱包及主流交易所。
需要说明的是,ERC-20 标准之后被纳入 EIP(即 EIP-20),这主要因其使用极为广泛。尽管如此,“ERC-20”这一名称依然是行业通用称谓。
与以太坊原生币 ETH 不同,ERC-20 代币并不直接存储在账户中,而是存在于合约内部,宛如一个独立数据库。合约定义了代币规则(如名称、符号、可分性),并维护着用户地址到代币余额的映射关系。
若需转账代币,用户需向合约发起交易,指示将部分余额划转至他处。例如,Alice 若想转 5,000 枚代币给 Bob,她需调用相关智能合约的转账函数。
这类调用实质上是一次 Ethereum 交易,交易金额为 0 ETH,目标地址为代币合约,交易的附加字段则明确 Alice 的实际操作——即将代币转给 Bob。
即使未转移 ETH,用户仍需支付 ETH 作为手续费,确保交易被区块链打包。如果账户中无 ETH,用户需先获取后方可转账。
掌握基础后,接下来深入分析典型 ERC-20 合约的结构。
ERC-20 合约需包含六个必备函数:totalSupply、balanceOf、transfer、transferFrom、approve、allowance。开发者还可添加 name、symbol、decimal 等可选函数。
function totalSupply() public view returns (uint256)
该函数用于返回合约所管理的全部代币总量。
function balanceOf(address _owner) public view returns (uint256 balance)
balanceOf 需要传入一个地址参数,查询该地址的代币余额。以太坊网络账户信息对外公开,任何知道地址的人都可以查询余额。
function transfer(address _to, uint256 _value) public returns (bool success)
transfer 用于将代币从调用者地址转移至目标地址,需指定接收人及转账数量。
调用该函数会触发 transfer 事件,区块链据此记录本次交易。
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
transferFrom 为 transfer 的扩展,提升了 DApp 的自动化和可编程性。它允许用户授权他人或合约代表自己转移代币。
实际应用如订阅服务,用户无需手动支付,授权后程序可自动扣费。
该函数同样触发 transfer 事件。
function approve(address _spender, uint256 _value) public returns (bool success)
approve 允许用户设定合约可支配的最大代币数量,降低全部余额被盗风险。
以订阅为例,用户可提前设定自动扣费上限,避免 DApp 或合约异常时造成全部损失。
调用此函数会触发 approval 事件,数据写入区块链。
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
allowance 用于查询已授权的合约或地址还可提取多少代币。例如已消费 12 枚,授权额度为 20 枚,则剩余 8 枚。
必选函数外,name、symbol、decimal 等让 ERC-20 合约更具易用性,可设置名称、代币符号和精度。货币类代币通常需要更高精度,资产类则不一定。
集成上述功能后,开发者即可构建完整的 ERC-20 合约,支持查询总量、余额、转账及授权 DApp 代为管理。
ERC-20 最大优势是高度灵活,开发者可根据业务需求定制附加功能和参数。
主流法币锚定稳定币多采用 ERC-20 标准。
通常,发行方持有等值法币储备,每发行一个代币即对应一单位法币。如金库有 10,000 美元,则可发行 10,000 枚代币,每枚对应 1 美元。
技术上,发行方只需部署合约并生成相应数量代币,分发给用户,用户未来可按比例兑换法币。
用户可持币消费、在 DApp 使用或向发行方申请赎回。赎回后代币被销毁,法币从储备中扣除。
合约结构简单,但发行稳定币涉及合规和运营等复杂外部环节。
证券型代币与稳定币在合约上可无区别,核心差异在发行方层面。证券型代币代表如股票、债券、实体资产等权益,持有者通常享有一定权利。
功能型代币是加密市场中最常见的类别,无需资产锚定。若资产型代币如同航空公司股份,功能型代币则类似常旅客积分:有特定功能但无外在价值,可用于游戏货币、DApp 燃料、积分等多元场景。
ETH 可挖矿,ERC-20 代币则只能“铸造”而非挖矿。合约部署时,开发者按设定方案分配代币。
一般通过首次代币发行(ICO)、首次交易所发行(IEO)、证券型代币发行(STO)等方式,投资者用 ETH 换取新代币,项目方以此筹集资金。用户可持有、使用或转售代币获益。
代币分配方式多样,部分众筹支持多种数字货币,参与者提供地址后直接获得分配的代币余额。
ERC-20 代币具备同质化特性,每个单位可自由交换,无差异。用户可随意兑换,正如现金或黄金。
同质性对货币功能至关重要,避免了某些代币因特性差异而出现价值波动。
ERC-20 代币极易自定义,适用面广,如游戏货币、积分、数字藏品、艺术品或产权等。
ERC-20 在区块链行业极为流行,主流钱包、交易所均支持,开发者资源丰富。
Ethereum 网络存在扩展性瓶颈,高峰期转账费用高、延时明显。网络拥堵时,ERC-20 代币体验大打折扣。
这类问题是分布式系统的常见权衡,社区已计划通过升级和优化加以解决。
发行代币门槛极低,几乎人人可发,导致市场鱼龙混杂,真假难辨。
投资前需深度调研,警惕各类庞氏骗局,理性判断项目合法性。
ERC-20 是以太坊首个且最主流的代币标准,但并非唯一。后续众多标准或对 ERC-20 进行改进,或满足其他需求。
部分标准专为 NFT 设计。在特定场景下,拥有独特属性的代币更有优势,如艺术品、游戏资产等需唯一标识的场景。
ERC-721 标准用于如 CryptoKitties 这类 DApp,支持用户自主铸造 NFT,并可存储图像及元数据。
ERC-1155 标准兼容同质化与非同质化代币,提升了合约的多功能性。
ERC-223、ERC-621 等标准则侧重易用性,前者防止误转,后者便于调节代币总量。
ERC-20 标准多年主导加密资产行业,部署简单,适用场景广,包括稳定币与功能型代币。尽管存在一定功能局限,未来是否被新标准取代,仍需持续观察。
ERC-20 代币是在 Ethereum 区块链上,遵循特定技术标准发行的数字资产。与比特币等原生加密货币不同,ERC-20 通过智能合约生成,代表 Ethereum 网络中的价值,可实现多样化的代币经济和业务场景。
ERC-20 代币以智能合约形式运行,遵循统一协议,实现转账、余额查询、权限授权等功能。每笔交易都会链上记录,保障透明安全,用户可便捷收发代币。
ERC-20 规范了 Ethereum 上同质化代币的标准接口,涵盖转账、授权、余额管理、总量控制及事件日志,确保钱包和 DApp 的无缝兼容。
使用 Solidity 智能合约,通过 Remix IDE 或 Hardhat 部署,按标准实现接口和 mint/transfer 等功能,发布到主网时需支付 gas 费用。
ERC-20 是 Ethereum 体系下的同质化代币标准,BEP-20 为 Binance Smart Chain 对应标准。ERC-721 用于 NFT(NFTs),每个代币都唯一且不可拆分。核心区别在于:ERC-20 代币互为等价、可分割,ERC-721 代币则唯一且不可分割。
主要风险包括智能合约漏洞、钓鱼攻击、私钥泄漏和虚假代币。务必使用安全钱包,核实合约地址,开启双重验证,并在正规平台操作以保障资产安全。











