Wie erhalte ich die Absenderadresse mit bitcoinj (kein Duplikat)?

Ich verwende Bitcoinj (Java-Implementierung). Ich habe hier viele Antworten gelesen, aber keine beantwortet meine Frage. Wie erhalte ich die Absenderadresse mit bitcoinj?

Ich habe die Transaktionsvariable tx. Ich kann den Hash bekommen, ich habe auch diesen verwendet: https://blockchain.info/tx/myTXhash und es zeigte mir die Transaktionen. Das Problem ist nicht einmal, dass das Web mir den Absender anzeigt.

ABER: wenn ich das benutze generierte .wallet-Datei und öffne sie mit Multibit (Bitcoin-Wallet) Ich kann dort unter Transaktionen sehen, von wem das Geld gesendet wurde. Das heißt, es gibt eine Möglichkeit, die Absenderadresse zu erhalten, aber WIE?

BEARBEITEN: Ich habe mich geirrt, Multibit weiß nicht, von wem das Geld kam, ich war nur verwirrt, weil es mir gezeigt hat wurde an die richtige Adresse gesendet (aber das wurde von mir in args eingerichtet).

Aber gibt es eine Möglichkeit, die Nachricht irgendwie vom Client an zu bekommen Wissen Sie, ob er das Geld geschickt hat?

Kommentare

  • Meinen Sie das Bitcoin-Adresse, die den Mon gesendet hat ey oder irgendwie einen Namen bekommen?
  • Ja, ich meine Bitcoin-Adresse, die das Geld geschickt hat. Oder auf andere Weise, um zu überprüfen, ob das Geld von dieser Person stammt. Betrachten Sie es als eine Brieftasche, die ständig Geld erhält, aber ich muss prüfen, ob es von denjenigen kommt, die über ein Web darauf zugreifen möchten.

Antwort

Zum späteren Nachschlagen: In bitcoinJ (Java-Version) befinden sich die Eingabe- / Ausgabeadressen von Transaktionen in den Objekten TransactionInput und TransactionOutput.

Zum Beispiel: für 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()); } 

Beachten Sie, dass einige Transaktionen möglicherweise keine Eingabeadresse haben. Hier ist die Github-Beschreibung der Methode getFromAddress ():

Komfortmethode, die die Absenderadresse dieser Eingabe durch Parsen der scriptSig zurückgibt. Das Konzept einer „Von-Adresse“ ist in Bitcoin nicht genau definiert, und Sie sollten nicht davon ausgehen, dass Absender einer Transaktion tatsächlich Münzen an derselben Adresse empfangen können, die sie zum Signieren verwendet haben (z. B. gilt dies nicht für gemeinsam genutzte Brieftaschen).

Antwort

Sie können die Adressen sehen, die Geld gesendet und empfangen haben, wenn Sie sich a ansehen Transaktion für die meisten Dienste. Zum Beispiel:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

Der große grüne Pfeil wird angezeigt die Übertragung von einer Adresse (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) zu den beiden anderen. Programmgesteuert können Sie eine API verwenden, die JSON mit entsprechenden Informationen zurückgibt:

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

Es ist jedoch nicht einfach, diese Informationen zu extrahieren, wenn eine Rohtransaktion betrachtet wird, da die Adressen in das Skript eingebettet sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.