Class: RPC::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/rpc/client.rb

Class Method Summary collapse

Class Method Details

.close!Object



6
7
8
# File 'lib/rpc/client.rb', line 6

def self.close!
  request("stop_wallet")
end

.request(method, params = "") ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rpc/client.rb', line 10

def self.request(method, params="")
  data = '{"jsonrpc":"2.0","id":"0","method": "'+method+'", "params": '+params.to_json+' }'

  args = ""
  args << " -s"
  args << " -u #{RPC.config.username}:#{RPC.config.password} --digest"
  args << " -X POST #{base_uri}/json_rpc"
  args << " -d '#{data}'"
  args << " -H 'Content-Type: application/json'"

  p "curl #{args}" if RPC.config.debug

  json = JSON.parse(`curl #{args}`)

  # Error handling
  if json["error"]
    raise "#{json["error"]["message"]} | code: #{json["error"]["code"]}"
  end

  json["result"]
end