Measuring Bitcoin Core sync progress from two observations

During initial sync, a node can know thousands of headers ahead of the blocks it has validated. Sample both heights to see which part of the process is advancing.

Take comparable samples

date -u
bitcoin-cli getblockchaininfo | jq '{chain, blocks, headers, bestblockhash, verificationprogress, initialblockdownload}'

Run the command on the same host again after five minutes and keep both timestamps. If blocks rises from 820000 to 820300 while headers stays at 825000, this node validated 300 additional heights during the interval. A static header height during that interval is compatible with forward progress.

Decide what to investigate

A widening gap with an advancing block height means validation is progressing while the node learns about more headers. If both heights stay flat for several samples and a trusted reference has advanced on the same network, check peer connectivity. If headers advance but blocks stay fixed, look in the node log for block download or validation errors and check free disk space.

Bitcoin Core 30 reports verificationprogress as an estimate between zero and one. Block sizes and verification costs vary across history. Projecting a completion time from one five-minute interval can therefore give a misleading ETA, particularly when a node crosses into a busier part of the chain.

bitcoincore.org getblockchaininfo · bitcoincore.org getpeerinfo