有一些核心合约实现了EIP中指定的功能和定义:
IERC20:包含所有ERC20应该实现的接口IERC20Metadata:对ERC20接口的扩展,包括Token名称,符号,和精度。ERC20:对ERC20接口的实现,将名称,符号和精度这些可选的标准扩展引入到基本接口中。
另外还有一些自定义的扩展可以使用,包括以下内容:
SafeERC20:接口的包装器,无需对布尔类型的返回值进行处理。TokenTimelock:冻结交易的Token一定时间,直到到达一个指定的时间后才可以持有TokenERC20Permit
//返回存在的Token的总数
totalSupply()
//返回账户account持有的Token的总数
balanceOf(account)
//将指定数量的Token交易到其他账户to
//交易结果返回一个布尔值
transfer(to, amount)
// 返回owner持有的,且spender具有消费权限的Token数量,默认为0
// 查看被授权人owner还可以使用的代币余额
allowance(owner, spender)
// 配置一定数量的允许spender消费的Token数量
// 授权指定帐户使用你拥有的代币
approve(spender, amount)
//从from账户地址交易一定数量的Token到其他地址,该Token通过approve函数赋予消费权限
transferFrom(from, to, amount)
ERC20Burnable:销毁持有的tokenERC20Capped:发行Token时对总供应量指定上限ERC20Pausable:能够暂停Token的交易ERC20Snapshot:有效存储过去的Token余额,以便以后随时查询ERC20Permit:token的委托无需GasERC20FlashMint:通过临时代币的铸造和销毁对闪电贷的代币级支持ERC20Votes:支持投票和投票委托ERC20VotesComp:支持投票和投票委托ERC20Wrapper:用于创建由另一个ERC20支持的ERC20的包装器,具有存储Token和撤回Token的方法,通常用于ERC20Votes的裁决
文章为作者独立观点,不代表股票交易接口观点