Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: swinewine on December 09, 2010, 04:30:56 PM



Title: Consuming JSON-RPC from Bitcoin using .net
Post by: swinewine on December 09, 2010, 04:30:56 PM
Hi guys,

Does anyone have any experience Consuming JSON-RPC from Bitcoin using (c#) .net?
I have been trying to get a basic application to work using jayrock but I cant get any of the methods to return JSON to me.

Any help here would be appreciated.

Cheers,

BC


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: swinewine on December 09, 2010, 04:52:40 PM
Hi davidonpda thanks for the response,

Yes I am running it with -server and I am able to access the commands via the command line.
I am able to authenticate but when I make a JSON-RPC call to bitcoin I get no errors.
Have you ever tried this with .net/jayrock or any other .net package ?

Thanks again,

BC


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: swinewine on December 09, 2010, 05:06:38 PM
Bingo!

Im ok now, I think I am on top of it.


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: kkinnett on February 28, 2011, 06:55:58 PM
What was your issue and how did you resolve it? I am trying to do the same thing, and have username and password set, and the allowed ip set to *.*.*.*

I keep sending out a request like this
{"id":"1","method":"getinfo","params":[]}

but i am constantly getting back this
{"result":null,"error":{"code":-32700,"message":"Parse error"},"id":null}

any clue on what I am doing wrong?


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: Gavin Andresen on February 28, 2011, 07:32:30 PM
Are you setting the ContentType as described here:
  https://en.bitcoin.it/wiki/API_tutorial_(JSON-RPC)#.NET_(C_) (https://en.bitcoin.it/wiki/API_tutorial_(JSON-RPC)#.NET_(C_))


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: kkinnett on February 28, 2011, 08:01:27 PM
I am, yes.


            WebRequest request = GetWebRequest(new Uri(Url));
            request.Method = "POST";
            request.ContentType = "application/json-rpc";
            request.Credentials = new NetworkCredential("<myuser>", "<mypass>");

I am creating the request via the JayRock JsonObject type.

            using (var stream = request.GetRequestStream())
            using (var writer = new StreamWriter(stream, Encoding.UTF8))
            {
                var call = new JsonObject();
                call["id"] = Convert.ToString(++_id);
                call["method"] = method;
                call["params"] = args;
                call.Export(new JsonTextWriter(writer));
            }

Thanks very much for the reply BTW :-)


Title: Re: Consuming JSON-RPC from Bitcoin using .net
Post by: BitterTea on February 28, 2011, 08:18:30 PM
You can take a look at my sources here: https://github.com/Fnordsoft/Bitcoin-Projects/tree/master/Libraries/Bitcoin/src/JSON-RPC

I didn't want to use a JSON library, so I decided to write my own wrapper. It seems to work ok, at least for Bitcoin, though it is not complete.