ERC20
Article Summary
GPT 4
概述
ERC是Ethereum Request for Comments的首字母缩写。它就像技术文档,定义了适用于一群想要利用以太坊生态系统的开发者和用户的方法、行为、创新和研究。ERC-20介绍了在以太坊区块链上创建可互换代币的代币标准,在该协议下的相同的代币完全一致。
ERC-20 提出了一个同质化代币的标准,换句话说,它们具有一种属性,使得每个代币都与另一个代币(在类型和价值上)完全相同。 例如,一个 ERC-20 代币就像以太币一样,意味着一个代币会并永远会与其他代币一样。
ERC-20(以太坊意见征求 20)由 Fabian Vogelsteller 提出于 2015 年 11 月。这是一个能实现智能合约中代币的应用程序接口标准。
ERC-20 的功能示例包括:
- 将代币从一个帐户转到另一个帐户
- 获取帐户的当前代币余额
- 获取网络上可用代币的总供应量
- 批准一个帐户中一定的代币金额由第三方帐户使用
如果智能合约实施了下列方法和事件,它可以被称为 ERC-20 代币合约,一旦部署,将负责跟踪以太坊上创建的代币。
接口定义
/ SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
interface IERC20 {
Transfer 事件
event Transfer(address indexed from ,adress indexed to ,uint256 value);
// 定义Transfer事件,在发生交易转移时触发。Solidity event在 EVM 的日志记录功能之上提供了一个抽象。应用程序可以通过以太坊客户端的 RPC 接口订阅和监听这些事件
Approval 事件
event Approval(address indexed owner, address indexed spenfer, uint 256 value);
// 定义Approval事件,在发生代币授权时触发该事件
totalSupply 函数
function totalSupply() exetrnal view returns(uint256);
//获得当前代币的总供应量
balanceOf 函数
// 获取当前账户的代币余额
function balanceOf(address account) external view returns (uint256);
transfer 函数
// 代币转移函数,将amount数量的代币转移到to地址
function transfer(address to, uint256 amount) external returns (bool);
transferFrom 函数
// 从from地址转移amounts数量到to地址
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}
allowance 函数
//获取owner地址账号授权(approve方法进行授权)给spender地址的代币数量
function allowance(address owner, address spender) external view returns (uint256);
approve 函数
// 授权给spender地址 amount数量的代币,spender账户可以转移该数量代币通过调用
function approve(address spender, uint256 amount) external returns (bool);
链接
This piece of writing is an original article, utilizing theCC BY-NC-SA 4.0Agreement. For complete reproduction, please acknowledge the source as Courtesy ofxiaocai