Wie kann ich erc 20-Token manuell in großen Mengen übertragen?

Kann mir jemand dabei helfen, Token manuell in großen Mengen zu übertragen? Da ich Token an mehrere ETH-Adressen übertragen muss, aber keine Zeit damit verschwenden kann, sie einzeln zu übertragen.

tun Sie es im Vertragskonstrukteur
@kryproniq kannst du mir bitte sagen, wie man das benutzt? Was muss ich tun, nachdem ich dies auf remix.ethereum.org geschrieben habe? Kann ich Überweisungen mit MetaMask durchführen? Wo muss ich Adressen schreiben, um sie zu senden?
Damit ist die Frage nicht beantwortet. Sobald Sie über einen ausreichenden Ruf verfügen , können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten an, die keine Klärung durch den Fragesteller erfordern . - Aus Bewertung
hast du es mal mit multisender.app versucht ?

Antworten (3)

Mit dem folgenden Vertragscode können Sie Token an mehrere Eth-Adressen senden. Funktioniert am besten mit Parität.

pragma solidity ^0.4.16;

contract Ownable {

  address public owner;

  function Ownable() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
  }
}

interface Token {
  function transfer(address _to, uint256 _value) public returns (bool);
  function balanceOf(address _owner) constant public returns (uint256 balance);
}

contract AirDrop is Ownable {

  Token token;

  event TransferredToken(address indexed to, uint256 value);
  event FailedTransfer(address indexed to, uint256 value);

  modifier whenDropIsActive() {
    assert(isActive());

    _;
  }

  function AirDrop () public {
      address _tokenAddr = 0x0F513fFb4926ff82D7F60A05069047AcA295C413; //here pass address of your token
      token = Token(_tokenAddr);
  }

  function isActive() public constant returns (bool) {
    return (
        tokensAvailable() > 0 // Tokens must be available to send
    );
  }
  //below function can be used when you want to send every recipeint with different number of tokens
  function sendTokens(address[] dests, uint256[] values) whenDropIsActive onlyOwner external {
    uint256 i = 0;
    while (i < dests.length) {
        uint256 toSend = values[i] * 10**18;
        sendInternally(dests[i] , toSend, values[i]);
        i++;
    }
  }

  // this function can be used when you want to send same number of tokens to all the recipients
  function sendTokensSingleValue(address[] dests, uint256 value) whenDropIsActive onlyOwner external {
    uint256 i = 0;
    uint256 toSend = value * 10**18;
    while (i < dests.length) {
        sendInternally(dests[i] , toSend, value);
        i++;
    }
  }  

  function sendInternally(address recipient, uint256 tokensToSend, uint256 valueToPresent) internal {
    if(recipient == address(0)) return;

    if(tokensAvailable() >= tokensToSend) {
      token.transfer(recipient, tokensToSend);
      TransferredToken(recipient, valueToPresent);
    } else {
      FailedTransfer(recipient, valueToPresent); 
    }
  }   


  function tokensAvailable() public constant returns (uint256) {
    return token.balanceOf(this);
  }

  function destroy() public onlyOwner {
    uint256 balance = tokensAvailable();
    require (balance > 0);
    token.transfer(owner, balance);
    selfdestruct(owner);
  }
}

https://github.com/crowdstartcapital/XSC/blob/master/XSC_AirDrop_public_functions.sol

Haben Sie die Kontrolle über den Vertrag selbst (bevor er bereitgestellt wird)? Wenn ja, können Sie einfach eine Funktion schreiben, die das für Sie erledigt.

Wenn nicht und der Vertrag keine Bulk-Funktionalität unterstützt (was wahrscheinlich der Fall ist), haben Sie nicht viele Möglichkeiten. Sie müssen nur die vom Vertrag bereitgestellte Funktionalität verwenden, und dies ist wahrscheinlich nur die transferFunktion. Sie müssen es also irgendwie per Skript aufrufen. Oder schreiben Sie vielleicht Ihren eigenen Vertrag, der die Token-Transfers ausführt.

https://gwei.network/bulkTransfer

Sie können diese App verwenden

keine Gebühren hha