Я смотрю на API blockchain.info, и мне трудно найти значение входящих транзакций. Меня интересует только это и количество входящих транзакций.
В качестве примера здесь: https://blockchain.info/rawaddr/15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi
или здесь: https://blockexplorer.com/api/txs/?address=15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi
В нем перечислены как входящие, так и исходящие транзакции, а для транзакций с несколькими входами все они перечислены по отдельности. Так что я не могу просто использовать скрипт для поиска «значения», что было моей первой идеей. Есть ли лучший способ сделать это?
Проверьте, сколько всего выходных данных для 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>");
}
}
}
Волшебник Оззи
бивепепи