Airdrop von ERC20-Token an mehrere Adressen in einer einzigen Transaktion


fertig, falsche frage. besser diese nutzen

contract ERC20 {
  function transfer(address _recipient, uint256 _value) public returns (bool success);
}

contract Airdrop {
  function drop(ERC20 token, address[] recipients, uint256[] values) public {
    for (uint256 i = 0; i < recipients.length; i++) {
      token.transfer(recipients[i], values[i]);
    }
  }
}
Ich bemerke, dass die Dezimalstellen Ihres Straddle-Tokens 1 und nicht die üblichen 18 sind, und dass in diesem Originalcode (nicht dem, den Sie gepostet haben) innerhalb der Funktion sendTokens() die Zeile mit der Aufschrift "uint256 toSend = values[i] *10^18;" Früher war dort *10 ^ 18, also ist Ihre möglicherweise um den Faktor 10 daneben? Es ist ein langer Schuss, aber könnte möglicherweise der Grund für Ihren Fehler sein. Ich versuche gerade, diesen Code zu verwenden, um ein Token aus der Luft zu werfen, und verstehe nicht wirklich, was ich tue. Könnte jemand genau erklären, wie man den Smart Contract nach seiner Bereitstellung anruft/verwendet, um tatsächlich die ["A", "B", "C
Sie sollen antworten, um keine weiteren Fragen zu stellen
Wenn Sie eine Frage haben, ist es besser, eine neue zu erstellen, Fragen in Kommentaren werden nicht viel Aufmerksamkeit erhalten.
Wenn Sie eine neue Frage haben, stellen Sie diese bitte, indem Sie auf die Schaltfläche „Frage stellen“ klicken . Fügen Sie einen Link zu dieser Frage hinzu, wenn dies hilfreich ist, um den Kontext bereitzustellen. - Aus Bewertung

Antworten (1)

Stellen Sie sicher, dass die Vertragsadresse als 0x93136f0d37f8f6830f61847edbab794b81d99dbcund die Token-Adresse als 0x14fd8dd229ba04881bfd443c6216d84fe19e1edf(abgeleitet von den von Ihnen angegebenen Links) angegeben sind, und überprüfen Sie sie erneut.

Bitte versuchen Sie es mit der Token-Adresse, ich verliere jetzt die Hoffnung.
Bin nicht der Besitzer, ich werde es nicht tun können. Stellen Sie den Vertrag erneut mit der richtigen Tokenadresse bereit. Die Adresse, die Sie im Vertrag verwendet haben, 0xe34c1960fbf05d4e08c19248491dfbcdbeab6e44scheint keine Token-Adresse zu sein. Überprüfen Sie dies.
Probieren Sie es jetzt aus, ich habe einen Smart Contract auf Ropsten und den Airdrop-Vertrag auch auf dem Ropsten-Netzwerk bereitgestellt, aber die Dinge funktionieren nicht :(
Einige Fragen, Sie haben den Token aus demselben Vertrag erstellt? und die Token-Adresse richtig verwendet? Geben Sie mir einen wesentlichen Link zu Ihrem Code, damit ich ihn erneut für Sie überprüfen kann. address _tokenAddr =0xe34c1960fbf05d4e08c19248491dfbcdbeab6e44;diese Zeile, um hier die Adresse des Tokens zu haben
Ich teste alles auf Testnet, also habe ich jetzt nicht das Wesentliche.
Machen Sie eine Pause und versuchen Sie es später erneut, Sie scheinen jetzt verwirrt zu sein. Halten Sie diese Checkliste bereit, wenn Sie dies später überprüfen. 1. Sie sollten diesen Vertrag von derselben ERC20-Adresse erstellen, die das Token erstellt hat. 2. Das Token sollte die Übertragungsmethode haben, die es ermöglichen würde, gesendet zu werden. 3. Stellen Sie in diesem Airdrop-Vertrag sicher, dass Sie die Adresse des Tokens verwendet haben. 4. Lassen Sie einige Token von Ihrer Token-Erstelleradresse an diesen Vertrag senden.
Hey, konntest du es abschließen?
Nicht mit dem oben angegebenen Code, aber ich konnte dies tun: pastebin.com/hjKmsMp8 Ich bin immer noch überrascht, warum der obige Code bei mir nicht funktioniert hat.
Schön, dass etwas geklappt hat. Möglicherweise war das erstellte Token nicht im gleichen Stil.
Sie können die Dapp verwenden: rstormsf.github.io/multisender/#