header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

Solidity極簡入門|第三十三講:空投合約

閱讀本文需 7 分鐘
本文介紹瞭如何使用solidity寫ERC20代幣空投合約,極大增加空投效率。
原文標題:《 Solidity 極簡入門: 33. 空投合約 》
原文作者: 0xAA  


我最近在重新學 solidity,鞏固一下細節,也寫一個「Solidity 極簡入門」,供小白們使用(編程大佬可以另找教程),每週更新 1-3 講。


所有代碼和教程開源在 github : github.com/AmazingAng/WTFSolidity


在幣圈,最開心的一件事就是領空投,空手條白狼。這一講,我們將學習如何使用使用智能合約空投 ERC20 Token。


空投 Airdrop


空投是幣圈中一種營銷策略,項目方將 Token 免費發放給特定用戶群體。為了拿到空投資格,用戶通常需要完成一些簡單的任務,如測試產品、分享新聞、介紹朋友等。項目方通過空投可以獲得種子用戶,而用戶可以獲得一筆財富,兩全其美。


因為每次接收空頭的用戶很多,項目方不可能一筆一筆的轉賬。利用智能合約批量發放 ERC20 Token ,可以顯著提高空投效率。


空投 Token 合約


Airdrop 空投合約邏輯非常簡單:利用循環,一筆交易將 ERC20 Token 發送給多個地址。合約中包含兩個函數


getSum() 函數:返回 uint 數組的和。   



multiTransferToken() 函數:發送 ERC20 Token 空投,包含三個參數:


_token: Token 合約地址(address 類型)

_addresses:接收空投的用戶地址數組(address[] 類型)

_amounts:空投數量數組,對應_addresses 裡每個地址的數量(uint[] 類型)


該函數有兩個檢查:第一個 require 檢查了_addresses 和_amounts 兩個數組長度是否相等;第二個 require 檢查了空投合約的授權額度大於要空投的 Token 數量總和。



空投實踐


1 部署 ERC20 Token 合約,並給自己 mint 10000 單位 Token 。


部署 ERC20


2 部署 Airdrop 空投合約。


部署 Airdrop


3 利用 ERC20 Token 合約中的 approve() 函數,給 Airdrop 空投合約授權 10000 單位 Token 。


授權


4 執行 Airdrop 合約的 multiTransferToken() 函數進行空投, _token 填 ERC20 Token 地址,_addresses 和_amounts 按照以下填寫



執行空投


5 利用 ERC20 合約的 balanceOf() 函數查詢上面用戶地址的 Token 餘額,成功變為 100 和 200,空投成功!



總結


這一講,我們介紹瞭如何使用 solidity 寫 ERC20 Token 空投合約,極大增加空投效率。我擼空投收穫最大的一次是 ENS 空投,你們呢?


原文鏈接


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交