Bitcoind Wie kann ich beim Senden einer Zahlung wissen, wie viele Ein- und Ausgänge es gibt?

Wir verwenden Bitcoin auf unserem Server.

Wenn sich Leute aus unserem System zurückziehen, wollen wir die richtige Miner-Gebühr haben.

Ich verstehe, dass wir die gute Miner-Gebühr von txconfirmtarget oder die API von https://bitcoinfees.21.co/api erhalten können

Aber wenn wir eine Transaktion senden, woher wissen wir, welche Miner-Gebühr wir erheben müssen, wenn wir sie in die Datenbank eingeben wollen?

BEARBEITEN: Ich bemerke Folgendes: bitcoin-cli taxfee 2, aber wie finden wir dann heraus, wie viele Bytes gesendet werden?

Verwenden Sie die interne Brieftasche von Bitcoin oder verwenden Sie sie nur, um eine Rohtransaktion zu erstellen und zu übertragen?
Bitcoin auf einem Centos-Server
Das beantwortet meine Frage nicht. Verwenden Sie Bitcoin als Brieftasche (dh mit sendtoaddress, sendmany usw. RPCs) oder nur als Knotenpunkt, mit dem Sie Ihre Transaktionen übertragen können?
als Wallet mit RPCs

Antworten (1)

Wenn Sie das interne Wallet von Bitcoin und die zugehörigen RPCs verwenden, berechnet es automatisch die Transaktionsgebühr für Sie und schließt diese in die Transaktion ein. Sie können dann die verwendete Transaktionsgebühr mit dem gettransactionBefehl abrufen. Wenn Sie den verwendeten Gebührensatz wünschen, können Sie die Gebühr von verwenden gettransactionund diese durch die von zurückgegebene Größe dividieren gettransaction.

Bearbeiten: Um die Gebühr vor dem Senden zu erhalten, können Sie die Transaktion nur mit den gewünschten Ausgaben (dh ohne Eingaben) mit erstellen createrawtransaction. Anschließend können Sie fundrawtransactionmit die Transaktion mit Eingaben ausfüllen. Dadurch erhalten Sie auch die Gebühr, die die Transaktion zahlt. Dann unterschreibst du es mit signrawtransactionund sendest es mit ab sendrawtransaction. Es gibt keinen anderen Weg, da die anderen send*RPCs die Transaktion erstellen, Münzen auswählen, signieren und alles in einem Befehl senden.

Aber ich möchte die Gebühr schätzen, bevor die Transaktion gesendet wird.
Ich habe mit weiteren Anweisungen bearbeitet, um die Gebühr zu erhalten, bevor die Transaktion gesendet wird.
Danke für das Update. Also im Grunde mache ich createrawtransaction und fundrawtransaction und es gibt die Größe der Transaktion zurück, dann kann ich eine benutzerdefinierte Gebühr festlegen, die darauf basiert, wie viele Bytes es sind. Dann natürlich senddrawtransaction.
Nein, Sie können die Gebühr nicht festlegen, nachdem die Transaktion erstellt wurde. Die Gebühr muss festgelegt werden, wenn die Transaktion finanziert wird. fundrawtransactionhat die Möglichkeit, den Gebührensatz festzulegen. Lesen Sie dazu einfach den Hilfetext.