Genesis File
The genesis file defines the initial state and configuration of a blockchain network. It's the starting point for all nodes and must be identical across the network.
Overview
Every KalyChain node requires access to the genesis file to:
- Initialize the blockchain with the correct chain ID and configuration.
- Configure the consensus mechanism (QBFT) parameters.
- Set initial account balances and contract deployments.
- Ensure compatibility with other nodes on the network.
We recommend storing the genesis file in source control to ensure all nodes use the identical configuration and to track any network upgrades.
KalyChain Genesis
The official KalyChain genesis file (chain ID 3890, native token KMT):
{
"config": {
"chainId": 3890,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"shanghaiBlock": 0,
"cancunBlock": 0,
"pragueBlock": 0,
"qbft": {
"blockperiodseconds": 2,
"epochlength": 28800,
"requesttimeoutseconds": 4,
"blockreward": "30000000000000000",
"miningbeneficiary": "0xaE51f2EfE70e57b994BE8F7f97C4dC824c51802a",
"baseFeePerGas": "0x834"
},
"transitions": {
"qbft": [
{
"block": 5100,
"miningbeneficiary": "0x82eeCEcF8C3bbD94A3A11Abe04Ce3F49BbA35E52"
}
]
}
},
"nonce": "0x0",
"timestamp": "0x0",
"gasLimit": "0x1fffffffffffff",
"difficulty": "0x1",
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0xaE51f2EfE70e57b994BE8F7f97C4dC824c51802a": {
"balance": "36000000000000000000000000"
}
},
"extraData": "0xf87aa00000000000000000000000000000000000000000000000000000000000000000f854947fa47fed34dd63bd76060a5dd63ef3c2b5b23de0942f5e068935deb3eb2c8210b7dfc8d9c96806c68f942aac52c8405a80b20944ae92c85c477412b4a6ed94c5d01f2fa32d12f5b25cb395a557cd74c86241a5c080c0"
}
Genesis State
| Parameter | Value | Description |
|---|---|---|
nonce | 0x0 | Arbitrary value (0 for PoA) |
timestamp | 0x0 | Unix timestamp of block 0 |
gasLimit | 0x1fffffffffffff | Maximum gas per block |
difficulty | 0x1 | Mining difficulty (minimal for PoA) |
Genesis Allocation
The genesis allocates the full 36,000,000 KMT supply to a single deployer address, from which it is distributed per the network's token allocation. No other account holds a genesis balance.
Block Reward
KalyChain pays a flat block reward with no halving schedule.
| Parameter | Value |
|---|---|
| Block reward | 30000000000000000 wei (0.03 KMT) |
| Schedule | Flat — the reward does not decay |
| Block period | 2 seconds |
Reward beneficiary transition
The genesis contains one QBFT transition, at block 5,100. It does not change the reward — it redirects where the reward is paid:
| Block | Mining beneficiary | Meaning |
|---|---|---|
| 0 | 0xaE51f2EfE70e57b994BE8F7f97C4dC824c51802a | Deployer, during network bring-up |
| 5,100 | 0x82eeCEcF8C3bbD94A3A11Abe04Ce3F49BbA35E52 | Vault RewardsPool contract |
From block 5,100 onward every block reward accrues to the RewardsPool, which distributes it to vault holders. No reward is paid to individual validators.
Extra Data
The extraData field encodes the initial validator set:
- 32 bytes vanity data — Arbitrary identifier
- Validator addresses — Initial block producers
- Round information — Set to 0 for genesis
- Seal list — Empty for genesis block
Using the Genesis File
Specify the genesis file when starting a node:
kaly --genesis-file=/path/to/genesis.json --data-path=/var/kaly/data
All nodes on the same network must use identical genesis files. Mismatched genesis configurations will prevent nodes from syncing with the network.
Download
raw.githubusercontent.com/KalyCoinProject/node-install/.../genesis.json still returns the
old chain ID 3888 genesis. Do not use it — a node started with it will not join KalyChain.
Copy the JSON from KalyChain Genesis above until that repository is updated.
Further Reading
- QBFT Configuration — Detailed QBFT consensus setup.
- Validators — Managing the validator set.
- Hyperledger Besu Genesis File Reference — Complete genesis file specification.