class Meeseeker::SteemEngine::Agent
Constants
- POST_HEADERS
Public Class Methods
new(options = {})
click to toggle source
Calls superclass method
# File lib/meeseeker/steem_engine/agent.rb, line 10 def initialize(options = {}) super self.user_agent = Meeseeker::AGENT_ID self.max_history = 0 self.default_encoding = 'UTF-8' @node_url = options[:url] || Meeseeker::steem_engine_node_url end
Public Instance Methods
block(block_num)
click to toggle source
# File lib/meeseeker/steem_engine/agent.rb, line 47 def block(block_num) 5.times do request_body = { jsonrpc: "2.0", method: :getBlockInfo, params: { blockNumber: block_num.to_i }, id: rpc_id }.to_json response = request_with_entity :post, blockchain_uri, request_body, POST_HEADERS block = JSON[response.body]["result"] return block if !!block sleep 3 end return nil end
blockchain_http_post()
click to toggle source
# File lib/meeseeker/steem_engine/agent.rb, line 24 def blockchain_http_post @http_post ||= Net::HTTP::Post.new(blockchain_uri.request_uri, POST_HEADERS) end
blockchain_uri()
click to toggle source
# File lib/meeseeker/steem_engine/agent.rb, line 20 def blockchain_uri @blockchain_uri ||= URI.parse(@node_url + '/blockchain') end
latest_block_info()
click to toggle source
# File lib/meeseeker/steem_engine/agent.rb, line 28 def latest_block_info 5.times do request_body = { jsonrpc: "2.0", method: :getLatestBlockInfo, id: rpc_id }.to_json response = request_with_entity :post, blockchain_uri, request_body, POST_HEADERS latest_block_info = JSON[response.body]["result"] return latest_block_info if !!latest_block_info sleep 3 end return nil end
Private Instance Methods
rpc_id()
click to toggle source
# File lib/meeseeker/steem_engine/agent.rb, line 69 def rpc_id @rpc_id ||= 0 @rpc_id = @rpc_id + 1 end