什么是ERC
ERC 全称是 Ethereum Request for Comment, 它表示以太坊开发者提交的一系列协议提按(参见 ERC | Ethereum Improvement Proposals)。ERC20(常用写法 ERC-20)指的是序号为20的ERC协议标准,协议细节参考:EIP-20: Token Standard (ethereum.org)。
ERC20
以我们最常用的 ERC20代币:USDT 为例, 我们可以通过钱包软件(小狐狸扩展钱包或TokenPocket钱包)给别人发送一定数量的USDT, 这是因为USDT 实现了 ERC20标准中的 transfer 方法,给别人发送 USDT 本质是在与 USDT 合约交互,调用了 USDT合约中的 transfer 方法。同时每个地址的 USDT余额也记录在了这个合约里,所谓转账,就是改动这个合约里的转出者和接收者的余额。
有时,我们不仅需要通过钱包进行 ERC20 转账,也需要支持让其他合约转走我们账户里的ERC20代币,这时 ERC20标准中的 approve 方法就起作用了。 approve 的作用是,告诉你的ERC20代币合约,我授权某某地址可以转账我某某数量个此代币。授权