Inside Bitcoin
Opening the selected file…
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1// Copyright (c) 2009-2010 Satoshi Nakamoto2// Copyright (c) 2009-present The Bitcoin Core developers3// Distributed under the MIT software license, see the accompanying4// file COPYING or http://www.opensource.org/licenses/mit-license.php.6#ifndef BITCOIN_CONSENSUS_CONSENSUS_H7#define BITCOIN_CONSENSUS_CONSENSUS_H9#include <cstddef>10#include <cstdint>12/** The maximum allowed size for a serialized block, in bytes (only for buffer size limits) */13inline constexpr unsigned int MAX_BLOCK_SERIALIZED_SIZE{4'000'000};14/** The maximum allowed weight for a block, see BIP 141 (network rule) */15inline constexpr unsigned int MAX_BLOCK_WEIGHT{4'000'000};16/** The maximum allowed number of signature check operations in a block (network rule) */17inline constexpr int64_t MAX_BLOCK_SIGOPS_COST{80'000};18/** Coinbase transaction outputs can only be spent after this number of new blocks (network rule) */19inline constexpr int COINBASE_MATURITY = 100;21inline constexpr int WITNESS_SCALE_FACTOR = 4;23inline constexpr size_t MIN_TRANSACTION_WEIGHT = WITNESS_SCALE_FACTOR * 60; // 60 is the lower bound for the size of a valid serialized CTransaction24inline constexpr size_t MIN_SERIALIZABLE_TRANSACTION_WEIGHT = WITNESS_SCALE_FACTOR * 10; // 10 is the lower bound for the size of a serialized CTransaction26/** Flags for nSequence and nLockTime locks */27/** Interpret sequence numbers as relative lock-time constraints. */28inline constexpr unsigned int LOCKTIME_VERIFY_SEQUENCE = (1 << 0);30/**31* Maximum number of seconds that the timestamp of the first32* block of a difficulty adjustment period is allowed to33* be earlier than the last block of the previous period (BIP94).34*/35inline constexpr int64_t MAX_TIMEWARP = 600;37#endif // BITCOIN_CONSENSUS_CONSENSUS_H