Abrufen aller Transaktionen zwischen zwei Adressen

Ich habe diese Abfrage verwendet, um zu versuchen, alle Transaktionen zwischen zwei Adressen abzurufen:

https://blockchain.info/multiaddr?active=1EipJdYVJbqsTSQhj1icK424AkMbyjvgBm|1LWwLvKWbcpiZYqCcwfuQ3gjjNJkxftmEJ

Aber die Sache ist - laut meiner Brieftasche gibt es viel mehr Transaktionen, die hier nicht im JSON-Ergebnis erscheinen .

Warum das?

Wie kann ich wirklich alle Transaktionen sehen?

Ich dachte, vielleicht wäre Blockexplorer besser als blockchain.info, aber eigentlich nicht so.

Sie haben es so:

https://blockexplorer.com/api/addrs/1EipJdYVJbqsTSQhj1icK424AkMbyjvgBm,1LWwLvKWbcpiZYqCcwfuQ3gjjNJkxftmEJ/txs?from=0&to=50

vielleicht wäre es besser, nur per txid abzufragen?

Wenn Sie "alle Transaktionen zwischen zwei Adressen" sagen, meinen Sie, dass Sie nur Transaktionen wünschen, an denen beide Adressen beteiligt waren, oder möchten Sie nur alle Transaktionen von beiden Adressen?
die dazwischen, aber auch solche, die nicht nur bidirektional sind, sondern vielleicht auch so viele andere, aber zumindest diese beiden

Antworten (2)

Ich glaube nicht, dass Sie dies mit nur einem einzigen API-Aufruf tun können. Ich würde alle Transaktionen von einer der Adressen zurückgeben und alle Ein- und Ausgänge durchlaufen und, wenn sie mit der anderen Adresse übereinstimmen, die TX-Daten anzeigen.

Sie sind sich nicht sicher, welche Sprache Sie verwenden, aber die Logik sollte dieselbe sein.

<?php
$addr1 = "1EipJdYVJbqsTSQhj1icK424AkMbyjvgBm";
$addr2 = "1LWwLvKWbcpiZYqCcwfuQ3gjjNJkxftmEJ";

$url = "https://blockchain.info/address/".$addr1."?format=json";
$fgc = json_decode(file_get_contents($url), true);

//num of txs
$txs = count($fgc["txs"]);

//loop through all txs
for($i=0;$i<$txs;$i++){
    //check all inputs & outputs for the other address
    //inputs
    $numinputs = count($fgc["txs"][$i]["inputs"]);
    for($ii=0;$ii<$numinputs;$ii++){
        if($fgc["txs"][$i]["inputs"][$ii]["prev_out"]["addr"] == $addr2){
            //found a corresponding tx
            print_r($fgc["txs"][$i]);
        }
    }//end inputs loop

    $numoutputs = count($fgc["txs"][$i]["out"]);
    for($iii=0;$iii<$numoutputs;$iii++){
        if($fgc["txs"][$i]["out"][$iii]["addr"] == $addr2){
            //found a corresponding tx
            print_r($fgc["txs"][$i]);
        }
    }//end outputs loop
}

?>

http://phpfiddle.org/main/code/8imw-ardy

warum ist das nicht einfach abzufragen?

Ich hatte auch Probleme. Dokumentation unklar. Dieser Link funktioniert per Browser: https://blockchain.info/multiaddr?address=641ad5051edd97029a003fe9efb29359fcee409d&address=1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq