Class: InfuraRuby::Client
- Inherits:
-
Object
- Object
- InfuraRuby::Client
- Defined in:
- lib/infura_ruby/client.rb
Constant Summary collapse
- NETWORK_URLS =
Infura URLs for each network.
{ main: 'https://mainnet.infura.io', test: 'https://ropsten.infura.io', consensys: 'https://consensysnet.inufra.io' }.freeze
- JSON_RPC_METHODS =
[ 'eth_getBalance' ].freeze
Instance Method Summary collapse
-
#get_balance(address) ⇒ Object
Returns balance of address in wei as integer.
-
#initialize(api_key:, network: :main) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(api_key:, network: :main) ⇒ Client
17 18 19 20 21 22 23 |
# File 'lib/infura_ruby/client.rb', line 17 def initialize(api_key:, network: :main) validate_api_key(api_key) validate_network(network) @api_key = api_key @network = network end |
Instance Method Details
#get_balance(address) ⇒ Object
Returns balance of address in wei as integer.
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/infura_ruby/client.rb', line 26 def get_balance(address) resp = conn.post do |req| req.headers['Content-Type'] = 'application/json' req.body = json_rpc(method: 'eth_getBalance', params: [address, 'latest']).to_json end resp_body = JSON.parse(resp.body) wei_amount_hex_string = resp_body['result'] wei_amount_hex_string.to_i(16) end |