Zum Inhalt springen

Gebühren für Transaktionen


kfokus

Empfohlene Beiträge

Möglichkeit 1: Bitcoin.de benutzen - die sorgen schon für minimale Transaktionsgebühren - dank Bündelung mit anderen Transaktionen geht das dann auch fix durch.

Möglichkeit 2: Schieberegler in Electrum benutzen, Electrum kümmert sich um die Berchnung

Möglichkeit 3: Google fragen: "gebühren bitcoin berechnen" ... -> https://bitcoinfees.earn.com/ ... das sind dann derzeit 0.00018984 BTC

Möglichkeit 4: Einfach bei bitcoin.de schauen, was derzeit veranschalgt wird: 0,00013188 BTC ...

Ob nun 0,00013 oder 0,00018 oder 0,00010 ... exakt vorhersagen in welchem Block die Transaktion aufgenommen wird, kann man eh nur wenn man deutlich mehr Gebühren mit gibt.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Möglichkeit 5 einfach try und error. Dabei immer fleißig das Flag setzen um die Transaktion später überschreiben zu dürfen. Starte mit einer Gebühr die auf keinen Fall durchgehen sollte. Warte das Wochenende ab bis nächste Woche Dienstag. Wenn sie nicht bestätigt wurde einfach überschreiben und die Gebühr dabei stückweise erhöhen. Mit der Zeit bekommst du ein Gefühl dafür was geht und was nicht geht.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen

Ich habe heute eine Testtransaktion gemacht und es kam nie was an bei der Zieladresse. Dann schaute ich bei ETH Transaktionen nach und es erscheint diese Meldung

https://etherscan.io/tx/0x27a75980c40ece312dfca436a43a1f602888474248067fb50caf2ac509aed3a1

So wie es scheint hat es aber nichts bei mir abgezogen. Was bedeutet diese Meldung ??

 

Gruss und Danke

Ivanos

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Minuten schrieb ¯\_(ツ)_/¯:

Du hattest dein GasLimit zu niedrig gesetzt, was für den Contract nicht ausgereicht hat.

Aber hast ja scheinbar schon selber rausgefunden und bist von 21.000 auf 50.000 hochgegangen 

Hallo ¯\_(ツ)_/¯

Ja hat sich gerade mit meinem letzten Post überschnitten. Es lag an dem Gas Limit 🙂 Aber danke dir !

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb ivanos:

Es lag an dem Gas Limit 🙂 Aber danke dir !

Der Gas Price war dafür aber recht hoch. Bei ETH würde ich diese Seite empfehlen: https://ethgasstation.info/validatedTable.php
Wenn die Liste leer ist, wurden aktuell keine LowFee (weniger als 1Gwei) Transaktionen bestätigt. Die Liste ist relativ kurzlebig. Ich hätte das gleiche Spiel nochmal als Script, was man gegen Parity ausführen kann. Das Script würde beliebige Zeiträume betrachten. Man könnte sich zum Beispiel die billigstes Transaktion innerhalb einer Woche raussuchen. Dann die eigene Transaktion 1 wei drüber setzen.

Alternativ hier schauen: https://ethgasstation.info/index.php
Dort ist zu sehen, dass aktuell 1Gwei möglich ist. Ich würde meine Transaktion dementsprechend mit 1000000001 Wei versenden. Die Transaktion wird einige Stunden dauern aber sie sollte bestätigt werden. Safelow ist aktuell 6Gwei. Safelow bedeutet, dass davon ausreichend viele in die Blöcke kommen um nur zu lange warten zu müssen. Sollte sich im Bereich von Minuten bewegen.

Niemals am Gas Limit rumspielen Dann schlagen die Transaktionen fehl. Das Gas Limit ist vergleichbar mit der Transaktionsgröße bei Bitcoin. Bei Ethereum Transaktionen bezahlt man nicht für die Größe sondern für die Rechenoperation. Das Gas Limit ist das Maximum was ihr der Transaktion mit auf den Weg gebt.

Was passiert wenn ihr da einfach mal 500K eintragt?
1.) Je nach Smart Contract kann das im Fehlerfall sehr teuer werden. Ihr könnt euch den Quellcode des Smart Contracts ansehen. Früher gab es nur  das Zauberwort "assert". Im Fehlerfall werden die kompletten 500K verbrannt. Später wurde "require" eingeführt. Macht exakt das gleiche aber im Fehlerfall werden nicht die vollen 500K verbrannt sondern nur das was bis zu diesem Zeitpunkt tatsächlich benutzt wurde. Also zur Vorsicht besser kurz in den Smart Contract schauen und nach den beiden Zauberwörtern suchen.
2.) Die Transaktion wird etwas länger unbestätigt bleiben. Die Miner bauen Blöcke die eine bestimmte Summe an Gas nicht überschreiten dürfen. Wenn eure Transaktion eine hohen Gas Price hat, werden die Miner die Transaktion in den Block aufnehmen und dabei feststellen was sie tatsächlich verbraucht. Ist eure Transaktion dagegen die billigste, versucht der Miner es erst gar nicht weil im Block nicht mehr genug Platz ist. Für LowFee Transaktionen ist es daher besser das Gas Limit möglichst dicht am tatsächlichen Wert zu setzen. Achtung: Ich habe diese Annahme nie mit einem Test überprüft. Es ist gut möglich, dass die Miner das Gas Limit grundsätzlich ignorieren und immer selbst ausrechen was der tatsächliche Gas Verbrauch ist.
3.) Geht die Transaktion am Ende mit 50K durch, müsst ihr auch nur die Gebühren für diese 50K bezahlen. Die Gebühren für die restlichen 450K könnt ihr behalten.

