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

link|improve this question

72% accept rate
feedback

3 Answers

up vote 5 down vote accepted

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
link|improve this answer
feedback

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

link|improve this answer
Those links have no information at all about what was asked in the question. – Meni Rosenfeld Dec 17 '11 at 16:27
feedback

This isn't possible with just the message.

link|improve this answer
... 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? – Chris Moore Mar 7 at 4:06
feedback

Your Answer

 
or
required, but never shown

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