月亮链 月亮链
Ctrl+D收藏月亮链
首页 > XMR > 正文

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

作者:

时间: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 亿美元!

DMG Blockchain Solutions 6月产出53.2枚比特币:金色财经报道,比特币矿企DMG Blockchain Solutions公布6月初步挖矿结果,以0.71EH/s的真实哈希率产出53.2枚比特币。[2023/7/4 22:17:17]

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

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

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

FTX将暂停Arbitrum、SOL和BSC上的ETH存款和取款:9月5日消息,FTX 今日宣布,为准备即将到来的以太坊合并,FTX 将在以下时间线暂停 Arbitrum One、Solana 和 Binance Smart Chain 区块链上的 ETH 存取款,并在合并完成且网络稳定之前重新开放存取款:Arbitrum One ETH:2022年9月7日00:00UTC;Solana(Wormhole)ETH:2022年9月15日00:00UTC;BSC ETH:2022年9月15日00:00UTC。[2022/9/5 13:09:21]

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

requestedAddress 记录领取过Token的地址。  

FTX Digital Markets宣布与Solidus Labs合作为FTX提供风险监控服务:5月4日消息,FTX 子公司 FTX Digital Markets 宣布与 Solidus Labs 达成合作,FTX 将部署 Solidus 开发的 HALO 平台,为数字资产提供风险监控、欺诈预防和合规服务。

FTX Digital Markets 联合首席执行官Ryan Salame表示,FTX Digital Markets 一直致力于为用户提供业界领先的产品和服务,同时促进全面透明,遵守传统金融中的常见标准。[2022/5/4 2:50:00]

动态 | SatoshiPay将为Stellar网络推出移动端Solar钱包:据AMBCrypto报道,SatoshiPay一直在与Stellar网络密切合作,并为其设计微支付应用程序。今年早些时候,这家微支付解决方案公司推出了一款名为Solar的桌面钱包,该公司现计划将其分布式账本技术扩展至移动端。5月17日,SatoshiPay在推特上确认,将在苹果和谷歌Play应用商店推出移动版的Solar钱包。[2019/5/18]

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

合约中只有两个函数:

构造函数:初始化 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星球日报

腾讯研究院

标签:TOKTOKENTOKEKENROMTokenLimeWire Tokenimtoken官网apppMoCo Token

XMR热门资讯
FTX:FTX曾有机会绝境翻盘?一文速览SBF的采访回应_sbf币圈流水

采访:Tiffany Fong编译:Frank,Foresight News"在我申请破产 8 分钟后,流动性又增加了 40 亿美元.

1900/1/1 0:00:00
CRYP:从交易所发展史 窥探区块链游戏的未来演变路径_CRY

原文:《一文探讨 Crypto 游戏的演变轨迹》撰文:隔夜的粥关于区块链游戏,Onchain 和 Offchain 的选择问题一度困扰着我,回顾过去几个 Crypto 周期.

1900/1/1 0:00:00
FTX:《华盛顿邮报》:在FTX崩盘 SBF兄弟曾为预防大流行病倾注千万资金_lbank怎么提现人民币

Sam Bankman-Fried在今年的国会听证会后。根据《华盛顿邮报》的分析,自2021年10月以来,他和他兄弟Gabe、他们的人脉网已至少投入7000万美元,用于防范下一次大流行疾病.

1900/1/1 0:00:00
区块链:模块化将成为跨链的终局?_CHA

无论是资产跨链还是信息/数据跨链,目前市场上已有太多的跨链桥及各类跨链协议,据 chainspot,目前市场上约有 114 个跨链桥及 130 余个网络,赛道拥挤.

1900/1/1 0:00:00
比特币:比特币钱包地址格式有哪几种?哪种可以节省手续费?_omisego

在加密世界里,钱包地址就像 “银行卡账号”、“收件地址”一样重要,任何操作都离不开它,随着Ordinals 协议的诞生,推动了比特币基于隔离见证、Taproot升级的采用.

1900/1/1 0:00:00
稳定币:稳定币兑现承诺:颠覆银行_usdt币交易违法吗香港

文章作者:STEVEN KELLY 文章编译:Block unicorn稳定币也可能遭遇银行危机由Circle发行的USD Coin(USDC)长久以来一直是稳定币中的 “ 好人 ”—.

1900/1/1 0:00:00