So rufen Sie den Multisend-Vertrag auf

Wenn ich den Vertrag mit dem Code habe

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);
}
}

Wie würde ich es nennen (wie würde ich das Array erstellen, wo muss das Token gespeichert werden)? Wie viele Transaktionen könnte ich gleichzeitig durchführen, bevor es zu Problemen kommt? Ist es unbegrenzt? Könnte ich 10.000 auf einmal erledigen und Zehntausende von Dollar Benzin sparen?

Ich bin bereit, jemanden einzustellen, der dies für mich tut, und ich werde ihn bezahlen!

Vielen Dank!

Antworten (1)

Ich habe Multisender Dapp gebaut: https://rstormsf.github.io/multisender/#/

Quellcode: 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);
}
Würde das Sprit sparen?
@James nein, es spart kein Benzin, es spart dir nur Zeit.