¿Cómo obtener el saldo de bitcoin de una clave pública en C#?

¿Cómo puedo obtener el saldo de bitcoin de una clave pública en C#?

Por ejemplo, para esta clave pública: 1FqLoEpbQpMxow5bqEPpFbPVnBEbFcsg3J

¿Cómo puedo obtener su saldo en C#?

Eso me parece una dirección, no una clave pública. Editado en consecuencia. Pregunta sin respuesta relacionada: C# analiza la cadena de bloques de bitcoin para obtener el saldo de una dirección

Respuestas (3)

Si está de acuerdo con un servicio de terceros, consulte la API de Blockchain .

Tienen una biblioteca C# y es bastante fácil de usar.

Si solo necesita el saldo de una dirección, puede usar el código a continuación como se describe en su página 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);
Traté de implementar su ejemplo, pero solo da varios mensajes de error: using System; usando System.Collections.Generic; utilizando System.Linq; utilizando Info.Blockchain.API; usando Info.Blockchain.API.BlockExplorer; espacio de nombres ConsoleApplication3 { class Program { static void Main(string[] args) { var blockExplorer = new BlockExplorer(); var salidas = blockExplorer.GetUnspentOutputs("1EjmmDULiZT2GCbJSeXRbjbJVvAPYkSDBw"); long totalUnspentValue = outs.Sum(x => x.Value); } } }
Parece que esta biblioteca está desactualizada y la nueva versión requiere una cuenta de billetera en su sitio web. Sin embargo, estoy buscando una solución independiente porque es más rápida.
@emcor ¡Tienes razón! Acabo de probar su versión actual y parece que cambiaron mucho y no actualizaron sus muestras en la documentación. Tienen sus métodos asincrónicos generados y se debe acceder a BlockExplorer a través de BlockchainApiHelper, que necesita algunos parámetros que obtenemos después de solicitar una clave API ( api.blockchain.info/v2/apikey/request o blockchain.info/api/api_create_code ). Lo siento por la información desactualizada, mi mal!

Eche un vistazo a Blockparser: https://github.com/znort987/blockparser **

Le permitirá analizar datos de blockchain para verificar saldos (entre otras cosas)

Gracias. Este paquete requiere C++ y Unix, ¿hay alguna solución en C# en Windows?
@emcor Puede haber, pero no estoy familiarizado con uno, lo siento. Tal vez alguien más pueda hacer una sugerencia mejor.
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;
 }