¿Hay envoltorios de C# para la API REST de Bitcoin?

¿Hay algún wapper de C# que adopte un enfoque OOO para la API REST de Bitcoin y lo encapsule en un formato fácil de usar?

Respuestas (6)

Eche un vistazo a este envoltorio C# bitcoin rpc api: https://github.com/GeorgeKimionis/BitcoinLib que, a diferencia de bitnet, está actualizado.

¡Esta es hasta ahora la mejor biblioteca en esta página!

La biblioteca c# actualizada más reciente para .net es .Net-Bitcoin-RPC con documentación completa sobre cada llamada. Muy fácil de usar.

Soy el autor de WalletClient.net y está bastante actualizado y cubre la mayoría de los comandos json-rpc. Tiene un modelo asíncrono y objetos de retorno fuertemente tipados. También hay soporte específico para Blockchain.info frente a Bitcoind nativo.

Déjame saber lo que piensas.

Me gusta la integración de Blockchain, la solución de George parece ser mejor en el lado de QT.

Escribí mi propio envoltorio, no fue complicado, esta es la esencia básica a continuación. Adaptarse a sus necesidades específicas.

Ejemplo de obtener una transacción sin procesar

internal static string GetRawTransaction(string txid)
{
    var CredentialCache = new CredentialCache();
    CredentialCache.Add(new Uri("http://127.0.0.1:8332"), "Basic", new NetworkCredential("[your rpc username]", "your rpc password"));

    var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:8332");
    httpWebRequest.ContentType = "text/json";
    httpWebRequest.Method = "POST";
    httpWebRequest.Credentials = CredentialCache;

    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json;
        json = "{ \"jsonrpc\": \"2.0\", \"id\":\"" + Guid.NewGuid().ToString() + "\", \"method\": \"getrawtransaction\",\"params\":[\"" + txid + "\",1]}";

        streamWriter.Write(json);
    }
    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        var responseText = streamReader.ReadToEnd();
        return responseText;
    }
}

https://github.com/Glasswalker/Wallet.Net/tree/master/Bitnet.Client Utilizo el cliente bitnet, nada más que cosas buenas que decir, si falta algo que necesita, es bastante fácil agregar/modificar cualquier cosa que necesite.

Si abre bitcoin -qt, vaya a la consola y escriba ayuda, verá una lista de todos los métodos. (ya que no todos están implementados en bitnet)

Aquí está mi trabajo, principalmente para transacciones, pero probablemente lo actualice en el tiempo libre.

https://github.com/kamilk91/BitcoinManagerCsharp