<blockquote>
  <p>How long has this message been supported by other clients?</p>
</blockquote>

<p>It was added by Satoshi in Bitcoin v0.3.18 (released on december 8th, 2010)</p>

<blockquote>
  <p>How many existing nodes support it?</p>
</blockquote>

<p>All of them. It has been used by SPV clients for a long time to do fast synchronization without downloading all historical blocks.</p>

CC BY-SA 4.0
2018-09-24T15:57:04.980Z
Was the `headers` message also there along with the `getheaders`, or did the `getheaders` use to respond with blocks?
scravy
CC BY-SA 4.0
2018-09-24T17:53:20.617Z
The `headers` message was also there.
Pieter Wuille
CC BY-SA 4.0
2018-09-25T09:25:56.380Z
The `headers` message includes a transaction count which is always zero, bitcoin-core even skips it with a comment "assume it is 0". It looks like this was supposed to ease writing software that could just apply its block parsing logic on that message. But technically that number of transactions is superfluous, right? So I believe it is just a historical artefact that does not serve any future purpose?
scravy
CC BY-SA 4.0
2018-09-25T11:01:54.177Z
That's right. At the time, there was no separate CBlockHeader and CBlock; a header was just a CBlock with no transactions.
Pieter Wuille
CC BY-SA 4.0
2020-05-03T09:40:30.340Z
@PieterWuille could you please answer my question:
https://bitcoin.stackexchange.com/questions/95676/how-to-getheaders-from-blockchain
Hamid Naghipour
CC BY-SA 4.0
2020-05-03T09:41:24.903Z
@PieterWuille or this one:
https://bitcoin.stackexchange.com/questions/95668/step-by-step-to-make-a-spv-bitcoin-node
I can't find how to create a spv client.
Hamid Naghipour
CC BY-SA 3.0
2015-02-19T16:42:05.397Z
2015-02-19T16:42:05.397Z
Pieter Wuille
<p>Bitcoin 0.10 uses getheaders to synchronize. How long has this message been supported by other clients? How many existing nodes support it?</p>

<synchronization><bitcoin-core>
When was getheaders added?
Nick ODell
# When was getheaders added?

(Asked by: username_0 on 2015-02-19)

Bitcoin 0.10 uses getheaders to synchronize. How long has this message been supported by other clients? How many existing nodes support it?

**Tags:** synchronization, bitcoin-core


---

## 1 answers

### Answer by username_1 on 2015-02-19. Score: 4 | Accepted answer

> How long has this message been supported by other clients?

It was added by Satoshi in Bitcoin v0.3.18 (released on december 8th, 2010)

> How many existing nodes support it?

All of them. It has been used by SPV clients for a long time to do fast synchronization without downloading all historical blocks.

> **Comments:**
> **username_2**: Was the `headers` message also there along with the `getheaders`, or did the `getheaders` use to respond with blocks?  
> **username_1**: The `headers` message was also there.  
> **username_2**: The `headers` message includes a transaction count which is always zero, bitcoin-core even skips it with a comment "assume it is 0". It looks like this was supposed to ease writing software that could just apply its block parsing logic on that message. But technically that number of transactions is superfluous, right? So I believe it is just a historical artefact that does not serve any future purpose?  
> **username_1**: That's right. At the time, there was no separate CBlockHeader and CBlock; a header was just a CBlock with no transactions.  
> **username_3**: @username_1 could you please answer my question: https://bitcoin.stackexchange.com/questions/95676/how-to-getheaders-from-blockchain  
> **username_3**: @username_1 or this one: https://bitcoin.stackexchange.com/questions/95668/step-by-step-to-make-a-spv-bitcoin-node I can't find how to create a spv client.  

---

