Transaktionen aufgrund von Tankmangel auf Ethereum Mist Wallet nicht möglich?

Was sollte man tun, um das Problem „Daten können nicht ausgeführt werden, daher wird das gesamte bereitgestellte Gas verbraucht“ zu beheben. Transaktionen ausführen?

Oder wie man die Installation von Mist Wallet zurücksetzt, da ich testnet zu Testzwecken verwende.

Rufen Sie einen Vertrag an? Wenn Sie mehrere Konten haben, versuchen Sie möglicherweise nur, einen Vertrag mit einem unbekannten Konto abzuschließen.
@o0ragman0o Ich habe drei Konten erstellt und Guthaben auf jedes Konto übertragen. Nachdem ich dann das Token-Beispiel von ethereum.org zum Erstellen von Token verwendet hatte, verwendete ich dann das Crowdsale-Beispiel mit dem zuvor erstellten Token. Wenn ich jetzt versuche, einige Ether an das Vertragskonto zu senden, bekomme ich derzeit Probleme, früher hatte ich Probleme mit der checkGoalReached-Methode des Crowdsale-Vertrags.

Antworten (2)

Der Mist versucht zu erkennen, ob die von Ihnen aufgerufene Vertragsmethode erfolgreich ausgeführt wird. "Daten können nicht ausgeführt werden, also wird das gesamte bereitgestellte Gas verbraucht." Fehler kann bedeuten, dass die aufgerufene Methode nicht erfolgreich ist. Möglicherweise haben Sie die Methode checkGoalReached() vor Ablauf der Frist aufgerufen:

modifier afterDeadline() { if (now >= deadline) _ }

/* checks if the goal or time limit has been reached and ends the campaign */
function checkGoalReached() afterDeadline {
    ...

Und möglicherweise war der Crowdsale bereits geschlossen, als Sie versuchten, Ether an den Vertrag zu senden.

/* The function without name is the default function that is called whenever anyone sends funds to a contract */
function () {
    if (crowdsaleClosed) throw;
    ...
Ich stehe vor diesem Problem, selbst wenn ich versuche, Ether von einem der von mir erstellten Konten an das Vertragskonto zu senden. Das bedeutet also, dass für den Crowdsale-Vertrag keine Geldgeber aufgeführt werden können. :) Ich denke also, das wird nicht helfen.

Die Daten können nicht ausgeführt werden, daher wird das gesamte bereitgestellte Gas verbraucht. Nachricht wird von der Wallet DApp angezeigt, wenn sie die Gaskosten der Transaktion, die Sie senden werden, nicht abschätzen kann, sie bezieht sich nicht auf eine Transaktion, die bereits gesendet wurde und tatsächlich fehlgeschlagen ist, weil kein Benzin mehr vorhanden ist.

UI-Warnung: Die Daten können nicht ausgeführt werden, daher wird das gesamte bereitgestellte Gas verbraucht.

Die Benutzeroberfläche ist darüber nicht wirklich klar, aber Sie können auf das Gasfeld klicken (Gas == 0 in blauer Farbe, im Bild oben hervorgehoben) und den Wert des Gases eingeben, das Sie mit der Transaktion senden möchten. Bei einem Gasfeld <= 0 wird die UI-Ausnahme „Intrinsic gas too low“ ausgelöst.

Zum Zurücksetzen von Mist: Wenn Sie aus irgendeinem Grund wirklich eine neue Mist-Installation wünschen, löschen Sie einfach den Mist-Datenordner (in Windows %appdata%/Mist). Aber normalerweise müssen Sie das nicht tun. Sie können Konto- und Vertragsreferenzen einfach entfernen und mit demselben Netzwerk immer wieder neu testen.

Wenn Sie eine neue Ethereum-Installation wünschen, löschen Sie einfach den Ethereum-Standarddatenordner (in Windows %appdata%/Ethereum). Denken Sie daran, Ihren Keystore - Ordner zu sichern, wenn Sie das Wallet auch mit dem echten Netzwerk verwendet haben.

Über das wirkliche Zurücksetzen des Testnetzes: Wenn Sie von Morden (networkid==2) sprechen, dem standardmäßigen öffentlichen Testnetz , das von Mist verwendet wird, können Sie es nicht zurücksetzen , da es tatsächlich öffentlich ist.

Sie können jedoch Ihr eigenes Testnetzwerk mit einer anderen Netzwerk-ID starten und Mist stattdessen eine Verbindung zu diesem Netzwerk herstellen lassen. Dies ist meine bevorzugte Methode, weil es wirklich viel schneller ist, ich der Solo-Miner bin und die Blockchain zurücksetzen kann, indem ich einfach den Datenordner entferne. Mittagstisch vor Mist mit so etwas:

geth --networkid 999 --datadir [choose your data folder] --nodiscover --maxpeers "0" --mine --minerthreads "1" --etherbase "[your preferred account]" --extradata "Am I more of mine?" console

Starten Sie dann Mist: Es wird einen bereits laufenden Geth-Knoten finden und diesen verwenden, um zu arbeiten. Es zeigt, dass Sie ein privates Netz verwenden, wie folgt:

Privates Netz mit Mist

Nebenbemerkung: Technisch gesehen können Sie auch ein persönliches Morden-Testnetz mit derselben Netzwerk-ID==2 und einem anderen Genesis-Block verwenden, aber das bedeutet, dass alle anderen Knoten im Netz versuchen werden, mit Ihnen zu kommunizieren, weil sie glauben, dass Sie dieselbe Blockchain betreiben. Am Ende werden sich die beiden Ketten nicht wirklich stören, aber diese Art der Konfiguration ist wirklich verwirrend und eine nutzlose Verschwendung von Ressourcen.

Nein, ich wollte nicht das Testnet oder das öffentliche Netzwerk mit Netzwerk-ID = 2 zurücksetzen, ich habe bereits den Ordner %appdata% gelöscht, aber auch das hat das Problem nicht gelöst. Versuchen Sie, den Wert des Gases zu ändern, wenn es funktioniert, Sie erhalten das Kopfgeld. :)
versucht, das Gaslimit zu ändern, aber auch das hat nicht funktioniert, die Transaktion ist fehlgeschlagen. Alles andere, was Sie herausfinden können, wäre sehr nützlich, und trotzdem danke für die neuen Informationen, die mir nicht bekannt waren.