Genesis and params
Last updated
Was this helpful?
Genesis bootstraps chain state, internal contracts, and initial balances.
genesis_block performs:
State initialization and internal contract setup.
Funding of configured genesis accounts (including dev/test keys when used).
Genesis treasury account creation and shielded pool seeding.
Emission of genesis transactions (create2 factory, optional shielded key).
Construction of the genesis header with initial difficulty and gas limit.
Current native genesis target is 3,900,000,000 MAZZE.
In code, genesis accounting is two-step:
Credit explicit genesis accounts first.
Mint only the remaining amount needed to reach the configured genesis total.
This avoids double-counting between explicit allocations and the special genesis-account mint path.
Shielded pool bootstrap at genesis is a treasury transfer, not extra issuance. See ../tokenomics/shielded-pool-genesis-fund.md.
genesis_accounts and genesis_secrets can override the account set.
execute_genesis controls whether genesis is executed or loaded from db.
Configuration exposes key consensus parameters:
initial_difficulty
era_epoch_count
referee_bound
adaptive_weight_beta, heavy_block_difficulty_ratio
timer_chain_block_difficulty_ratio, timer_chain_beta
transaction_epoch_bound
Hardfork transitions are also configured by height/epoch.
crates/mazzecore/core/src/genesis_block.rs
crates/client/src/configuration.rs
crates/mazzecore/internal_common/src/chain_id.rs
crates/mazzecore/parameters/src/lib.rs
Last updated
Was this helpful?
Was this helpful?