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 sendtoaddress
und 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)
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-qt
dem Befehl beginnen) "Benutzerdefiniert" ausgewählt ist, da Ihr Befehl settxfee
sonst 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 settxfee
ignoriert. Ich habe nicht getestet, zB was wäre, wenn man die "empfohlene" Option ausgewählt lassen, die Schnittstelle schließen und dann bitcoind -txindex
zum Beispiel mit starten würde.
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)
Martin Braun