我正在制作一个DApp,其中用户需要在稳健智能契约中注册以执行一些操作,例如:
function publish (string memory _itemURI) userOnly public {
// Publish item
}其中userOnly修饰符如下所示
modifier userOnly {
require(users[msg.sender] == true, "User only");
_;
}注册是通过以下功能完成的:
function register(address newUser) public {
users[newUser] = true;
emit Register(newUser);
}问题是:任何人都可以调用寄存器函数在那里注册自己的地址,然后能够调用userOnly函数。是否只有在我们的DApp注册过程结束时才能调用注册函数,就像在用户与Metamask签署我们的服务条款之后?
发布于 2022-03-13 17:30:17
您的dapp需要控制一个注册用户的钱包(难)。注册需要一个"dappOnly“修饰符,或者您需要在源代码上添加一个注释,以公开TOS(更容易)。
https://ethereum.stackexchange.com/questions/123712
复制相似问题