Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|improve this question

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

share|improve this answer
2  
This is so far the best library on this page! – LamonteCristo Feb 13 '14 at 2:19

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.

share|improve this answer
1  
I like the Blockchain integration, George's solution seems to be better on the QT side. – LamonteCristo Feb 13 '14 at 2:18

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;
    }
}
share|improve this answer

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)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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