【发布时间】:2021-04-29 18:42:01
【问题描述】:
我有一个需要向很多帐户发送令牌的功能。 我知道对商店的写操作非常昂贵。 我读过在存储计算时最好在内存变量上执行,然后将此内存变量设置到存储中,然后将写入操作保存在存储上。
所以我想做的是这样的
mapping (address => uint256) private _balances;
function addToBalance(address[] memory accounts,uint[] memory amounts) public{
mapping (address => uint256) memory balances = _balances;
for(uint i=0;i<accounts.length;i++){
balances[accounts[i]]+=amounts[i];
}
_balances = balances;
}
_balances 映射可以变得非常大。那么它真的是降低成本的更好方法吗?
【问题讨论】: