首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只允许智能合同erc-721空投从一个地址

如何只允许智能合同erc-721空投从一个地址
EN

Stack Overflow用户
提问于 2021-07-09 16:43:12
回答 1查看 758关注 0票数 0

这是我的testnet合同:https://rinkeby.etherscan.io/address/0xa63a032185452a2ab7da24a26ca9342e78e799a7

我所需要做的就是了解如何做才能做到50个空投,但只能从我的钱包地址。

(只需确保没有其他人能够在以太扫描时去“写合同”并发送空投)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 19:59:03

您可以添加一个条件来验证msg.sender是您的地址。我看到您已经在使用ownable模式(可能是OpenZeppelin实现),所以您可以使用它。

在部署契约时,构造函数将您的地址分配给_owner变量。还有一个onlyOwner()修饰符,如果事务没有从_owner地址发送,则抛出异常(有效地恢复事务)。

因此,您可以更新airdrop()函数以使用onlyOwner()修饰符。

代码语言:javascript
复制
function airdrop(bytes memory code) public onlyOwner() {

然后,您将只能从部署令牌的地址执行airdrop()函数(或者通过transferOwnership()函数成为一个新所有者)。

如果您从任何其他地址执行该函数,它将恢复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68320225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档