How does the transaction received from getdata relates to data from


Say my printed output format is for a tx object is:

<Tx version: (version)>
        (TxIns prev_output_hash)
    tx_outs: (TxOut values), total:(sum of TxOut values)>

If I have this output:

<Tx version: 2 
<TxIn 8d203ebc847f5a0def5d50aa0f05da8701f6248b0db7ad313030bdbe3495c91e>,
<TxIn 4b995a79b3026d9dcceeb81cdf0b1599c8fbbd2a9d1466a3d97437a8b24ad02e>,
<TxIn 5da3a822d936733788d93a681be4ca8b3b6dc7d82c02713159ad59b75f9d0495> 
    tx_outs: 0.00853117,0.00988388, total:0.01841505>

how does my data relate to the actual information that we can get from Because when I checked the transaction hashes with I just don't see the connections, especially the output values.


Posted 2019-07-04T13:09:25.463

Reputation: 61

Can you provide an example of the values on that you can't link? – Raghav Sood – 2019-07-04T14:10:10.830

sure, in order , the links are , , . the only pattern i can see is that my output total is 0.01841505 and from the three links above we can just find one transaction that has 0.00976745, 0.00120199, 0.0076 in each link which if we sum it will give approximately what we want

– nicholas___ – 2019-07-04T14:24:32.043

how ever i am still very unsure plus i still cant draw the line for the output values and how can i translate it to the information in – nicholas___ – 2019-07-04T14:27:58.800

Those are the input transactions, if you want to look at outputs you should be looking at

– Raghav Sood – 2019-07-04T14:28:04.217

Oh wow! How did you get to this link from the three input transactions? – nicholas___ – 2019-07-04T14:34:26.213

so how can i differentiate the data (i.e. distinguish the input from the output) on the peer 2 peer network and the ? – nicholas___ – 2019-07-04T14:35:43.187

and also then how can i get the transaction hash of my output such as above? – nicholas___ – 2019-07-04T15:01:17.250

Thanks in advance ! @RaghavSood – nicholas___ – 2019-07-04T15:01:36.427

You compute the transaction hash by hashing the transaction. – Pieter Wuille – 2019-07-04T16:49:46.400


2 (and other block explorers) do additional processing of the transaction data in order to make it more user friendly to follow the path of coin movement through multiple transactions. Additionally, it seems that whatever you are using to print out the transaction details is not showing you all of the information.

In a transaction, each input specifies the output that it is spending by using the transaction id of the transaction containing that output, and the 0-based index of that output in the list of outputs. in their own internal databases links these two transactions together thus allowing you to visit the page for the previous transaction.

They display addresses in inputs because they inspect the output that is being spent, determine the address it corresponds to, and shows that address as the input for a transaction. Bitcoin does not actually use addresses and you won't see addresses in the inputs of transactions.

For the outputs, it appears that whatever software you are using is not displaying the full output information. Outputs contain both an amount and an output script which is not being shown to you. This output script typically corresponds to an address, so will determine the corresponding address for an output script (if it has one) and display that. Because they have databases that index addresses and their transactions, they are able to both give you a list of transactions for a particular address as well as point you to the transaction that spends that output.

Andrew Chow

Posted 2019-07-04T13:09:25.463

Reputation: 50 267

I see! no , in fact i have all of the information but i just didnt think it was useful for me thus i decided not to print it out! Thanks a lot! – nicholas___ – 2019-07-04T17:06:14.723