class Bitcoin2Graphdb::Bitcoin::BlockchainProvider

Attributes

api[R]

Public Class Methods

new(config) click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 17
def initialize(config)
  @api = OpenAssets::Api.new(config)
  @api
end

Public Instance Methods

block(block_hash) click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 22
def block(block_hash)
  b = api.provider.getblock(block_hash)
  raise OpenAssets::Provider::ApiError.new('{"code"=>-8, "message"=>"Block height out of range"}') if b['confirmations'] < min_block_confirmation
  b
end
block_hash(block_height) click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 28
def block_hash(block_height)
  api.provider.getblockhash(block_height)
end
oa_outputs(txid, cache = true) click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 36
def oa_outputs(txid, cache = true)
  api.get_outputs_from_txid(txid, cache)
end
tx(txid) click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 32
def tx(txid)
  api.provider.getrawtransaction(txid, 1)
end

Private Instance Methods

min_block_confirmation() click to toggle source
# File lib/bitcoin2graphdb/bitcoin/blockchain_provider.rb, line 41
def min_block_confirmation
  api.config[:min_block_confirmation] ? api.config[:min_block_confirmation] : 2
end