¿Cómo obtener la dirección del remitente con bitcoinj (sin duplicar)?

Estoy usando bitcoinj (implementación de Java). He leído muchas respuestas aquí, pero ninguna responde a mi pregunta. ¿Cómo obtener la dirección del remitente usando bitcoinj?

Tengo la variable de transacción tx. Puedo obtener su hash, también he usado esto: https://blockchain.info/tx/myTXhash y me mostró las transacciones. El problema ni siquiera es que la web me muestra el remitente.

PERO: si lo uso generó un archivo .wallet y lo abro con multibit (billetera bitcoin). Puedo ver allí, en transacciones, de quién se envió el dinero. Eso significa que hay una manera de obtener la dirección del remitente, pero ¿CÓMO?

EDITAR: Me equivoqué, multibit no sabe de quién vino el dinero, solo estaba confundido porque me lo mostró fue enviado a la dirección correcta (pero eso fue configurado por mí en args).

Pero, ¿hay alguna posibilidad de hacer llegar el mensaje de alguna manera del cliente a ¿Sabes si fue él quien envió el dinero?

Comentarios

  • ¿Te refieres a recibir el Dirección de Bitcoin que envió el mon ¿ey o de alguna manera obtener un nombre?
  • Sí, me refiero a la dirección de Bitcoin que envió el dinero. O alguna otra forma de comprobar si el dinero vino de esa persona. Considérelo como una billetera que recibe dinero constantemente, pero necesito verificar si proviene de aquellos que quieren acceder en una web.

Responder

Para referencia futura: En bitcoinJ (versión java), las direcciones de entrada / salida de las transacciones se encuentran en los objetos TransactionInput y TransactionOutput.

Por ejemplo: para Transaction tx :

List<TransactionInput> inputs = tx.getInputs(); List<TransactionOutput> outputs = tx.getOutputs(); for(TransactionOutput out : outputs){ System.out.println(out.getAddressFromP2PKHScript(params)); System.out.println(out.getAddressFromP2SH(params)); } for(TransactionInput in : inputs){ System.out.println(in.getFromAddress()); } 

Tenga en cuenta que algunas transacciones pueden no tener una dirección de entrada. Aquí está la descripción en github del método getFromAddress ():

Método de conveniencia que devuelve la dirección de origen de esta entrada al analizar el scriptSig. El concepto de una «dirección de remitente» no está bien definido en Bitcoin y no debe asumir que los remitentes de una transacción pueden recibir monedas en la misma dirección que solían firmar (por ejemplo, esto no es cierto para las billeteras compartidas).

Responder

Puedes ver las direcciones que enviaron y recibieron dinero cuando miras un transacción en la mayoría de los servicios. Por ejemplo:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

La gran flecha verde muestra la transferencia de una dirección (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) a las otras 2. Mediante programación, podría utilizar una API que devuelva JSON con información equivalente:

https://api.blockcypher.com/v1/btc/main/txs/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

Sin embargo, no es sencillo extraer esta información cuando se mira una transacción sin procesar, ya que las direcciones están incrustadas en el script.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *