8

Are there any C# wappers that take an OOO approach to the Bitcoin REST API, and encapsulate it in an easy to use format?

2

Take a look at this c# bitcoin rpc api wrapper: https://github.com/GeorgeKimionis/BitcoinLib that, unlike bitnet, is up-to-date.

  • 2
    This is so far the best library on this page! – goodguys_activate Feb 13 '14 at 2:19
1

I'm the author of WalletClient.net and it's fairly up to date, covering most of the json-rpc commands. It has an async model and strongly typed return objects. There's also specific support for Blockchain.info vs native Bitcoind.

Let me know what you think.

  • 1
    I like the Blockchain integration, George's solution seems to be better on the QT side. – goodguys_activate Feb 13 '14 at 2:18
1

I wrote my own wrapper, it wasn't complicated, this is the basic gist of it below. Adapt for your specific needs.

Example of getting raw transaction

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;
    }
}
0

https://github.com/Glasswalker/Wallet.Net/tree/master/Bitnet.Client I use bitnet client, nothing but good things to say, if its missing anything you need its quite easy to add/modify anything you need.

If you open up bitcoin -qt then go to the console and type in help you will see a list of all the methods. (as not every single one is implemented in bitnet)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.