blockchain.conf.json

Overview

The blockchain.conf.json file serves as a comprehensive configuration manifest for a blockchain system, encapsulating a wide array of parameters essential for the operation, consensus, economics, and network configuration of the blockchain. It defines cryptographic roots, currency values, protocol versions, validator settings, gas pricing, chain parameters, and other operational limits and thresholds. This JSON-based configuration enables the blockchain runtime and related subsystems to initialize and enforce protocol rules consistently.

This file is integral to the blockchain core infrastructure, interacting closely with consensus algorithms, validator management modules, gas metering and pricing mechanisms, and blockchain state validation components.


Detailed Explanation of Configuration Sections

Cryptographic Parameters (p0 to p3)

Currency and Value Definitions (p7)

Usage: Defines base amounts or initial balances for different currencies recognized by the blockchain.

Protocol Version and Capabilities (p8)

Usage: Used by the blockchain runtime to determine enabled protocol features and compatibility.

Parameter Lists (p9, p10)

Gameplay or Operational Parameters (p11)

Usage: These parameters may govern operational thresholds, economic limits, or consensus-related conditions.

Workchain Configurations (p12)

Usage: Defines the configuration and lifecycle parameters for each workchain in the blockchain network.

Block of Cells (p13)

Fee Parameters (p14)

Usage: Specifies fees required for block processing on different chains.

Validator Election Parameters (p15)

Validator Limits (p16)

Stake Limits (p17)

Pricing Over Time (p18)

Gas Parameters (p20, p21)

Load and Resource Limits (p22, p23)

Pricing Factors (p24, p25)

Consensus and Catchain Settings (p28, p29)

Predefined Keys or Identifiers (p31)

Validator List and Weights (p34)

Payout Thresholds and Percentages (p42)


Implementation Details and Algorithms


Interaction With Other System Components


Visual Diagram: Configuration Structure Overview

flowchart TD
A[blockchain.conf.json]
A --> B[Cryptographic Parameters]
A --> C[Currency & Values]
A --> D[Protocol Version & Capabilities]
A --> E[Parameter Lists]
A --> F[Operational Parameters]
A --> G[Workchain Configurations]
A --> H[Serialized Block of Cells]
A --> I[Fee Parameters]
A --> J[Validator Election Parameters]
A --> K[Validator Limits]
A --> L[Stake Limits]
A --> M[Pricing Over Time]
A --> N[Gas Parameters]
A --> O[Resource Limits]
A --> P[Pricing Factors]
A --> Q[Consensus & Catchain Settings]
A --> R[Predefined Keys]
A --> S[Validator List & Weights]
A --> T[Payout Thresholds & Percentages]
B -->|p0-p3| Cryptography
C -->|p7| Currency
D -->|p8| VersionCaps
E -->|p9-p10| ParamLists
F -->|p11| OpParams
G -->|p12| Workchains
H -->|p13| BOC
I -->|p14| Fees
J -->|p15| ElectionParams
K -->|p16| ValidatorLimits
L -->|p17| StakeLimits
M -->|p18| PricingTime
N -->|p20-p21| GasParams
O -->|p22-p23| ResourceLimits
P -->|p24-p25| PriceFactors
Q -->|p28-p29| ConsensusParams
R -->|p31| Keys
S -->|p34| Validators
T -->|p42| Payouts

This diagram presents the hierarchical relationship and main categories of configuration in the blockchain.conf.json file, providing a structural overview of how various parts are organized and interrelated.