这是我的testnet合同:https://rinkeby.etherscan.io/address/0xa63a032185452a2ab7da24a26ca9342e78e799a7
我所需要做的就是了解如何做才能做到50个空投,但只能从我的钱包地址。
(只需确保没有其他人能够在以太扫描时去“写合同”并发送空投)
发布于 2021-07-09 19:59:03
您可以添加一个条件来验证msg.sender是您的地址。我看到您已经在使用ownable模式(可能是OpenZeppelin实现),所以您可以使用它。
在部署契约时,构造函数将您的地址分配给_owner变量。还有一个onlyOwner()修饰符,如果事务没有从_owner地址发送,则抛出异常(有效地恢复事务)。
因此,您可以更新airdrop()函数以使用onlyOwner()修饰符。
function airdrop(bytes memory code) public onlyOwner() {然后,您将只能从部署令牌的地址执行airdrop()函数(或者通过transferOwnership()函数成为一个新所有者)。
如果您从任何其他地址执行该函数,它将恢复。
https://stackoverflow.com/questions/68320225
复制相似问题