This guide explains Bitcoin Core verifychain RPC in plain English. It shows what the command does, what its result means and what it cannot prove.
TL;DR
- What it is: Bitcoin Core 0.16.0 verifychain checked the blockchain database and returned a boolean. Checklevel ranged from zero to four and defaulted to three. Nblocks defaulted to six, while zero requested all blocks. These knobs meant a true result described only the selected scope and thoroughness.
- Why it matters: verifychain provides scoped database-integrity evidence. Its value depends on explicit level and block depth, resource-aware scheduling and a conservative recovery plan when verification cannot complete cleanly.
- Current position: Require a second reviewer and explicit rollback or expiry, and pause payments, signing or network-dependent services until post-change evidence is complete.
Bitcoin Core verifychain RPC in simple English
Bitcoin Core verifychain RPC: Validate checklevel as an integer from zero through four and nblocks as a bounded non-negative integer. Record both values with node version, network and tip hash.
Simple example
A miner is checking Bitcoin Core verifychain RPC. After it completes, compare tip movement, peer state and service latency. A long call can make monitoring appear stale even if the database check succeeds.
Key terms in plain English
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Two independent controls
Validate checklevel as an integer from zero through four and nblocks as a bounded non-negative integer. Record both values with node version, network and tip hash. A report that merely says verifychain passed omits the parameters needed to understand what was examined.
Default scope
Omitting arguments uses level three over six blocks. That is a limited recent check, not a complete historical audit. Make the scope visible in monitoring and maintenance tickets so a quick routine run is never mistaken for an all-block verification.
All-block request
nblocks zero requests the full available chain scope, subject to the node and its stored data. Higher depth and level can consume substantial CPU, memory and storage I/O. Benchmark on representative hardware and schedule away from latency-sensitive payment or mining workloads.
Boolean interpretation
True means the selected verification completed without finding a failure under that version. False needs immediate preservation of logs and host evidence. Neither value identifies network majority, confirms current peers nor rules out latent disk or memory faults outside the examined path.
Operational baseline
Before the call capture best hash, height, chainwork, initial-block-download state, warnings, disk health and recent errors. After it completes, compare tip movement, peer state and service latency. A long call can make monitoring appear stale even if the database check succeeds.
Failure response
On false, RPC error, crash or host I/O warning, pause dependent financial services and preserve the original data directory. Do not improvise deletion or reindexing before backups and evidence are secured. Diagnose hardware, filesystem, block files, indexes and chainstate separately.
How specialists test it
Operators test the command on a non-production node first. They check a normal reply, an invalid request, a timeout and a restart. This shows what the response means and prevents one local result from being mistaken for a network-wide outcome.
Frequently asked questions
What is the main point of Bitcoin Core verifychain RPC?
Bitcoin Core verifychain RPC: Validate checklevel as an integer from zero through four and nblocks as a bounded non-negative integer.
For Bitcoin Core verifychain RPC, what should a beginner know about two independent controls?
Validate checklevel as an integer from zero through four and nblocks as a bounded non-negative integer.
For Bitcoin Core verifychain RPC, what should a beginner know about default scope?
Omitting arguments uses level three over six blocks. That is a limited recent check, not a complete historical audit.
For Bitcoin Core verifychain RPC, what should a beginner know about all-block request?
nblocks zero requests the full available chain scope, subject to the node and its stored data.
Conclusion
verifychain provides scoped database-integrity evidence. Its value depends on explicit level and block depth, resource-aware scheduling and a conservative recovery plan when verification cannot complete cleanly.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.