Bitcoin-API(s) - wie man SOWOHL Absender- als auch Empfängeradressen mit einer Transaktions-ID (Hash) koppelt (oder erhält)

Es gibt verschiedene Block-Explorer, die REST-APIs anbieten. Bisher habe ich blockchain.info und btc.com verwendet

Hier ist, was wir haben:
- Liste der Bitcoin-Adressen

Folgendes kann mit diesen Informationen leicht ermittelt werden:
- Historische Liste von Transaktionen (Hashes oder IDs) für die angegebenen Adressen
- Ich kann auch herausfinden, welche Eingabe oder Ausgabe UNSERE Adresse war, und daher:
- Wert und ob die Transaktion war gesendet oder empfangen werden

Nun, hier ist, was wir benötigen :
- die ANDERE (zu/von) Adresse!

Also:
Wie können Sie eine Transaktions-ID verwenden, um SOWOHL die Wallet-Adresse des Absenders als auch des Empfängers zu erhalten - vorzugsweise mit einer Art REST-API?

(... in dem Wissen, dass Transaktions-IDs manchmal mehreren Eingaben und mehreren Ausgaben zugeordnet sind)

Endpunktreferenzen :
https://blockchain.info/q
https://btc.com/api-doc

Antworten (3)

Das Bitcoin-System hat keine „Absenderadresse“. Sie können den Transaktionsverlauf durchlaufen, um herauszufinden, an welches Ziel die Münzen, die Sie bezahlt haben, zuletzt gesendet wurden, aber das ist keine "Absenderadresse".

Stellen Sie sich vor, Sie hätten einen Zauberstab, mit dem Sie über jedes Paket, das Sie mit der Post erhalten, schwenken könnten, das Ihnen sagen würde, wo es zuletzt vor Ihnen verschickt wurde. Sie schwenken den Zauberstab über ein Paket und stellen fest, dass es zuletzt an ein großes Auslieferungslager in China geschickt wurde. Ist das die Adresse des Absenders? Nein. Sie haben das Paket in einem Geschäft in New York gekauft, das es für den Direktversand von einem Händler in Texas gekauft hat, der es aus einem von einem Drittanbieter betriebenen Lager in Seattle versandt hat, der es kürzlich aus einem Container aus dem transozeanischen Versand aus dem Lager gezogen hat in China, dass dein Zauberstab zurückkam.

Die vorherige Adresse könnte nützliche Informationen sein, genau wie das Zauberstab-Beispiel – aber es ist nicht der Absender – oder zumindest nicht unbedingt –, es ist keine Rücksende- oder Rückerstattungsadresse. Und dieses Versäumnis, dem Absender zuzuordnen, ist keine Randsituation, genauso wie der Zauberstab, der jemand anderen als die Partei zurückgibt, die Ihnen etwas verkauft hat, keine Randsituation wäre: Menschen zahlen häufig Bitcoins aus den Brieftaschen Dritter.

In den Eingaben gibt es ein Feld mit dem Namen "Signaturskript". Das Signaturskript enthält den vollständigen (nicht gehashten) öffentlichen Schlüssel des Absenders, siehe: Bitcoin-Entwicklerhandbuch . Sie können die Brieftaschenadresse des Absenders aus dem öffentlichen Schlüssel abrufen. In den Ausgaben gibt es ein Feld mit dem Namen "pubkey script", das die Wallet-Adresse des Empfängers enthält.

Auf BTC : Signatur-Skriptfeld --- "script_hex" , Pubkey-Skriptfeld --- Adressen:
DIES IST NICHT DIE ADRESSE DES ABSENDERS! Angenommen, Alice zahlt Bitcoins in eine Börse ein und Bill bittet dann die Börse, Charley zu bezahlen, wenn die Börse die von Alice hinterlegten Münzen verwendet, ist die "Adresse des Absenders" Alices Einzahlungsadresse, obwohl Bill der Absender ist. Beim Senden an diese Adresse wird Alice gutgeschrieben, nicht Bill.
Was meinst du mit "DAS"?
Die Adresse erhalten Sie, wenn Sie dem oben beschriebenen Verfahren folgen. Es ist tatsächlich die Empfangsadresse der Transaktion, die die Brieftasche finanziert hat, die die Zahlung vorgenommen hat, was nicht immer die Adresse des Absenders ist. Siehe mein Beispiel oben.
Vielen Dank für die bisherigen Erkenntnisse: "Sie können die Brieftaschenadresse des Absenders aus dem öffentlichen Schlüssel abrufen" - eine vorgeschlagene Methode oder ein Beispiel?
@Maz Bitcoin hat kein Konzept einer "Absenderadresse". Wenn Sie wissen möchten, wer Sie bezahlt hat, geben Sie für jede Rechnung/erwartete Zahlung eine andere Adresse an. Wenn Sie in der Lage sein möchten, Personen eine Rückerstattung zu gewähren, fragen Sie sie nach einer Rückerstattungsadresse, bevor sie Sie bezahlen. Erraten Sie die Adresse des Absenders nicht anhand der Transaktion; die Info ist nicht da.

Sie müssen die Transaktionen crawlen, wodurch Sie Vout-Adressen erhalten, dh die Empfängeradresse

und um die Absenderadresse zu erfahren , müssen Sie Vin txid crawlen und die Vout-Adresse mit den Parametern "vout" und "n" der Rohtransaktion abgleichen , die Ihre Absenderadresse sein wird. Sie können den Link überprüfen , der Ihnen zeigt, wie dies in Python 2.7 gemacht wird