Если у меня есть контракт с кодом
contract Airdropper is Ownable {
function multisend(address _tokenAddr, address[] dests, uint256[] values)
onlyOwner
returns (uint256) {
uint256 i = 0;
while (i < dests.length) {
ERC20(_tokenAddr).transfer(dests[i], values[i]);
i += 1;
}
return(i);
}
}
Как бы я это назвал (как бы я создал массив, где должен храниться токен)? Кроме того, сколько транзакций я могу выполнить одновременно, прежде чем это вызовет проблемы? Это без ограничений? Могу ли я сделать 10 000 сразу, сэкономив десятки тысяч долларов на бензине?
Я готов нанять кого-нибудь, чтобы сделать это для меня, и я буду платить им!
Спасибо!
Я создал Multisender Dapp: https://rstormsf.github.io/multisender/#/
Исходный код: https://github.com/rstormsf/multisender/blob/master/contracts/contracts/multisender/UpgradebleStormSender.sol
function multisendToken(address token, address[] _contributors, uint256[] _balances) public hasFee payable {
uint256 total = 0;
require(_contributors.length <= arrayLimit());
ERC20 erc20token = ERC20(token);
uint8 i = 0;
for (i; i < _contributors.length; i++) {
erc20token.transferFrom(msg.sender, _contributors[i], _balances[i]);
total += _balances[i];
}
setTxCount(msg.sender, txCount(msg.sender).add(1));
Multisended(total, token);
}
Джеймс
рстормсф