Cómo obtener el valor de las transacciones entrantes de la API de Blockchain.info

Estoy mirando la API de blockchain.info y tengo dificultades para encontrar el valor de las transacciones entrantes. Eso y la cantidad de transacciones entrantes son las únicas cosas que me interesan.

Como ejemplo aquí: https://blockchain.info/rawaddr/15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi

o aquí: https://blockexplorer.com/api/txs/?address=15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi

Enumera las transacciones entrantes y salientes, y con transacciones con varias entradas, todas se enumeran individualmente. Por lo tanto, no puedo simplemente hacer que un script busque "valor", que fue mi primera idea. Hay una mejor manera de hacerlo?

¿Puedes aclarar lo que quieres decir? Entonces, su ejemplo busca todos los Txs para = 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi... ¿Está buscando el valor de las entradas que son 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi (es decir, está pagando a otras direcciones), o está buscando el par dirección/valor de todos los Txs que financian 15wsV4TYvGPrJnhoyCed6kWcRiuSo5?
Quiero enumerar mis pagos entrantes, solo los valores individuales de las transacciones que se han realizado para una determinada dirección. Las transacciones salientes son irrelevantes. ¡Me sorprende que no haya una manera más fácil de hacerlo, ya que pensarías que es una de las cosas más comunes que la gente busca!

Respuestas (1)

Verifique el total de salidas para el tx usando .length y luego haga un bucle for y ejecute cada salida para cada transacción. Use una declaración if para verificar si esa salida en particular tiene la dirección deseada en el campo 'dirección'. Si coincide, imprima ese valor en la pantalla.

Hice un violín que creo que debería funcionar, aunque no lo probé... http://jsfiddle.net/nmgus1fa/

var btcs = new WebSocket('wss://ws.blockchain.info/inv');

btcs.onopen = function()
{
btcs.send( JSON.stringify( {"op":"addr_sub", "addr":"15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi"} ) );
};

btcs.onmessage = function(onmsg)
{
  var response = JSON.parse(onmsg.data);
  var getOuts = response.x.out;
  var countOuts = getOuts.length; 
  for(i = 0; i < countOuts; i++)
  {
    //check every output to see if it matches specified address
    var outAdd = response.x.out[i].addr;
    var specAdd = "15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi";
       if (outAdd == specAdd )
       {
       var amount = response.x.out[i].value;
       var calAmount = amount / 100000000;
       $('#messages').prepend("<p>" + calAmount + "</p>");
       }
  } 
}