簡體   English   中英

如何只允許智能合約 erc-721 空投來自一個地址

[英]How to only allow smart contract erc-721 airdrops to be from one address

這是我的測試網合約: https ://rinkeby.etherscan.io/address/0xa63a032185452a2ab7da24a26ca9342e78e799a7

我所需要的只是了解如何才能完成 50 次空投,但僅限於我的錢包地址。

(只需要確保沒有其他人可以在etherscan上“寫合同”並發送空投)

您可以添加一個條件來驗證msg.sender是您的地址。 我看到您已經在使用ownable模式(可能是 OpenZeppelin 實現),因此您可以使用它。

當您部署合約時,構造函數將您的地址分配給_owner變量。 如果交易不是從_owner地址發送的,還有一個onlyOwner()修飾符會拋出異常(有效地恢復交易)。

所以,你可以更新您的airdrop()函數使用onlyOwner()修改。

function airdrop(bytes memory code) public onlyOwner() {

然后,您將只能從部署令牌的地址(或通過transferOwnership()函數成為新所有者airdrop()執行airdrop()函數。

如果您從任何其他地址執行該函數,它將恢復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM