我必须开发一个NFT造币合同与白名单系统,我们可以设置一个可变数额的薄荷津贴每个地址。
通过在合同中手动设置以下内容很容易实现:
mapping(address => uint) allowancePerAddress但是,由于它是在Ethereum,这个解决方案将不是非常成本效益,因为我们将需要存储几百个条目手动。
是否有另一种方式,例如,通过签名来实现这一点,这样项目和minter都将具有成本效益?
发布于 2022-07-18 08:40:20
签名用于检查消息的完整性,并验证消息的发送方,因此我不确定如何使用签名,主要是因为您需要为每个地址设置一个值,并在合同中跟踪它们。
您可以做的是创建一个常量,这将是默认的允许,当某人创建他们的第一个令牌时,您可以在事务期间更新他们的允许值。
但是,如果您希望为每个地址设置一个自定义值,并且您拥有大量的自定义值,则可以在部署时、构造函数上或创建一个函数来接收Struct {address、want }数组,并在循环中设置每个地址。
https://stackoverflow.com/questions/73017970
复制相似问题