快捷搜索:  跳转  as  DeFi ?  The Merge​  test  DeFi%2B%E2%80%8B  11  set|set&set

tp钱包IOS下载|Solidity极简入门|第三十一讲:ERC20

原文标题:《 Solidity 极简入门:31. ERC20 》
原文作者:0xAA


我在重新学 solidity,可以在最近的一个简单的白讲基础上,也写下今天的最新教程,供小大家使用(编程大另一个-另一个),每周更新 13。


所有代码和教程开源在 github:github.com/AmazingAng/WTFSolidity


这样,我们将介绍以太坊上的 ERC20 Token标准,并发行自己的测试 Token 。


ERC20


ERC20 是以太坊上的 Token 标准,来自 2015 年 11 月 V 神参与的 EIP20。它实现了 Token 流通的基本逻辑:


账户余额

转移

授权许可

Token 总流入

Token 任选信息():名称,代号,小数暴露


IERC20


IERC20 是 ERC20 Token 标准的接口契约,规定了 ERC20 Token 需要实现的功能和事件。


事件


IERC20 定义了一个和 2 事件,分别在事件授权和授权时被释放 TransferApproval



函数


IERC20 定义了 6 一个功能,提供了一个转移 Token ,并获得批准,以便其他链上的基本使用。


totalSupply() 返回 Token 总流入



balanceOf() 返回账户余额



transfer() 转移



allowance() 返回授权额度



approve() 授权



transferFrom() 授权许可



实现 ERC20


现在写一个 ERC20,规定将我们 IERC20 简单实现的功能。


状态变量


我们需要通过状态变量来记录账户余额,其中授权和金额为 Token 类型,自动生成 balanceOf 一个同名函数,实现规定的,和。。allowancetotalSupplypublicgetterIERC20balanceOf()allowance()totalSupply()namesymboldecimals



函数


构造函数:初始化 Token 名称、代号。



transfer() 函数 IERC20 中的 transfer 函数, Token 实现。调用方 amount 币会增加 Token 数量,接收方此函数相应的狗改土,加入、分红、抽奖等。



approve() 函数:IERC20 的 approve 函数, Token 授权逻辑。被授权方 spender 可以控制授权方的 amount 数量的 Token 。



transferFrom() 功能:IERC20 中的 transferFrom 函数,授权逻辑。被授权方将授权方实现 sender 的 amount 数量的 Token 授权给接收方 recipient。



mint() 函数:铸造 Token 函数,不在 IERC20 标准中。这里为了方便,任何人都可以添加任意数量的 Token ,实际应用中会权限管理,只能 owner 铸造 Token :



burn() 函数: Token 函数,不在 IERC20 标准中。



发行 ERC20 Token


标准 ERC20,在 ETH 链上发行现在是我们最简单的 Token ,我们发行属于我们的第一个 Token 。


在 Remix 上编译 ERC20 好的合约中,在部署栏输入构造函数的参数,name_并且 symbol_都设置好 WTF,然后点击 transact 键进行部署。


部署合同


WTF 我们需要运行 mint() 函数来给自己铸造一些 Token 。点开 Deployed Contract 中的契约 ERC20,在 mint 函数那一栏输入并 100 点击 mint,为自己创造一个这样的代 100 币 WTF。


铸造 Token


利用我们 balanceOf() 函数来查询账户余额。输入当前的账户,可以查看我们的余额 100,成功。


余额查询


总结


在这一天讲,我们学习了以太坊上的 ERC20 标准实现,发行了我们的测试 Token 。2015 年底提出的 ERC20 Token 标准极大地降低了以太坊上发行 Token 的门槛,并开启了 ICO 在投资时,可以仔细阅读项目的 Token 契约,有效避免貔貅,增加投资成功率。


原文链接


律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

您可能还会对下面的文章感兴趣: