Solidity Smartcontract白名单最多可同时列出1000个钱包



你好

我想每个月左右把1000个钱包列入白名单。我可以用smartcontarct一个接一个地把钱包添加到白名单中,但这需要很多时间。有更快的路吗?

mapping(address => bool) public addresses;
function whitelistAddresses(address[] _addresses) onlyOwner {
require(!whitelistInitialized);
for (uint256 i = 0; i < _addresses.length; i++) {
addresses[_addresses[i]] = true;
}

比如,准备这种数据每月添加白名单会更容易,但我该怎么做呢?

[{
"address": "0x123",
"state": true
},
{
"address: "0x234",
"state": false
}]

非常感谢!

我没有足够的声誉发表评论,所以我发布了这个"回答";,我认为一个解决方案可以是一个merkle树,你可以生成一个地址的merkle树形,由你来决定你想把它存储在链上还是链下,这里有一个例子https://github.com/miguelmota/merkletreejs-solidity

最新更新