Provides a Ruby library to the complete Startcoin JSON-RPC API. Implements all methods listed at en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list. Also supports customizing the host and port number to connect to.
To install gem just add this entry to your Gemfile
gem 'startcoin-client' gem 'json', '~> 1.5.3' # For Ruby < 1.9
As with most Ruby gems, you first need to require the library into your project:
require 'startcoin_client'
After doing this, the simplest possible usage looks like this:
StartcoinClient('username', 'password').balance # => 0.001
Or, if you prefer a somewhat more explicit representation, the following code performs the exact same task:
client = StartcoinClient::Client.new('username', 'password') client.balance # => 0.001
The RPC method names available to you are exactly the same as those listed on the Startcoin wiki (again, that’s en.bitcoin.it/wiki/Original_Startcoin_client/API_Calls_list). Some aliases have been added to make them more “ruby-ish,” but none of the original names have been changed.
Here are several examples of how you can change the host and proxy information:
StartcoinClient('username', 'password', :host => 'example.com', :port => 38332, :ssl => true, :proxy => 'http://someproxy.com') client = StartcoinClient::Client.new('username', 'password', :host => 'example.com') client.port = 38332 client.proxy = 'http://someproxy.com' client.ssl = true client.ssl? # => true
You should see the StartcoinClient::Client class documentation if you’d like to see the other options and methods that are made available.
It’s highly recommended to not connect StartcoinClient to live network, but instead use local testnet. One possibility is to use docker image called bitcoin-testnet-box (github.com/freewil/bitcoin-testnet-box). For installation process please follow instructions on its wiki page.
After successful instalation you can connect to wallets with following commands
StartcoinClient('admin1', '123', :host => '127.0.0.1', :port => 19001) StartcoinClient('admin2', '123', :host => '127.0.0.1', :port => 19011)
At this point you can use regular RPC methods provided in API