So erhalten Sie den Wert eingehender Transaktionen von der Blockchain.info-API

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?

Können Sie klarstellen, was Sie meinen? Ihr Beispiel sucht also nach allen Txs nach = 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi ... Suchen Sie nach dem Wert der Eingaben, die 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi sind (dh an andere Adressen zahlen), oder suchen Sie nach dem Adress-/Wertpaar aller Txs, die 15wsV4TYvGPrJnhoyCed6kWcNUuSo5ykRi finanzieren?
Ich möchte meine Zahlungseingänge auflisten, also nur die einzelnen Werte von Transaktionen, die für eine bestimmte Adresse getätigt wurden. Ausgehende Transaktionen sind irrelevant. Ich bin überrascht, wenn es keinen einfacheren Weg gibt, da man denken könnte, dass dies eines der häufigsten Dinge ist, nach denen die Leute suchen!

Antworten (1)

Ü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>");
       }
  } 
}