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
:定义了一系列事件,如Transfer
和Approval
。
示例
假设我们有一个名为 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>