Wie erhalte ich das Bitcoin-Guthaben eines öffentlichen Schlüssels in C#?

Wie kann ich das Bitcoin-Guthaben eines öffentlichen Schlüssels in C# abrufen?

ZB für diesen öffentlichen Schlüssel: 1FqLoEpbQpMxow5bqEPpFbPVnBEbFcsg3J

Wie kann ich das Gleichgewicht in C# erhalten?

Das sieht für mich nach einer Adresse aus, nicht nach einem öffentlichen Schlüssel. Entsprechend bearbeitet. Zugehörige unbeantwortete Frage: C# analysiert die Bitcoin-Blockchain, um das Gleichgewicht einer Adresse zu erhalten

Antworten (3)

Wenn Sie mit einem Drittanbieterdienst einverstanden sind, sehen Sie sich die Blockchain-API an .

Sie haben eine C#-Bibliothek und es ist ziemlich einfach zu bedienen.

Wenn Sie nur das Guthaben einer Adresse benötigen, können Sie den folgenden Code verwenden, wie auf der BlockExplorer-Seite beschrieben :

 // calculate the balanace of an address by fetching a list of all its unspent outputs
 var outs = blockExplorer.GetUnspentOutputs("1EjmmDULiZT2GCbJSeXRbjbJVvAPYkSDBw");
 long totalUnspentValue = outs.Sum(x => x.Value);
Ich habe versucht, Ihr Beispiel zu implementieren, aber es gibt nur verschiedene Fehlermeldungen: using System; mit System.Collections.Generic; mit System.Linq; mit Info.Blockchain.API; mit Info.Blockchain.API.BlockExplorer; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { var blockExplorer = new BlockExplorer(); var outs = blockExplorer.GetUnspentOutputs("1EjmmDULiZT2GCbJSeXRbjbJVvAPYkSDBw"); long totalUnspentValue = outs.Sum(x => x.Value); } } }
Es scheint, dass diese Bibliothek veraltet ist und die neue Version ein Wallet-Konto auf ihrer Website erfordert. Ich suche jedoch nach einer unabhängigen Lösung, weil es schneller ist.
@emcor Du hast Recht! Ich habe gerade ihre aktuelle Version getestet und es scheint, dass sie sich stark verändert und ihre Beispiele in der Dokumentation nicht aktualisiert haben. Sie haben ihre asynchronen Methoden generiert und auf den BlockExplorer muss über den BlockchainApiHelper zugegriffen werden, der einige Parameter benötigt, die wir nach der Beantragung eines API-Schlüssels erhalten ( api.blockchain.info/v2/apikey/request oder blockchain.info/api/api_create_code ). Entschuldigung für die veralteten Informationen, mein Fehler!

Schauen Sie sich Blockparser an: https://github.com/znort987/blockparser **

Damit können Sie Blockchain-Daten parsen, um (unter anderem) Salden zu überprüfen.

Vielen Dank. Dieses Paket erfordert C++ und Unix, gibt es eine Lösung in C# unter Windows?
@emcor Mag sein, aber ich kenne keinen, sorry. Vielleicht kann jemand anders einen besseren Vorschlag machen.
using Info.Blockchain.API.BlockExplorer;
using Info.Blockchain.API.Models;

internal decimal CheckBalance(string[] base58Addresses)  {
    BlockExplorer be = new BlockExplorer();
    IEnumerable<UnspentOutput> outs = be.GetUnspentOutputsAsync(base58Addresses).Result;
    decimal totalUnspentValue = outs.Sum(x => x.Value.GetBtc());

    return totalUnspentValue;
 }