He usado esta consulta para tratar de obtener todas las transacciones entre dos direcciones:
https://blockchain.info/multiaddr?active=1EipJdYVJbqsTSQhj1icK424AkMbyjvgBm|1LWwLvKWbcpiZYqCcwfuQ3gjjNJkxftmEJ
pero la cuestión es que, según mi billetera, hay muchas más transacciones que no aparecen en el resultado json aquí .
¿Porqué es eso?
¿Cómo puedo ver realmente todas las transacciones?
Pensé que tal vez blockexplorer sería mejor que blockchain.info, pero en realidad, no es así.
Lo tienen así:
https://blockexplorer.com/api/addrs/1EipJdYVJbqsTSQhj1icK424AkMbyjvgBm,1LWwLvKWbcpiZYqCcwfuQ3gjjNJkxftmEJ/txs?from=0&to=50
¿Quizás sería mejor simplemente consultar por txid?
No creo que puedas hacer esto con una sola llamada a la API. Devolvería todas las transacciones de una de las direcciones, recorrería todas las entradas y salidas y, si coinciden con la otra dirección, mostraría los datos tx.
No estoy seguro de qué idioma está usando, pero la lógica debería ser la misma.
<?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
}
?>
Yo también tuve problemas. La documentación no está clara. Este enlace funciona a través del navegador: https://blockchain.info/multiaddr?address=641ad5051edd97029a003fe9efb29359fcee409d&address=1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq
m1xolyd1an
smatthewenglish