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