木星链 木星链
Ctrl+D收藏木星链

KEN:Solidity极简入门|第三十二讲:Token水龙头

作者:

时间:1900/1/1 0:00:00

我最近在重新学 solidity,巩固一下细节,也写一个「Solidity 极简入门」,供小白们使用(编程大佬可以另找教程),每周更新 1-3 讲。

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

我们在第 31 讲学习了 ERC20 Token标准。这一讲,我们将学习 ERC20 水龙头的智能合约。在这个合约中,用户可以领到免费的 ERC20 Token。

当人渴的时候,就要去水龙头接水;当人想要免费Token的时候,就要去Token水龙头领。Token水龙头就是让用户免费领Token的网站/应用。

最早的Token水龙头是比特币(BTC)水龙头:现在 BTC 一枚要$30,000,但是在 2010 年,BTC 的价格只有不到$0.1,并且持有人很少。为了扩大影响力,比特币社区的 Gavin Andresen 开发了 BTC 水龙头,让别人可以免费领 BTC。撸羊毛大家都喜欢,当时就有很多人去撸,一部分变为了 BTC 的信徒。BTC 水龙头一共送出了超过 19,700 枚 BTC,现在价值约 6 亿美元!

Solana再次遭遇网络事故,导致性能下降:金色财经报道,Solana在1月4日凌晨2点(UTC+8)再次瘫痪。官方Telegram社区的用户表示,攻击者涉嫌利用垃圾邮件进行DDoS攻击。Solana在1月4日中断了4个小时,然而,Solana.Status显示网络没有出现问题。昨天Reddit的r/CryptoCurrency的截图显示DDoS攻击导和网络宕机前SOL交易失败的问题。Coinbase还在过去24小时内提供了一份关于Solana网络“性能下降”导致该加密交易所SOL提款失败的事件报告。(cointelegraphcn)[2022/1/5 8:26:43]

这里,我们实现一个简版的 ERC20 水龙头,逻辑非常简单:我们将一些 ERC20 Token转到水龙头合约里,用户可以通过合约的 requestToken() 函数来领取 100 单位的Token,每个地址只能领一次。

DeFi Technologies将推出Solana节点以参与网络治理和质押:11月15日消息,DeFi Technologies宣布将部署Solana节点作为其DeFi基础设施和治理业务线的一部分。此外,公司计划通过其全资子公司Valor Inc.参与质押,从而获得质押奖励。(PR News Wire)[2021/11/15 6:53:28]

我们在水龙头合约中定义 3 个状态变量

amountAllowed 设定每次能领取Token数量(默认为 100。不是一百枚,因为Token有小数位数)。

tokenContract 记录发放的 ERC20 Token合约地址。

requestedAddress 记录领取过Token的地址。  

SOL跌破180美元关口 日内跌幅为10.66%:火币全球站数据显示,SOL短线下跌,跌破180美元关口,现报179.8355美元,日内跌幅达到10.66%,行情波动较大,请做好风险控制。[2021/9/10 23:15:56]

水龙头合约中定义了 1 个 SendToken 事件,记录了每次领取Token的地址和数量,在 requestTokens() 函数被调用时释放。

合约中只有两个函数:

VaultAge Solutions首席执行官被指控盗窃数百万美元的加密货币:AllAfrica的一份报告指出,南非加密货币投资公司VaultAge Solutions首席执行官Willie Breedt被指控盗窃数百万美元的加密货币。据称,Breedt已逃离南非前往莫桑比克。自2019年12月以来,他从未与投资者进行过沟通。目前,该国刑事调查部门正在调查他的下落。(Cryptoglobe)[2020/6/1]

构造函数:初始化 tokenContract 状态变量,确定发放的 ERC20 Token地址。  

requestTokens() 函数,用户调用它可以领取 ERC20 Token。

1 首先,部署 ERC20 Token合约,并给自己 mint 10000 单位Token。

部署`ERC20`

2 部署 Faucet 水龙头合约,初始化的参数填上面 ERC20 Token的合约地址。

部署水龙头合约

3 利用 ERC20 Token合约的 trasnfer() 函数,将 10000 单位Token转账到 Faucet 合约地址。

给水龙头转账

4 换一个新账户,调用 Faucet 合约 requestTokens() 函数,领取Token。可以在终端看到 SendToken 事件被释放。

5 在 ERC20 Token合约上利用 balanceOf 查询账户余额,可以看到余额变为 100,领取成功!

这一讲,我们介绍了Token水龙头的历史和 ERC20 水龙头合约。大家觉得下一个 BTC 水龙头会在哪里?

原文标题:《Solidity 极简入门: 32. Token水龙头》

原文作者: 0xAA   

来源:区块律动

区块律动BlockBeats

媒体专栏

阅读更多

金色早8点

金色财经

去中心化金融社区

CertiK中文社区

虎嗅科技

念青

深潮TechFlow

Odaily星球日报

腾讯研究院

标签:KENTOKTOKENTOKERoboFi TokenConi TokenCipher Core TokenGameStop tokenized stock FTX

SHIB最新价格热门资讯
NFT:最高检发新文:NFT法律属性定调哪般?

时至今日,数字藏品或者说NFT的热潮几乎已经过去,但是对于数字藏品的法律定性,在此时可以说才初有结论,相关的判决也因此在今年增加不少。在大浪褪去之后,理论的真金方才在沙地里闪烁.

1900/1/1 0:00:00
WEB:Web3 迟早也是印度人的?

撰文:0xmin最近,印度人成为了全球舞台上的明星。继印度人占领硅谷之后,最近,他们又接管了英国。42 岁的苏纳克成为了英国首位印度裔首相,印裔精英不断出圈.

1900/1/1 0:00:00
区块链:金色电音节深圳站5.26启动 燃动鹏城逐浪Web3

金色电音节2023深圳站正式开启,本次电音节是由金色财经主办,LUCKY BIRD总冠名,GETAVERSE·中文社区联合主办.

1900/1/1 0:00:00
STS:一文探讨 Crypto 游戏的演变轨迹

关于区块链游戏,Onchain 和 Offchain 的选择问题一度困扰着我,回顾过去几个 Crypto 周期.

1900/1/1 0:00:00
加密货币:金色早报 | 国际货币基金组织呼吁加强对非洲加密市场监管

▌国际货币基金组织呼吁加强对非洲加密市场监管11月28日消息,国际货币基金组织(IMF)呼吁加强对非洲加密货币市场的监管,据悉,非洲加密货币市场目前是世界上增长最快的市场之一.

1900/1/1 0:00:00
WEB:Web3 的五大趋势

编者按:虽然 Web3 还没有大规模普及,但这个概念已经流传很久了。本文提出了 5 个 Web3 的趋势,希望能帮助大家更了解 Web3。本文来自编译,希望对您有所启发.

1900/1/1 0:00:00