[英]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.