Consensus Rules¶
The following parameters allow to configure consensus rules in Beam Node and Wallet
WARNING: Used for development and testing only
Consensus parameters are only relevant for testing and development purposes. Changing these parameters will change the Rule Signature and hence break the compatibility of the Node and Wallet with running Mainnet or Testnet servers.
Rules¶
Parameter | Description & Example |
EmissionValue0 | Initial coinbase emission in a single block (in Groth, 10^-8 of Beam) EmissionValue0=800000000
|
EmissionDrop0 | Height of the last block that still has the initial emission. Emission drops by half in the next block. Default equals 1 year, assuming 1 block per minute EmissionDrop0=525600
|
EmissionDrop1 | Number of blocks in halving cycle (defaults to four years, assuming 1 block per minute ) EmissionDrop1=2102400
|
MaturityCoinbase | Number of blocks that should be mined (confirmations) before coinbase UTXO can be spent. MaturityCoinbase=240
|
MaturityStd | Number of blocks that should be mined (confirmations) before normal (non coinbase) UTXO can be spent. MaturityStd=0
|
MaxBodySize | Block body size (in bytes) MaxBodySize=0x100000
|
DesiredRate_s | Target block rate (in seconds) DesiredRate_s=60
|
DifficultyReviewWindow | Number of blocks in the window for the mining difficulty adjustment DifficultyReviewWindow=1440
|
TimestampAheadThreshold_s | Block timestamp tolerance (in seconds) TimestampAheadThreshold_s=7200
|
WindowForMedian | Number of blocks considered in calculating the timestamp median WindowForMedian=25
|
AllowPublicUtxos | Flag allowing regular (non-coinbase) UTXO to have non-confidential signature AllowPublicUtxos=0
|
FakePoW | Flag to disable verification of PoW. Mining is simulated by timer. FakePoW=0
|
Below is an example of 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