Ich schaue mir die Blockchain.info-API an und habe Schwierigkeiten, den Wert eingehender Transaktionen zu ermitteln. Das und die Anzahl der eingehenden Transaktionen sind die einzigen Dinge, die mich interessieren.
Als Beispiel hier: https://blockchain.info/rawaddr/15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi
oder hier: https://blockexplorer.com/api/txs/?address=15wsV4TYvGPrJnhoyCed6kWcNUuso5ykRi
Es listet sowohl eingehende als auch ausgehende Transaktionen auf, und bei Transaktionen mit mehreren Eingängen werden sie alle einzeln aufgelistet. Ich kann also nicht einfach ein Skript nach "Wert" suchen lassen, was meine erste Idee war. Gibt es einen besseren Weg, es zu tun?
Überprüfen Sie mit .length, wie viele Ausgaben insgesamt für den tx ausgegeben werden, und führen Sie dann eine for-Schleife aus und durchlaufen Sie jede Ausgabe für jede Transaktion. Verwenden Sie eine if-Anweisung, um zu überprüfen, ob diese bestimmte Ausgabe Ihre gewünschte Adresse im Feld „Adresse“ enthält. Wenn es übereinstimmt, geben Sie diesen Wert auf dem Bildschirm aus.
Ich habe eine Geige gemacht, von der ich denke, dass sie funktionieren sollte, ich habe sie aber nicht getestet ... 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>");
}
}
}
Zauberer von Ozzie
biwepepi