Comment obtenir ladresse des expéditeurs avec Bitcoinj (pas de doublon)?

Jutilise bitcoinj (implémentation java). Jai lu de nombreuses réponses ici, mais aucune dentre elles ne répond à ma question. Comment obtenir ladresse des expéditeurs en utilisant bitcoinj?

Jai la variable de transaction tx. Je peux lobtenir « s hash, jai utilisé ceci aussi: https://blockchain.info/tx/myTXhash et il ma montré les transactions. Le problème nest même pas que le Web me montre lexpéditeur.

MAIS: si jutilise cela généré .wallet et ouvrez-le avec multibit (portefeuille bitcoin) Je peux voir là, sous transactions, à partir de qui largent a été envoyé. Cela signifie quil existe un moyen dobtenir ladresse des expéditeurs, mais COMMENT?

EDIT: Je me suis trompé, multibit ne sait pas doù vient largent, jétais juste confus parce quil me la montré a été envoyé à la bonne adresse (mais cela a été configuré par moi dans args).

Mais y a-t-il une possibilité dobtenir le message dune manière ou dune autre du client à savoir si cest lui qui a envoyé largent?

Commentaires

  • Voulez-vous dire obtenir le Adresse Bitcoin qui a envoyé le mon ey ou dune manière ou dune autre obtenir un nom?
  • Oui, je veux dire ladresse Bitcoin qui a envoyé largent. Ou dune autre manière, comment vérifier si largent provient de cette personne. Considérez-le comme un portefeuille qui reçoit constamment de largent, mais je dois vérifier sil vient de ceux qui souhaitent accéder à un site Web.

Réponse

Pour référence future: Dans bitcoinJ (version java), les adresses dentrée / sortie des transactions se trouvent dans les objets TransactionInput et TransactionOutput.

Par exemple: pour 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()); } 

Gardez à lesprit que certaines transactions peuvent ne pas avoir dadresse dentrée. Voici la description github de la méthode getFromAddress ():

Méthode pratique qui renvoie ladresse from de cette entrée en analysant le scriptSig. Le concept d «adresse dexpéditeur» nest pas bien défini dans Bitcoin et vous ne devez pas supposer que les expéditeurs dune transaction peuvent réellement recevoir des pièces sur la même adresse quils avaient lhabitude de signer (par exemple, ce nest pas vrai pour les portefeuilles partagés).

Réponse

Vous pouvez voir les adresses qui ont envoyé et reçu de largent en regardant un transaction sur la plupart des services. Par exemple:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

La grande flèche verte indique le transfert dune adresse (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) vers les 2 autres. Par programme, vous pouvez utiliser une API qui renvoie JSON avec des informations équivalentes:

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

Cependant, il nest pas simple dextraire ces informations lorsque vous regardez une transaction brute car les adresses sont incorporées dans le script.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *