Module constants

Expand description

Blockdata constants.

This module provides various constants relating to the blockchain and consensus code. In particular, it defines the genesis block and its single transaction.

Structs§

ChainHash
The uniquely identifying hash of the target blockchain.

Constants§

COIN_VALUE
How many satoshis are in “one bitcoin”
DIFFCHANGE_INTERVAL
How many blocks between diffchanges
DIFFCHANGE_TIMESPAN
How much time on average should occur between diffchanges
MAX_BLOCK_SIGOPS_COST
The maximum allowed number of signature check operations in a block
MAX_BLOCK_WEIGHT
The maximum allowed weight for a block, see BIP 141 (network rule)
MAX_SCRIPTNUM_VALUE
Maximum allowed value for an integer in Script.
MAX_SCRIPT_ELEMENT_SIZE
The maximum allowed script size.
MIN_TRANSACTION_WEIGHT
The minimum transaction weight for a valid serialized transaction
PUBKEY_ADDRESS_PREFIX_MAIN
Mainnet (bitcoin) pubkey address prefix.
PUBKEY_ADDRESS_PREFIX_TEST
Test (tesnet, signet, regtest) pubkey address prefix.
SCRIPT_ADDRESS_PREFIX_MAIN
Mainnet (bitcoin) script address prefix.
SCRIPT_ADDRESS_PREFIX_TEST
Test (tesnet, signet, regtest) script address prefix.
SUBSIDY_HALVING_INTERVAL
How may blocks between halvings.
TARGET_BLOCK_SPACING
How many seconds between blocks we expect on average
WITNESS_SCALE_FACTOR
The factor that non-witness serialization data is multiplied by during weight calculation

Functions§

genesis_block
Constructs and returns the genesis block
max_money
The maximum value allowed in an output (useful for sanity checking, since keeping everything below this value should prevent overflows if you are doing anything remotely sane with monetary values).
max_target
In Bitcoind this is insanely described as ~((u256)0 >> 32)