Ist es möglich, eine Ethereum-Wallet zu leeren?

Wenn Sie eine Transaktion senden, geben Sie einen Gaspreis und ein Gaslimit an. Wenn es nicht das gesamte Gaslimit verbraucht, erhalten Sie einen Teil des Geldes zurück. Es scheint also unmöglich zu sein, im Voraus zu wissen, wie hoch der gesamte verbrauchte Sprit sein wird, sodass in jedem Portemonnaie Kleingeld übrig bleibt.

Ich habe versucht, meine MetaMask-Brieftasche zu leeren. Ich habe auf https://ethgasstation.info/ (7) nach einem vernünftigen Gaspreis gesucht . Ich habe das zu sendende Gesamtguthaben eingegeben, MetaMask sagte natürlich aufgrund der Gebühr „nicht genug Guthaben“. Ich habe den Gaspreis auf 7 geändert, die maximale Gebühr kopiert, die Transaktion abgelehnt, eine neue Transaktion mit dem Betrag gleich (Gesamtsaldo - maximale Gebühr) eingegeben und den Gaspreis erneut auf 7 geändert. Nachdem es gesendet wurde (ein paar Stunden), blieb ich mit 0,09 $ in meiner MetaMask-Brieftasche! Obwohl ich versucht habe, den genauen Betrag sorgfältig zu berechnen, scheint es unmöglich zu sein, eine Brieftasche zu leeren.

Laut MetaMask-Hilfe hat MyEtherWallet eine „Send Max“-Funktion, aber wie würde das funktionieren?

https://support.metamask.io/kb/article/14-sending-max-balance

Eine einfache Möglichkeit, Ihr gesamtes Guthaben in der Zwischenzeit zu senden, besteht darin, Ihr MetaMask-Konto zu MyEtherWallet zu exportieren, das über eine „Send Max“-Funktion verfügt, und von dort aus an die Börse zu senden.

Ist es nicht wahr, dass Sie das tatsächlich verwendete Gas nicht im Voraus wissen können? Wenn Sie versuchen, das Gaslimit genau zu berechnen, riskieren Sie, dass Ihr gesamtes Gas verbraucht wird und Ihre Transaktion trotzdem fehlschlägt! (Mir ist das schon mal passiert.)

Antworten (2)

Wenn Sie den Ether an ein EOA (externes Konto, kein Vertrag) senden, beträgt das verwendete Gas immer 21000 Gas, sodass es einfach ist, das Maximum ordnungsgemäß zu senden. (Ich habe das persönlich ein paar Mal gemacht, als ich Konten konsolidierte, und genau einen Saldo von 0 erreicht.)

Wenn Sie Ether an einen Kontrakt senden, ist es normalerweise immer noch möglich, das Gas genau richtig zu machen. Es gibt eine JSON-RPC-Methode eth_estimateGas, die die Transaktion simuliert, die Sie durchführen möchten, und die verbrauchte Gasmenge zurückgibt. Ich würde erwarten, dass MetaMask diesen Wert standardmäßig als Gaslimit verwendet, aber ich bin mir nicht sicher. Sofern der Vertrag nicht aufgrund eines veränderlichen Zustands eine andere Gasmenge verbraucht (und dieser Zustand sich ändert, bevor Ihre Transaktion abgebaut wird), sollte dies genau die Menge an Gas sein, die Ihre tatsächliche Transaktion verbraucht.

Ich würde vermuten, dass MEWs "Send Max" das Maximum sendet, das Sie können, vorausgesetzt, dass das volle Gaslimit erreicht ist. Wenn Ihr Gaslimit also höher eingestellt ist als das tatsächlich verbrauchte Gas, bleibt ein wenig Äther übrig.

Sie haben Recht, dass es im Zweifelsfall wahrscheinlich besser ist, die benötigte Gasmenge etwas zu überschätzen (ein etwas hohes Gaslimit festzulegen) und dann den übrig gebliebenen Ether einfach abzuschreiben.

