<p>Blocks do not contain transcation ids at all, they contain the full transactions themselves. If you are using the <code>getblock</code> rpc and seeing txids, that's just because showing the details of all of the transactions is extremely verbose, so only the txids are output. You can see the full transaction details of a block by setting the second argument to <code>2</code>.</p>

CC BY-SA 4.0
2020-10-09T00:46:48.747Z
2020-10-09T00:46:48.747Z
Ava Chow
<p>I know that blocks store transactions. After looking into a block, I can see that it only stores txIDs.</p>
<p><strong>Question 1 - Where are actual transaction objects stored?</strong></p>
<p>If you tell me that it's stored in a separate database called UTXO Set, I might say that the UTXO Set only stores an unspent transactions, what about spent transactions?</p>
<p><strong>Question 2</strong> If I join the network and I am new, my node starts syncing with other nodes to download the blockchain. But since each block only contains txIds, how does my node end up validating transactions (to validate, it needs to know if <code>from</code> address has the actual balance).</p>
<p>Does it mean that nodes also broadcast UTXO databases too and if so, how and when?</p>
<p>I'd appreciate a good explanation on this topic.</p>

<bitcoin-core><transactions><blockchain><synchronization>
Blocks seem to store only txIDs, where does the transaction data come from for IBD?
Nika Kurashvili
# Blocks seem to store only txIDs, where does the transaction data come from for IBD?

(Asked by: username_0 on 2020-10-08)

I know that blocks store transactions. After looking into a block, I can see that it only stores txIDs.

**Question 1 - Where are actual transaction objects stored?**

If you tell me that it's stored in a separate database called UTXO Set, I might say that the UTXO Set only stores an unspent transactions, what about spent transactions?

**Question 2** If I join the network and I am new, my node starts syncing with other nodes to download the blockchain. But since each block only contains txIds, how does my node end up validating transactions (to validate, it needs to know if `from` address has the actual balance).

Does it mean that nodes also broadcast UTXO databases too and if so, how and when?

I'd appreciate a good explanation on this topic.

**Tags:** bitcoin-core, transactions, blockchain, synchronization


---

## 1 answers

### Answer by username_1 on 2020-10-09. Score: 4 | Accepted answer

Blocks do not contain transcation ids at all, they contain the full transactions themselves. If you are using the `getblock` rpc and seeing txids, that's just because showing the details of all of the transactions is extremely verbose, so only the txids are output. You can see the full transaction details of a block by setting the second argument to `2`.


---

