Si tengo el contrato con el código
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);
}
}
¿Cómo lo llamaría (cómo crearía la matriz, dónde se debe almacenar el token)? Además, ¿cuántas transacciones podría hacer a la vez antes de que cause problemas? ¿Es ilimitado? ¿Podría hacer 10.000 a la vez ahorrando decenas de miles de dólares en gasolina?
¡Estoy dispuesto a contratar a alguien para que haga esto por mí y le pagaré!
¡Gracias!
He creado Multisender Dapp: https://rstormsf.github.io/multisender/#/
Código fuente: 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);
}
Jaime
tormentasf