Ich habe eine beliebte Antwort gelesen , die erklärt, wie man die Adresse der Person findet, die eine Transaktion gesendet hat, und der Pseudocode in dieser Antwort ergibt für mich nicht viel Sinn.
txid = <relevant transaction id>
addresses = []
raw_tx = decoderawtransaction(getrawtransaction(txid))
for(input in raw_tx['vin']) {
input_raw_tx = decoderawtransaction(getrawtransaction(input['txid']))
addresses.push(input_raw_tx['vout'][input['vout']]['scriptPubKey']['addresses'][0])
}
Hier ist der Teil, den ich verstanden habe. Eine erstellte Brieftasche txid
kann viele Eingaben von verschiedenen Adressen verwenden, um diesen Geldbetrag zu senden. Aus diesem Grund iterieren wir input in raw_tx['vin']
und erstellen eine Liste von Adressen addresses = []
.
Hier ist ein Teil, der für mich unklar ist:
input_raw_tx['vout'][input['vout']]['scriptPubKey']['addresses'][0]
input_raw_tx['vout']
gibt die Liste zurück. So input['vout']
sollte der Index dieser Liste zurückgegeben werden. Aber es gibt auch eine Liste zurück. Kann jemand erklären, was los ist?
Auch diese Antwort wurde im alten Jahr 2013 geschrieben. Hat sich in diesen 4 Jahren etwas geändert und gibt es eine einfachere Möglichkeit, die Rücksendeadresse ab Anfang 2918 zu finden?
Wiederholen Sie nach mir: Bitcoin-Transaktionen haben keine Rücksendeadresse. Bitcoin-Transaktionen haben keine Absenderadresse.
Wie Sie sagen, kann eine Transaktion mehrere Eingaben haben. Jede Eingabe gibt eine Münze aus, die zuvor von einer bestimmten Adresse/Taste oder einem bestimmten Skript gesteuert wurde. Diese „Eingangsadressaten“ sind jedoch aus mehreren Gründen keine Absenderadressen:
Wenn Sie etwas Geld zurückerstatten möchten, gibt es im Allgemeinen nur eine Lösung: Fragen Sie den Absender rechtzeitig nach einer Rückerstattungsadresse.