Tip: Die meisten Wallets können das Gas Limit selber berechnen. Tragt alle Zahlen ein und schaut mal ob das Wallet das Gas Limit selber setzt. Das berechnete Gas Limit stimmt in der Regel. Nur in wenigen Fällen ist das berechnete Gas Limit falsch (web3 oder parity hatten oder haben immer noch einen Bug. MyCrypto hat dagegen bei mir immer richtig gerechnet)

Fazit: Die Transaktion wird durch ein höheres Gas Limit nicht teurer. Andersrum wird sie durch ein geringeres Gas Limit auch nicht günstiger. Aufpassen bei alten Smart Contracts mit dem Zauberwort "assert". Da ist besondere Vorsicht geboten.

Bearbeitet von skunk
Link zu diesem Kommentar
Auf anderen Seiten teilen

Einen Sonderfall muss ich noch erklären damit ihr auf alles vorbereitet seit.

Wie eben beschrieben richten sich die Gas Kosten nach den Rechenoperationen. Es gibt ein paar Operationen die teuer und ein paar die billig sind. Dazu ein paar Beispiele und am Ende konstruieren wir eine Situation in der ihr der Transaktion besser ein höheres Gas Limit mit auf den Weg gebt um nicht in die Falle zu laufen.

1.) Sender hat 2 ERC-20 Token und versendet ein Token. Der Smart Contract muss berechnen was der Sender am Ende noch übrigt hat. Billiger wird es wenn der Sender die kompletten 2 Token versendet. In dem Fall kann der Smart Contract die Balance auf 0 setzen was weniger Gas kostet.
2.) Der Receiver hatte den Token noch nie. Der Smart Contract hat intern ein Liste mit allen Wallets. Diese Liste muss er jetzt um einen Eintrag erweitern. Billiger wird es wenn der Receiver bereits den Token hat und damit bereits Teil der Liste ist. In dem Fall kann der Smart Contract direkt mit der Addition loslegen. Noch billiger ist es wenn der Receiver bereits Token hatte aber derzeit 0 hat. Damit entfällt auch die Addition und das neue Guthaben kann direkt gesetzt werden.
3.) Jede ERC-20 Transaktion kostet immer 21K Gas für die Ethereum Transaktion zuzüglich der Rechenoperation. Diese 21K kann man mit einem Multisend Contract einsparen. Anstelle von 100 Transaktionen * (21K + X) kostet der Spaß dann nur noch 1 Transaktion * (21K + 100*X). Man spart 99 * 21K an Gas ein. Das ist eine recht hohe Summe. Ein solchen Multisend Contract könnt ihr euch selber schreiben und dort dann einen fremden ERC-20 Token aufrufen. Ich hätte eine Vorlage hier falls die jemand haben möchte.
4.) Eine Sache haben ich euch bisher Verschwiegen. Ihr bezahlt auch für die Größe der Inputs. Das versenden von 100000 Token ist teurer weil die Zahl im Hex Format einfach länger ist als die Zahl 1. Dabei die Dezimalstellen nicht vergessen. Die Zahl 1 mit 8 Nachkommastellen ist billiger als mit 18 Nachkommastellen.
5.) Last but not least. Scheiße programmierte Smart Contracts sind immer teuer. Da könnt ihr nichts daran ändern. Wenn ich auf ein solches Exemplar stoße, schau ich mir gern den Smart Contract genauer an, schlage die Hände über den Kopf zusammen, fluche über die Dummheit einiger meine Kollegen und meide das Projekt in Zukunft. Offensichtlich sind da Anfänger am Werk. Nur selten stoße ich im Quellcode des Smart Contracts auf eine interessante Features die den erhöhten Gas Price auch Wert sind.

Jetzt wie versprochen die Falle.
Ihr sendet Token von A nach B mit dem geringst möglichen Gas Limit. Das heißt A hat nach der Transaktion 0 Guthaben und B hatte bereits vor der Transaktion Guthaben aber aktuell 0. Das ist der billigste Falle mit den geringst möglichen Rechenoperationen. Ihr sendet den Spaß los mit geringem Gas Price. Die Transaktion bleibt einige Stunden im Mempool.
Was passiert wenn jemand anderes Token zu A oder B sendet und das mit einem Gas Price der vor eurer Transaktion bestätigt wird? Richtig erraten. Eure noch unbestätigte Transaktion hat plötzlich ein zu geringes Gas Limit. Dessen solltet ihr euch bewusst sein wenn ihr Low Gas Price Transaktionen durchführt. Setzt das Gas Limit höher dann geht die Transaktion trotzdem fehlerfrei durch.

 

Bearbeitet von skunk
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die ausführliche erklärung. Bei Bitpanda unter Hilfe fand ich darum den Hinweis das man das GAS auf 50000 raufschrauben muss damit die Tranaktion funktioniert. Der Standartwert bei Ledger Live Software war bei 21000.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.