Я пытаюсь получить комиссию за входящие транзакции в кошельке с биткойнами. Иногда это было комиссионное использование Transaction.getFee()
, но это был бросок NullPointerException
. Мне пришлось провести еще немного исследований, и я понял, что это происходит, когда транзакция имеет неподтвержденные входные данные. Я пытался сложить стоимость всех входов и вычесть стоимость всех выходов, чтобы вы получили комиссию, но в этих случаях сумма входов равна 0 BTC. Есть ли другой способ получить комиссию?
Оставляю пример вывода одной из транзакций (тестнет):
04f570fdd0cb8c973d8c9b3adf09b803ef70941ec239685d479a93b089e4d621: Seen by 1 peer. Pending/unconfirmed.
in PUSHDATA(72)[3045022100fe750e43c3bc46eddb390dad98acd6ef0646e00386770de542e7e5c581f8118102206924cd243b459645ae8626e948e1d33404d29c651a8a59c24ed5cd902d7e939201] PUSHDATA(33)[02a40db91b59058375fe7f13810beb6609e63a8974ce355b76d01692058eaac9f9]
outpoint:7cd4378560d2b36f53b3d492afa815c5ae615d18bff9611c3081f591a1c0c156:0
out DUP HASH160 PUSHDATA(20)[49d2661baf33597c6dc3dbdbb9e7a8835fdb76b4] EQUALVERIFY CHECKSIG 0.00126081 BTC
out DUP HASH160 PUSHDATA(20)[372fb0d8affe634b369af9722cc48c63ad90e9df] EQUALVERIFY CHECKSIG 0.001 BTC
prps UNKNOWN
В случае узла SPV у вас нет значений входов транзакции, так как у вас нет полной цепочки блоков и, следовательно, всех UTXO.
Сама транзакция не имеет значений входов!
У вас есть следующие варианты: