買以太坊 買以太坊
Ctrl+D 買以太坊
ads

KEN:Solidity極簡入門|第三十二講:Token水龍頭_kraken交易所網址

Author:

Time: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出現惡意合約授權釣魚事件 可轉走用戶全部原生資產:3月5日消息,Solana上出現多起授權釣魚事件。攻擊者批量給用戶空投 NFT (圖 1) ,用戶通過空投 NFT 描述內容里的鏈接 (www_officialsolanarares_net) 進入目標網站,連接錢包(圖 2),點擊頁面上的“Mint”,出現批準提示框(圖 3)。注意,此時的批準提示框并沒有什么特別提示,當批準后,該錢包里的所有 SOL 都會被轉走。當點擊“批準”時,用戶會和攻擊者部署的惡意合約交互:3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v

該惡意合約的功能最終就是發起“SOL Transfer”,將用戶的 SOL 幾乎全部轉走。從鏈上信息來看,該釣魚行為已經持續了幾天,中招者在不斷增加。

提醒:1. 惡意合約在用戶批準(Approve)后,可以轉走用戶的原生資產(這里是 SOL),這點在以太坊上是不可能的,以太坊的授權釣魚釣不走以太坊的原生資產(ETH),但可以釣走其上的 Token。于是這里就存在“常識違背”現象,導致用戶容易掉以輕心。

2. Solana 最知名的錢包 Phantom 在“所見即所簽”安全機制上存在缺陷(其他錢包沒測試),沒有給用戶完備的風險提醒。這非常容易造成安全盲區,導致用戶丟幣。(慢霧區)[2022/3/5 13:39:42]

這里,我們實現一個簡版的 ERC20 水龍頭,邏輯非常簡單:我們將一些 ERC20 Token轉到水龍頭合約里,用戶可以通過合約的 requestToken() 函數來領取 100 單位的Token,每個地址只能領一次。

DeFi協議Solidly總鎖倉量持續下降至13.7億美元:3 月 4 日,據 Defi Llama 數據顯示,Andre Cronje 主導開發的 DeFi 協議 Solidly 總鎖倉量持續下降至 13.7 億美元,較此前總鎖倉量峰值 23 億美元已下降 40.4%。

此前報道,Andre Cronje 領英頁面顯示,其已從 Fantom 基金會和 yearn.finance 離職。[2022/3/5 13:38:31]

我們在水龍頭合約中定義 3 個狀態變量

amountAllowed 設定每次能領取Token數量(默認為 100。不是一百枚,因為Token有小數位數)。

tokenContract 記錄發放的 ERC20 Token合約地址。

基于Solana的NFT市場Formfunction正式上線Solana主網:1月12日,Formfunction發推稱,基于Solana的創作者友好型NFT市場Formfunction宣布正式上線主網。[2022/1/12 8:43:38]

requestedAddress 記錄領取過Token的地址。  

水龍頭合約中定義了 1 個 SendToken 事件,記錄了每次領取Token的地址和數量,在 requestTokens() 函數被調用時釋放。

動態 | OneWattSolar想借助區塊鏈技術解決非洲能源問題:根據世界銀行的數據,大約41%的尼日利亞人無法獲得電力,位于拉各斯的創業公司OneWattSolar希望借助區塊鏈技術解決這個問題,通過加密貨幣廉價購買清潔能源。清潔能源裝備提出了一種方法,允許成千上萬的非洲人使用區塊鏈代幣支付太陽能,而無需支付太陽能系統基礎設施,這是通過財政支持者提供資金的[2018/10/27]

合約中只有兩個函數:

構造函數:初始化 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星球日報

騰訊研究院

Tags:TOKETOKENKENTOKNFV TokenGulag Tokenkraken交易所網址Gladius Token

火幣APP下載
CERT:盤點:11月Web3.0重大黑客攻擊數量略有下降 但平均損失上升_BIT

2022年11月,CertiK總共記錄了36起重大事件,雖與上月相比略有下降,但每次攻擊的損失明顯增加,11月重大事件的平均損失約為1655.1萬美元,而10月份的平均損失約為726.7萬美元.

1900/1/1 0:00:00
SUTER:Su Zhu最新長推:CeFi的崩壞 始于2020年_SUT

 11 月 22 日,彭博社發布了一篇三箭資本聯合創始人 Su Zhu 的最新專訪。在面對記者的提問時,Su Zhu 表示:“一些行業內的領頭人稱 FTX的崩盤使行業倒退了&.

1900/1/1 0:00:00
AND:盤點FIFA在世界杯推出的四款Web3足球游戲_fifa幣是什么意思

作者:袁滿  來源:ForeChain北京時間11月21日,2022年卡塔爾世界杯正式開幕.

1900/1/1 0:00:00
LAYER:共識層反向擴容新敘事 如何“借用”ETH的安全性?_WINLAMBO

作者:David Shuttleworth EigenLayer 是一種建立在以太坊之上的協議,它引入了關于加密經濟安全的一種名為重新質押(restaking)的新原語.

1900/1/1 0:00:00
FTX:FTX崩潰后 參議院委員會推動CFTC對Crypto的監管_ftt幣價格

在2022年12月1日參議院農業委員會的一次聽證會上,呼吁國會迅速行動,通過CFTC的法律,以防止FTX崩潰后資金的進一步損失.

1900/1/1 0:00:00
ASI:隱私計算公鏈的可信化未來_Basis Dollar Share

By Kyle, Investment Manager@Bing Ventures用戶享受到了大數據提供的個性化服務,為生活帶來了極大的便利.

1900/1/1 0:00:00
ads