ERC20 是以太坊智能合约标准之一,用于创建和交易代币。它定义了一系列规则和功能,使得代币能够跨不同的以太坊钱包和应用程序进行交互。

ERC20 核心功能

  • 总量限制:代币的总量在创建时确定,并且不可更改。
  • 余额查询:任何地址的代币余额都可以被查询。
  • 转账:允许用户之间进行代币转账。
  • 事件日志:所有重要的操作(如转账)都会以事件的形式记录下来。

ERC20 标准方法

以下是一些 ERC20 标准中定义的方法:

  • totalSupply():返回代币的总供应量。
  • balanceOf(address who):返回指定地址的代币余额。
  • transfer(address to, uint value):从消息发送者的地址向接收者地址转账指定数量的代币。
  • transferFrom(address from, address to, uint value):从发送者地址向接收者地址转账指定数量的代币,但需要发送者事先授权。
  • approve(address spender, uint value):授权一个地址代表你进行代币转账。
  • allowance(address owner, address spender):返回某个地址被授权的代币数量。
  • events:定义了一系列事件,如 TransferApproval

示例

假设我们有一个名为 MyERC20Token 的代币合约,以下是如何使用它的一些示例:

// 获取代币总供应量
uint totalSupply = MyERC20Token.totalSupply();

// 查询地址 `user1` 的代币余额
uint user1Balance = MyERC20Token.balanceOf(user1);

// 从 `user1` 转账 100 代币到 `user2`
MyERC20Token.transfer(user2, 100);

// 授权 `spender` 地址代表 `user1` 转账 50 代币
MyERC20Token.approve(spender, 50);

// 从 `user1` 转账 50 代币到 `user2`,使用之前授权的 50 代币
MyERC20Token.transferFrom(user1, user2, 50);

扩展阅读

更多关于 ERC20 的信息,您可以访问我们的ERC20 文档

<center><img src="https://cloud-image.ullrai.com/q/ERC20/" alt="ERC20"/></center>