This section describes many of the consensus rules used by Bitcoin Core.
Each full node in the Bitcoin network independently stores a block chain containing only blocks validated by that node.
When several nodes all have the same blocks in their block chain, they are considered to be in consensus.
The validation rules these nodes follow to maintain consensus are called consensus rules.
The Developer Guide aims to provide the information you need to understand Bitcoin and start building Bitcoin-based applications, but it is not a specification.
To make the best use of this documentation, you may want to install the current version of Bitcoin Core, either from source or from a pre-compiled executable.
Questions about Bitcoin development are best asked in one of the Bitcoin development communities.
Errors or suggestions related to documentation on can be submitted as an issue or posted to the bitcoin-documentation mailing list.
In the following documentation, some strings have been shortened or wrapped: “[…]” indicates extra data was removed, and lines ending in a single backslash “\” are continued below.
If you hover your mouse over a paragraph, cross-reference links will be shown in blue.