Как получить стоимость входящих транзакций из API Blockchain.info

Я смотрю на API blockchain.info, и мне трудно найти значение входящих транзакций. Меня интересует только это и количество входящих транзакций.

В качестве примера здесь: https://blockchain.info/rawaddr/15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi

или здесь: https://blockexplorer.com/api/txs/?address=15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi

В нем перечислены как входящие, так и исходящие транзакции, а для транзакций с несколькими входами все они перечислены по отдельности. Так что я не могу просто использовать скрипт для поиска «значения», что было моей первой идеей. Есть ли лучший способ сделать это?

Можете ли вы уточнить, что вы имеете в виду? Таким образом, ваш пример ищет все Txs для = 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi... Вы ищете значение входных данных, которые равны 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi (т.е. платят на другие адреса), или вы ищете пару адрес/значение всех Txs, финансирующих 15wsV4TYvGPrJnhoyCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6kWcNUuCed6y
Я хочу перечислить мои входящие платежи, поэтому просто отдельные значения транзакций, которые были сделаны для определенного адреса. Исходящие транзакции не имеют значения. Я удивлен, если нет более простого способа сделать это, поскольку вы думаете, что это одна из самых распространенных вещей, которые ищут люди!

Ответы (1)

Проверьте, сколько всего выходных данных для tx, используя .length, а затем выполните цикл for и пропустите каждый выход для каждой транзакции. Используйте оператор if, чтобы проверить, имеет ли этот конкретный вывод желаемый адрес в поле «addr». Если оно совпадает, выведите это значение на экран.

Я сделал скрипку, которая, как мне кажется, должна работать, но я ее не проверял... 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>");
       }
  } 
}