Das Senden von Ether ist also 21.000, egal wie viele Eingaben? Bitcoin-Transaktionen mit vielen Eingaben haben höhere Transaktionsgebühren. Ja, mir ist das Benzin ausgegangen, bevor ich zu einem Vertrag geschickt habe. Es verbrauchte etwa 6 Millionen Gas. Wie wandelt man Gas in Ether um? Ich denke, ein Gas/GWEI ist dasselbe wie ein Satoshi in Bitcoin, aber ich bin mir nicht sicher.
Ich bin mir nicht sicher, was Sie mit "wie viele Eingänge" meinen. Eine einfache Übertragung von Ether (unabhängig von der Menge) kostet 21.000 Gas. Das sind die Mindestkosten einer Transaktion. Gas * gasPrice = wie viel die Transaktion kosten wird. Ein Gwei ist ein Milliardstel eines Äthers. Siehe etherconverter.online für ein einfaches Konvertierungstool.
Bevor es Ethereum gab, gab es eine Blockchain-basierte Währung namens Bitcoin. Jede Bitcoin-Adresse kann einen öffentlichen Schlüssel und einen privaten Schlüssel enthalten. Ein Bitcoin-Guthaben kann auf viele verschiedene Adressen verteilt sein, die alle summiert werden. Wenn Sie einen Bitcoin ausgeben, erstellen Sie eine Transaktion mit der Adresse, die den Wert enthält, den Sie senden möchten. Wenn diese Adresse nicht ausreicht, senden Sie mehrere Adressen. Manchmal, nachdem Sie viele tausend Zahlungen erhalten haben, wie z. B. ein Händler, haben Sie möglicherweise Tausende von Adressen. Das Senden einer großen Transaktion kann viele Adressen verbrauchen und zu einem großen Block führen
Ethereum hat kein solches Konzept.
Daten. Für die Verarbeitung dieses großen Datenblocks müssen Sie eine Gebühr zahlen. Diese Gebühr wird normalerweise in Bitcoins/Byte ausgedrückt. Je größer also die Transaktion, desto mehr kostet der Versand. Da Bitcoin eine Blockgrößenbegrenzung hat, ist Platz knapp, sodass große Transaktionen sehr teuer sein können. Hat Ethereum etwas Ähnliches? Ich weiß, dass es auch Adressen verwendet. Was passiert also, wenn Sie Tausende von Ether-Adressen haben und ein Guthaben in einer neuen Brieftasche konsolidieren möchten? Beeinflusst die Größe der Transaktion die Kosten oder sind es immer 21000, egal wie viele Eingaben Sie zum Senden der Transaktion verwenden?
Ethereum hat kein Konzept mit mehreren Eingaben. Eine Transaktion erfolgt also immer von einer einzigen Adresse zu einer einzigen Adresse. Ethereum hat jedoch intelligente Verträge, die alle möglichen Dinge tun können (einschließlich Daten speichern, Äther senden und neue Verträge bereitstellen). Die Gaskosten für das Senden einer Transaktion an einen Smart Contract variieren je nachdem, wie viel Arbeit dieser Smart Contract leistet.
Wenn Sie Tausende von Adressen hätten und konsolidieren möchten, müssten Sie Tausende von Transaktionen durchführen (eine von jeder Adresse). Beachten Sie, dass dieses Szenario bei Ethereum seltener vorkommt als bei Bitcoin, da Adressen wiederverwendet werden können.
Ist das bei eip-1559-Transaktionen nicht schwieriger? (Max-Gebühr, Max-Pri-Einstellungen) Wie können Sie die Grundgebühr des Blocks vorhersagen, in dem sich Ihre Transaktion befinden wird? Scheint schwierig zu sein, es sicher zu wissen, sodass Sie den Gasverbrauch schätzen müssen

Das Überweisen von Geldern auf ein anderes Konto kostet 21000 Gas. Um also den gesamten Betrag zu senden, setzen Sie das Gaslimit auf 21000 und multiplizieren Sie es mit dem von Ihnen angegebenen Gaspreis. Ziehen Sie diese dann vom Kontostand ab. Auf diese Weise sollte kein Guthaben mehr auf Ihrem Konto sein und Sie können Ihre Ruhe bewahren :)

Es ist immer 21000? Egal wie viele Eingänge? Bitcoin-Transaktionen mit vielen Eingaben haben höhere Transaktionsgebühren. Wie wandelt man Gas in Äther um? Ich denke, Gas/GWEI ist dasselbe wie ein Satoshi in Bitcoin, aber ich bin mir nicht sicher.
Ich vermute, dass dies bei EIP-1559-Transaktionen schwieriger ist, die Max-Fee/Max-Pri-Werte für Gas verwenden. Aber ich denke, die Eth, die Sie sparen (dank EIP-1559), müssen einfach für immer in der Brieftasche bleiben, die Sie leeren, anstatt zu den Minern zu gehen. <Achselzucken>