Ich arbeite schon seit einiger Zeit an meiner Litecoin-Wallet. Aber ich kann die Transaktionsgebühr anscheinend nicht kontrollieren, wenn ich Rohtransaktionen durchführe.
Ich weiß, wie man Transaktionen mit Litecoin-Qt GUI sendet: https://live.blockcypher.com/ltc/tx/2b2f0aab9d2661840a60b172dcda24f359e85b7dbd0810e7afb2d3a6c0b8e59c/
Kein Problem damit, die Gebühr betrug 0,00017 LTC und wurde in den nächsten Block aufgenommen. Der vsize
dieser TX = 170, was die 0,00017 LTC-Gebühr erklärt.
Ich arbeite aber auch an einem eigenen Wallet auf meinem VPS mit der Litecoin-CLI. Ich habe eine unbearbeitete TX erstellt, unterschrieben und abgeschickt. Dies ist passiert: https://live.blockcypher.com/ltc/tx/32ceefc7f377ad53c91922dffe62e6fd19e48a46d6afb4d610c2c090646404dc/
Eine Transaktionsgebühr von 0,1 LTC!!! Und das vsize
ist nur 192.
Ich ging zurück zur Datei litecoin.conf und sie hat den paytxfee=0.001
Parameter. Das heißt, es würde mich 0,001 LTC/kB kosten. maxtxfee
war noch nicht eingeschaltet, hat aber jetzt einen Wert von 0,001. Wenn ich jetzt versuche zu senden, werde ich nur aufgefordert mit: "error":{"code":-26,"message":"256: absurdly-high-fee"}
.
Was mache ich falsch?
(Ja, ich teste meine Brieftasche im Mainnet, ich bin dumm)
Die Gebühr einer Transaktion ist nur die Differenz zwischen dem Eingabe- und dem Ausgabewert. Bei der zweiten Transaktion, die Sie gebucht haben, betrug der Eingabewert 0,25 LTC und der Ausgabewert 0,15 LTC, Sie haben also eine Gebühr von 0,1 LTC (0,25-0,15) bezahlt, wie Sie sagen. Wenn Sie eine Eingabe wählen, die größer ist als die Ausgabe, die Sie senden möchten, sowie die Gebühr, müssen Sie eine Änderungsausgabe erstellen, um den Rest ebenfalls an Ihre Brieftasche zurückzusenden, da sonst alles als Gebühren an die Miner geht. Wenn Ihre Eingabe beispielsweise 0,25 LTC war und Sie 0,15 LTC senden und nur eine Gebühr von 0,01 LTC zahlen möchten, müsste Ihre Transaktion zwei Ausgänge haben, einen für 0,15 LTC und einen für 0,09 LTC zurück an eine Adresse, die Ihnen gehört. sodass die Gesamtgebühr nur (0,25-(0,15+0,9) = 0,01 beträgt)
Es hört sich so an, als würden Sie mit dem createrawtransaction
RPC-Befehl eine Transaktion von Hand erstellen. createrawtransaction
wird von keinem der Transaktionsgebührenbefehle oder -parameter beeinflusst. Sie müssen die Gebühr in diesem Fall manuell festlegen, indem Sie bei Bedarf Änderungsausgaben erstellen.
Wie MeshCollider sagte, ist die Transaktionsgebühr die Differenz zwischen der Summe der Eingaben und der Summe der Ausgaben einer Transaktion. Wenn Sie also verwenden createrawtransaction
, müssen Sie sicherstellen, dass die Summe der von Ihnen erzeugten Ausgaben nicht zu niedrig oder zu hoch ist.
Wenn Sie dies nicht manuell tun möchten, können Sie den fundrawtransaction
Befehl verwenden, der Eingaben aus Ihrer Brieftasche auswählt und bei Bedarf Änderungsausgaben erstellt. fundrawtransaction
übernimmt Transaktionsgebühren.
Lexus123
fundrawtransaction
, was es wirklich einfach gemacht hat.