Berechnen Sie vor dem Senden mit sendtoaddress tx-Gebühren

Ich sehe diese Frage immer wieder , aber ich finde nur Antworten für die Berechnung der Gebühren bei der Erstellung von Rohtransaktionen.

Ich verwende sendtoaddressund möchte in der Lage sein, die erforderliche TX-Gebühr vor dem Aufrufen der API zu berechnen. Ich möchte vermeiden, eine Rohtransaktion zu erstellen, wenn dies vernünftigerweise möglich ist.

Wie kann ich das mit der json-rpc api machen? (Ich benutze Bitcoin)

Antworten (2)

Wenn Sie anrufen

bitcoin-cli settxfee <fee>

kurz vor dem Anruf

bitcoin-cli sendtoaddress "1LipeR1AjHL6gwE7WQECW4a2H4tuqm768N" <value>

Dann wird die Gebühr sein <fee>.

Wichtiger Hinweis: Stellen Sie sicher, dass im Grafikmodus (wenn Sie mit bitcoin-qtdem Befehl beginnen) "Benutzerdefiniert" ausgewählt ist, da Ihr Befehl settxfeesonst ignoriert wird (siehe Bild unten).

Außerdem bin ich mir nicht sicher, ob diese Option standardmäßig ausgewählt ist, und ich bin mir auch nicht sicher, ob Sie "benutzerdefiniert" über die API festlegen können. Wenn jemand das weiß, bearbeiten Sie bitte diese Antwort und beheben Sie sie.

Anmerkung 2: Ich bin mir nicht sicher, ob dies unbedingt erforderlich ist, vielleicht auch nicht. Ich habe nicht viele Tests gemacht. Der Test, den ich gemacht habe, war, Bitcoin mit zu starten bitcoin-qt -txindex -server &und dann die Schnittstelle offen zu lassen. Wenn „empfohlen“ ausgewählt ist, wird der Befehl settxfeeignoriert. Ich habe nicht getestet, zB was wäre, wenn man die "empfohlene" Option ausgewählt lassen, die Schnittstelle schließen und dann bitcoind -txindexzum Beispiel mit starten würde.

Geben Sie hier die Bildbeschreibung ein

Aber was ist, wenn Sie die schwankende Empfehlungsgebühr verwenden und einfach eine grobe Annäherung davon erhalten möchten, bevor Sie die Coins senden? Die Frage bezieht sich auf die Berechnung der Gebühr, nicht auf die Festlegung. Ich kann nicht glauben, dass die Verwendung von Rohtransaktionen der einzige Weg ist, es zu lösen.

Ein bisschen spät, aber Sie könnten einen Blick auf https://github.com/bitcoin/bitcoin/pull/5503 werfen . Es ist (noch) nicht zusammengeführt, aber es würde Ihnen die Möglichkeit geben, die Gebühr zu erhalten, bevor Sie die Transaktion senden (mit 4 Schritten : createrawtransaction, fundrawtransaction [Gebühr erhalten], signrawtransaction, senddrawtransaction)