Given a Tx message, how does one calculate how big a fee one paid for the transaction?


Use the following pseudocode:

TotalOutputValue = 0
For each Output in tx_out array
  TotalOutputValue += Output[value]
TotalInputValue = 0
For each Input in tx_in array
  PreviousOutput = Input[previous_output]
  PreviousTransaction = PreviousOutput[hash]
  OutputIndex = PreviousOutput[index]
  Look up the transaction with hash PreviousTransaction
  Output = The output with index OutputIndex in that transaction
  TotalInputValue += Output[value]
Fee = TotalInputValue - TotalOutputValue

you will find more details ( and less technical than pseudocode ) concerning the fee structure on : https://en.bitcoin.it/wiki/Transaction_fees see also https://en.bitcoin.it/wiki/Free_transaction_relay_policy

  • Those links have no information at all about what was asked in the question. Dec 17 '11 at 16:27

This isn't possible with just the message.

  • ... because the fee is simply the difference between the sum of the inputs and the sum of the outputs, and the transaction message doesn't specify the value of the inputs. It only provides hashes and output numbers of the transactions which provide the inputs, and so we need access to those transaction messages too. Is that what you meant? Mar 7 '12 at 4:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.