我有一个市场智能合同,用户可以从那里购买NFT,但是这些用户在能够购买NFT之前需要经过验证。
验证是通过第三方服务从链外完成的,每个用户的验证状态“验证/非验证”存储在数据库中。
我目前的实现似乎不是最优的,而且可能不够安全。
有一个服务可以检查用户验证的状态,并通过ethers.js将地址传递给市场智能契约,后者将地址附加到角色映射。
我的方法不安全吗?是否有更好的方法来实现这一点?
发布于 2022-08-06 23:22:29
我建议使用离链签名,用钱包签名,你的市场控制,然后验证在链上。
我刚刚给出了一个类似的答案:https://stackoverflow.com/a/73263861/17826263
基本上:您可以在后台使用web3签名,然后在链上验证签名。我建议实施一种使链上的签名无效的方法。
https://ethereum.stackexchange.com/questions/133146
复制相似问题