代币标准(ERC-20)

发布于:2022-10-24 ⋅ 阅读:(210) ⋅ 点赞:(0)

简单总结

令牌的标准接口。

摘要

以下标准允许在智能合约中为代币实施标准 API。该标准提供了转移代币的基本功能,并允许代币获得批准,以便其他第三方链上使用。

动机

标准接口允许以太坊上的任何代币被其他应用程序重用:从钱包到去中心化交易所。

规范

Token

注意:

  • 以下规范使用 Solidity 0.4.17(或更高版本)的语法
  • 调用者必须处理返回的错误(布尔成功)。调用者不得假设永远不会返回 false!

name

返回令牌的名称 - 例如“我的令牌”。

可选 - 此方法可用于提高可用性,但接口和其他合约不得期望这些值存在。
function name() public view returns (string)

symbol

返回令牌的符号。例如。 “HIX”。

可选 - 此方法可用于提高可用性,但接口和其他合约不得期望这些值存在。
function symbol() public view returns (string)

decimals

返回令牌使用的小数位数 - 例如8、表示将代币数量除以100000000得到其用户表示。

可选 - 此方法可用于提高可用性,但接口和其他合约不得期望这些值存在。
function decimals() public view returns (uint8)

totalSupply

返回总代币供应量。
function totalSupply() public view returns (uint256)

balanceOf

返回地址为 _owner 的另一个帐户的帐户余额。
function balanceOf(address _owner) public view returns (uint256 balance)

transfer

将 _value 数量的代币转移到地址 _to,并且必须触发 Transfer 事件。如果消息调用者的账户余额没有足够的代币可以花费,该函数应该抛出。

注意 0 值的传输必须被视为正常传输并触发 Transfer 事件。
function transfer(address _to, uint256 _value) public returns (bool success)

transferFrom

将 _value 数量的代币从地址 _from 转移到地址 _to,并且必须触发 Transfer 事件。

transferFrom 方法用于提款工作流程,允许合约代表您转移代币。例如,这可用于允许合约代表您转移代币和/或以子货币收取费用。该函数应该抛出,除非 _from 帐户通过某种机制故意授权消息的发送者。

注意 0 值的传输必须被视为正常传输并触发 Transfer 事件。
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)

approve

允许 _spender 多次从您的帐户中提款,最高可达 _value 金额。如果再次调用此函数,它会用 _value 覆盖当前容差。

注意:为了防止像这里描述和讨论的攻击向量,客户端应该确保以这样一种方式创建用户界面,即他们首先将津贴设置为 0,然后再将其设置为同一支出者的另一个值。虽然合约本身不应该强制执行它,以允许与之前部署的合约向后兼容
function approve(address _spender, uint256 _value) public returns (bool success)

allowance

返回 _spender 仍被允许从 _owner 提取的金额。
function allowance(address _owner, address _spender) public view returns (uint256 remaining)

Events

Transfer

必须在代币转移时触发,包括零值转移。

创建新代币的代币合约应该在创建代币时触发 Transfer 事件,并将 _from 地址设置为 0x0。
event Transfer(address indexed _from, address indexed _to, uint256 _value)

Approval

必须在任何成功调用approve(address _spender, uint256 _value) 时触发。
event Approval(address indexed _owner, address indexed _spender, uint256 _value)


网站公告

今日签到

点亮在社区的每一天
去签到