Beam Consensus Rules

WARNING: Used for development and testing only!

The following parameters allow to configuration of Consensus Rules in the Beam node and wallet.

Consensus Rules are for testing and development purposes only. Changing the consensus parameters changes the Rule Signature and breaks the node and wallet compatibility with the running Mainnet or Testnet servers.

Rules

ParameterDescription & Example
EmissionValue0Initial coinbase emission in a single block (in Groth, 10^-8 of Beam)
EmissionDrop0Height of the last block that still has the initial emission. Emission drops by half in the next block. Default equals one year (assuming one block per minute).
EmissionDrop1Number of blocks in halving cycle (defaults to four years, assuming one block per minute).
MaturityCoinbaseNumber of blocks that should be mined (verified) before coinbase UTXO can be spent.
MaturityStdNumber of blocks that should be mined (verified) before normal (non-coinbase) UTXO can be spent.
MaxBodySizeBlock body size (in bytes).
DesiredRate_sTarget block rate (in seconds).
DifficultyReviewWindowNumber of blocks in the window for the mining difficulty adjustment.
TimestampAheadThreshold_sBlock timestamp tolerance (in seconds).
WindowForMedianNumber of blocks considered in calculating the timestamp median.
AllowPublicUtxosFlag allowing regular (non-coinbase) UTXO to have non-confidential signature.
FakePoWFlag to disable verification of PoW. Mining is simulated by timer.

The sample below displays the corresponding .cfg fie section:

################################################################################
# Rules configuration:
################################################################################

# initial coinbase emission in a single block
# EmissionValue0=800000000

# height of the last block that still has the initial emission, the drop is starting from the next block
# EmissionDrop0=525600

# Each such a cycle there's a new drop
# EmissionDrop1=2102400

# num of blocks before coinbase UTXO can be spent
# MaturityCoinbase=240

# num of blocks before non-coinbase UTXO can be spent
# MaturityStd=0

# Max block body size [bytes]
# MaxBodySize=0x100000

# Desired rate of generated blocks [seconds]
# DesiredRate_s=60

# num of blocks in the window for the mining difficulty adjustment
# DifficultyReviewWindow=1440

# Block timestamp tolerance [seconds]
# TimestampAheadThreshold_s=7200

# How many blocks are considered in calculating the timestamp median
# WindowForMedian=25

# set to allow regular (non-coinbase) UTXO to have non-confidential signature
# AllowPublicUtxos=0

# Don't verify PoW. Mining is simulated by the timer
# FakePoW=0