Как получить биткойн-баланс открытого ключа в С#?

Как я могу получить биткойн-баланс открытого ключа в С#?

Например, для этого открытого ключа: 1FqLoEpbQpMxow5bqEPpFbPVnBEbFcsg3J.

Как я могу получить его баланс в С#?

Мне это кажется адресом, а не открытым ключом. Отредактировано соответственно. Связанный вопрос без ответа: С# анализирует биткойн-блокчейн, чтобы получить баланс адреса

Ответы (3)

Если вас устраивает сторонний сервис, ознакомьтесь с Blockchain API .

У них есть библиотека C#, и ее довольно легко использовать.

Если вам нужен только баланс адреса, вы можете использовать приведенный ниже код, как описано на их странице BlockExplorer :

 // 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);
Я пытался реализовать ваш пример, но он выдает только различные сообщения об ошибках: using System; используя System.Collections.Generic; с помощью System.Linq; с помощью Info.Blockchain.API; с помощью Info.Blockchain.API.BlockExplorer; пространство имен ConsoleApplication3 { class Program { static void Main(string[] args) { var blockExplorer = new BlockExplorer(); var outs = blockExplorer.GetUnspentOutputs("1EjmmDULiZT2GCbJSeXRbjbJVvAPYkSDBw"); long totalUnspentValue = outs.Sum(x => x.Value); } } }
Похоже, эта библиотека устарела, и для новой версии требуется учетная запись кошелька на их веб-сайте. Однако я ищу независимое решение, потому что оно быстрее.
@emcor Ты прав! Я только что протестировал их текущую версию, и кажется, что они сильно изменились и не обновили свои образцы в документации. У них сгенерированы асинхронные методы, и доступ к BlockExplorer должен осуществляться через BlockchainApiHelper, которому нужны некоторые параметры, которые мы получаем после подачи заявки на ключ API ( api.blockchain.info/v2/apikey/request или blockchain.info/api/api_create_code ). Извините за устаревшую информацию, мой плохой!

Взгляните на Blockparser: https://github.com/znort987/blockparser **

Это позволит вам анализировать данные блокчейна для проверки баланса (среди прочего).

Спасибо. Этот пакет требует C++ и Unix, есть ли решение на C# для Windows?
@emcor Может быть, но я не знаком ни с одним, извините. Возможно, кто-то другой может сделать лучшее предложение.
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;
 }