Ich verwende den API-Aufruf sendtoaddress. Das Problem ist, dass ich einen Betrag angeben muss, der Gebühren enthält. Wenn ich zum Beispiel 1 BTC abhebe, brauche ich Bitcoin, um Gebühren von diesem Betrag abzuziehen und zum Beispiel 0,999 als Transaktionsbetrag und 0,001 als Gebühr zu senden (oder einen anderen Gebührenbetrag, der für diese Transaktion empfohlen wird).
Bitte helfen Sie und sagen Sie, ob es möglich ist, ein solches Ergebnis zu erzielen.
https://chainquery.com/bitcoin-api/sendtoaddress
Sie können den letzten (5.) Parameter verwenden:
Wenn man bedenkt, dass jedes Programm (oder jeder Mensch), das Sie zum Aufrufen der API verwenden, in der Lage sein wird, eine einfache Addition oder Subtraktion durchzuführen, läuft dies darauf hinaus, die genaue zu verwendende Gebühr zu bestimmen. Die getinfo
(Rückgabe der aktuellen Standardgebühr wie im Feld paytxfee
) und settxfee
(zum Ändern) API-Aufrufe sollten dies für Sie erledigen. Achten Sie auf Details – die Blockchain.info-API-Referenz warnt davor, dass die Änderungen, die Sie über vornehmen, settxfee
nur für die nächsten 24 Stunden gültig sind. Ich habe nicht überprüft, ob diese Informationen aktuell sind und ob sie sich tatsächlich auf das Verhalten des Bitcoin-Kerns oder lediglich auf die „Bitcoind-kompatible“ API von blockchain.info beziehen.
Transaktionsgebühren werden erhoben, wenn Sie eine Transaktion so konstruieren, dass impliziert wird, dass eine Gebühr gezahlt wird.
Zum Beispiel
So funktioniert es im Grunde. Sie müssen berücksichtigen, was in die Transaktion hineingeht und was am anderen Ende herauskommt.
createrawtransaction
). Aber unter Verwendung von sendtoaddress
, wie im OP angegeben, bestimmt der Bitcoin-Client selbst, welche nicht ausgegebenen Transaktionen verwendet werden und wie hoch die entsprechende Gebühr ist, die enthalten sein soll.
Pieter Wuille
bitcoind
akzeptiert das jetzt auch