I am new to test "bitcoin-ruby" to parse bitcoin blockchain data. But while testing it, I am having issues to make some bitcoin-cli commands to get this to work. The environment I'm using is :
*Linux version- Ubuntu 16.04 LTS *Bitcoin Core version- 0.14.2 *Rbenv version- 2.4.3 *Gem version -2.6.14 *Ruby version- *Bitcoin-ruby version *ruby -2.4.3p205 (2017-12-14 revision 61247) *bitcoin-ruby version- 0.0.15
Here are the codes I am using to parse the data :
require 'bitcoin'
require 'net/http'
require 'json'
RPCUSER = "***"
RPCPASSWORD ="***"
HOST = "localhost"
PORT= 8332
def bitcoinRPC(method,param)
http = Net::HTTP.new(HOST,PORT)
request = Net::HTTP::Post.new('/')
request.basic_auth(RPCUSER,RPCPASSWORD)
request.content_type = 'application/json'
request.body = {method: method, param: param, id: 'jsonrpc'}.to_json
JSON.parse(http.request(request).body)["result"]
end
The following bitcoin-cli commands are working via bitcoinRPC :
bitcoinRPC("help",[])
bitcoinRPC("getnewaddress",[])
bitcoinRPC("getchaintips",[])
But following returns "nil" vale :
bid = "0000000000000000004bd4aff1966f6df18b1dba6f6ef83a878e526ab31eee73" bitcoinRPC("getblock",[bid])-> "nil"
Any idea how to fix this issue?
Thanks in advance.