Come ottenere lindirizzo del mittente con bitcoinj (nessun duplicato)?

Sto usando bitcoinj (implementazione java). Ho letto molte risposte qui ma nessuna risponde alla mia domanda. Come ottenere lindirizzo del mittente utilizzando bitcoinj?

Ho la variabile di transazione tx. Posso ottenerlo “s hash, ho usato anche questo: https://blockchain.info/tx/myTXhash e mi ha mostrato le transazioni. Il problema non è nemmeno che il Web mi mostra il mittente.

MA: se lo uso generato .wallet file e aprirlo con multibit (portafoglio bitcoin) posso vedere lì, sotto le transazioni, da chi è stato inviato il denaro. Ciò significa che cè un modo per ottenere lindirizzo del mittente, ma COME?

EDIT: Mi sbagliavo, multibit non sa da chi proviene il denaro, ero solo confuso perché me lo ha mostrato è stato inviato allindirizzo corretto (ma è stato impostato da me in args).

Ma cè qualche possibilità di portare il messaggio in qualche modo dal client a sapere se è stato lui a inviare il denaro?

Commenti

  • Intendi ottenere il Indirizzo Bitcoin che ha inviato il mon ey o in qualche modo ottenere un nome?
  • Sì, intendo lindirizzo Bitcoin che ha inviato il denaro. O in qualche altro modo per verificare se i soldi provenivano da quella persona. Consideralo come un portafoglio che riceve denaro costantemente, ma devo controllare se proviene da chi vuole accedervi su un web.

Risposta

Per riferimento futuro: in bitcoinJ (versione java) gli indirizzi di input / output delle transazioni si trovano negli oggetti TransactionInput e TransactionOutput.

Ad esempio: per 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()); } 

Tieni presente che alcune transazioni potrebbero non avere un indirizzo di input. Ecco la descrizione github del metodo getFromAddress ():

Metodo pratico che restituisce lindirizzo from di questo input analizzando scriptSig. Il concetto di “indirizzo del mittente” non è ben definito in Bitcoin e non dovresti presumere che i mittenti di una transazione possano effettivamente ricevere monete sullo stesso indirizzo che hanno usato per firmare (ad esempio, questo non è vero per i portafogli condivisi).

Risposta

Puoi vedere gli indirizzi che hanno inviato e ricevuto denaro guardando un transazione sulla maggior parte dei servizi. Ad esempio:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

La grande freccia verde mostra il trasferimento da un indirizzo (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) agli altri 2. A livello di codice è possibile utilizzare unAPI che restituisce JSON con informazioni equivalenti:

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

Tuttavia non è semplice estrarre queste informazioni quando si guarda una transazione non elaborata poiché gli indirizzi sono incorporati nello script.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *