Estoy tratando de obtener la tarifa de las transacciones entrantes en una billetera con bitcoinj. Por momentos era la comisión que usaba Transaction.getFee()
, pero esto era tirar NullPointerException
. Tuve que investigar un poco más y me di cuenta de que sucede cuando la transacción tiene entradas no confirmadas. Intenté sumar el valor de todas las entradas y restar el valor de todas las salidas, por lo que obtendría la tarifa, pero en estas ocasiones la suma de las entradas es 0 BTC. ¿Hay alguna otra forma de obtener la comisión?
Dejo un ejemplo de la salida de una de las transacciones (testnet):
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
En el caso de un nodo SPV, no tiene los valores de las entradas de una transacción, ya que no tiene la cadena de bloques completa y, por lo tanto, todos los UTXO.
¡La transacción en sí no tiene valores de las entradas!
Tienes las siguientes opciones: