How can I determine the number of confirmations of a transaction and its fee using the Blockchain.info DATA API?

7

4

How can I know if any given transaction has confirmations and has paid the miner's fee, using the BlockChain.info DATA API?

flaab

Posted 2013-01-28T02:37:02.853

Reputation: 824

Answers

6

If a transaction returned from the http://blockchain.info/rawtx/$tx_hash endpoint has a confirmation, it will have a block_height member. You can then calculate roughly its number of confirmations by subtracting that value from the latest height retrieved from the http://blockchain.info/latestblock endpoint.

Code example, in Ruby:

#!/usr/bin/env ruby
require "open-uri"
require "json"
# call this script with `ruby block_height.rb <tx_hash>`
tx = ARGV.shift
puts "Getting info for #{tx}..."
j = JSON.parse open("http://blockchain.info/rawtx/#{tx}").read
if j["block_height"]
  b = JSON.parse open("http://blockchain.info/latestblock").read
  puts "%d confirmations" % (b["height"] - j["block_height"] + 1)
else
  time_since = Time.now.gmtime.to_i - j["time"]
  puts "It's been #{time_since} seconds since the transaction was created."
  puts "It's not been ten minutes yet!" if time_since < 600
  puts "It's due any time now." if time_since >= 600
end

Calculating the transaction fee is best done by summing the inputs and outputs of a transaction, then subtracting the inputs from the outputs. Difference is the transaction fee.

Colin Dean

Posted 2013-01-28T02:37:02.853

Reputation: 6 559

verifies but just out of curiosity, how do I explain the relations between the number of confirmations, the tx block height and the latest block height?user237419 2015-11-02T06:37:20.743

number of confirmations = latest block height - tx block heightColin Dean 2015-11-06T19:35:46.883

Hi Colin! Thanks a lot! Could you expand a bit on the block_height part?flaab 2013-01-28T15:51:19.513

Added a code example for you.Colin Dean 2013-01-29T02:54:53.017

1

I have created a simple php function with my basic knowledge of php. here

function get_tx_confirmation($tx_hash_id){ $raw_lastest_block= json_decode(file_get_contents("https://blockchain.info/latestblock"), true); $lastest_block=$raw_lastest_block["height"];
$raw_tx=json_decode(file_get_contents("https://blockchain.info/rawtx/$tx_hash_id"), true); $tx_block_height=$raw_tx["block_height"]; $confirmations = $lastest_block - $tx_block_height +1; return $confirmations;
}

Meet Electrode

Posted 2013-01-28T02:37:02.853

Reputation: 11

This is just to get the amount of transactions using the hash idMeet Electrode 2017-01-29T15:13:24.497