Skip to content

Complete Hard Forks Reference #4964

@GheisMohammadi

Description

@GheisMohammadi

Complete Hard Forks Reference

This issue provides a comprehensive reference of all hard forks in the Harmony blockchain, organized by feature category. Each fork shows its activation epoch across Mainnet, Testnet, and Devnet networks.

Table of Contents


Ethereum Compatibility Forks

Forks related to Ethereum compatibility and EVM improvements.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
EIP155 28 0 0 EIP155 hard fork epoch (includes EIP158)
S3 28 0 0 First epoch with S3 mainnet and all Ethereum updates up to Constantinople
ReceiptLog 101 0 0 First epoch supporting receipt logs
Istanbul 314 0 0 Istanbul fork epoch
EthCompatible 442 0 0 Ethereum-compatible transaction processing starts
DataCopyFix 689 0 0 Fix for EVM datacopy bug
SHA3 725 0 0 First epoch supporting SHA3 FIPS-202 standard
ChainIdFix 1323 0 5 First epoch to return Ethereum compatible chain id by ChainID() opcode
ValidatorCodeFix 1535 1296 5 Fix for validator code being available in Solidity (extcodesize, extcodecopy, extcodehash)
EIP2537Precompile TBD TBD TBD First epoch to support EIP-2537 precompiles (BLS12-381 curve operations)

Staking & Delegation Forks

Forks related to staking, delegation, and validator management.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
PreStaking 185 1 1 Epoch when staking transactions are allowed
Staking 186 2 2 Epoch when shard assignment takes staking into account
QuickUnlock 191 0 0 Undelegation unlocked at the current epoch
Redelegation 290 2 0 Redelegation supported, undelegation locking time restored to 7 epochs
NoEarlyUnlock 530 2 0 Early unlock of undelegated tokens from validators elected >7 epochs disabled
MinDelegation100 631 2 0 Minimum delegation reduced from 1000 ONE to 100 ONE
MinCommissionRate 631 2 0 Policy for minimum commission rate of 5% started
EPoSBound35 631 2 0 EPoS bound parameter c changed from 15% to 35%
StakingPrecompile 871 2 5 First epoch to support staking precompiles
HIP30 1673 2176 7 Number of shards decreased from 4 to 2 (mainnet/localnet), split emission 75% staking/25% recovery, change from 250 to 200 nodes, minimum validator commission from 5% to 7%
MaxRate 1733 2520 TBD Validator max-rate is at least equal to minRate + validator max-rate-increase
TopMaxRate 1976 TBD TBD Validator max-rate is less than 100% when minRate + max-rate-increase > 100%

Cross-Shard & Network Forks

Forks related to cross-shard transactions, cross-links, and network-level features.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
CrossTx 28 0 0 Cross-shard transaction processing enabled
CrossLink 186 2 2 Beaconchain starts containing cross-shard links
CrossShardXferPrecompile 1323 2 5 First epoch to feature cross-shard transfer precompile
Allowlist (HIP-18) TBD 2 TBD First epoch to support allowlist of HIP-18
DevnetExternal Not enabled Not enabled 144 Devnet external validators epoch
TestnetExternal Not enabled 3044 TBD Testnet external validators epoch

Block Time & Performance Forks

Forks related to block time reductions and performance improvements.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
FiveSeconds 230 0 0 Block time reduced to 5 seconds, rewards adjusted to 17.5 ONE/block
TwoSeconds 366 2 0 Block time reduced to 2 seconds, rewards adjusted to 7 ONE/block
IsOneSecond TBD TBD 17436 One second block time epoch
BlockGas30M 1673 2176 7 Block gas limit increased to 30M

Voting Power & Governance Forks

Forks related to voting power adjustments and governance changes.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
SixtyPercent 530 2 TBD Internal voting power reduced from 68% to 60%
HIP6And8 725 2 0 HIP-6: reduce internal voting power from 60% to 49%; HIP-8: increase external nodes from 800 to 900
HIP32 2152 Not enabled Not enabled Vote power feature - fixes crosslink signing issue when crosslinks are not sent for an entire epoch

Leader Rotation & Consensus Forks

Forks related to leader rotation and consensus improvements.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
LeaderRotationInternalValidators 2152 3044 144 Leader rotation for internal validators enabled
LeaderRotationExternalValidators 2152 3044 144 Leader rotation for external validators enabled
LeaderRotationV2 TBD TBD TBD Leader rotation version 2

Rewards & Fee Collection Forks

Forks related to block rewards and fee collection.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
AggregatedReward 689 2 3 Block rewards distributed every 64 blocks
FeeCollect 1535 1296 5 First epoch that enables transaction fees to be collected into community-managed account

Randomness & Security Forks

Forks related to randomness generation and security improvements.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
VRF 631 2 0 VRF randomness enabled
PrevVRF 689 2 0 Previous VRF randomness can be fetched

HIP Proposals & Slots

Forks implementing Harmony Improvement Proposals (HIPs) and slot management.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
HIP6And8 725 2 0 HIP-6: reduce internal voting power from 60% to 49%; HIP-8: increase external nodes from 800 to 900
SlotsLimited (HIP-16) 999 2 TBD First epoch to enable HIP-16 (slots limitation)
Allowlist (HIP-18) TBD 2 TBD First epoch to support allowlist of HIP-18
HIP30 1673 2176 7 Number of shards decreased from 4 to 2 (mainnet/localnet), split emission 75% staking/25% recovery, change from 250 to 200 nodes, minimum validator commission from 5% to 7%
HIP32 2152 Not enabled Not enabled Vote power feature - fixes crosslink signing issue when crosslinks are not sent for an entire epoch

Complete Fork Table

Complete alphabetical list of all hard forks for quick reference.

Fork Name Mainnet Epoch Testnet Epoch Devnet Epoch Description
AggregatedReward 689 2 3 Block rewards distributed every 64 blocks
Allowlist (HIP-18) TBD 2 TBD First epoch to support allowlist of HIP-18
BlockGas30M 1673 2176 7 Block gas limit increased to 30M
ChainIdFix 1323 0 5 First epoch to return Ethereum compatible chain id by ChainID() opcode
CrossLink 186 2 2 Beaconchain starts containing cross-shard links
CrossShardXferPrecompile 1323 2 5 First epoch to feature cross-shard transfer precompile
CrossTx 28 0 0 Cross-shard transaction processing enabled
DataCopyFix 689 0 0 Fix for EVM datacopy bug
DevnetExternal Not enabled Not enabled 144 Devnet external validators epoch
EIP155 28 0 0 EIP155 hard fork epoch (includes EIP158)
EIP2537Precompile TBD TBD TBD First epoch to support EIP-2537 precompiles (BLS12-381 curve operations)
EPoSBound35 631 2 0 EPoS bound parameter c changed from 15% to 35%
EthCompatible 442 0 0 Ethereum-compatible transaction processing starts
FeeCollect 1535 1296 5 First epoch that enables transaction fees to be collected into community-managed account
FiveSeconds 230 0 0 Block time reduced to 5 seconds, rewards adjusted to 17.5 ONE/block
HIP30 1673 2176 7 Number of shards decreased from 4 to 2 (mainnet/localnet), split emission 75% staking/25% recovery, change from 250 to 200 nodes, minimum validator commission from 5% to 7%
HIP32 2152 Not enabled Not enabled Vote power feature - fixes crosslink signing issue when crosslinks are not sent for an entire epoch
HIP6And8 725 2 0 HIP-6: reduce internal voting power from 60% to 49%; HIP-8: increase external nodes from 800 to 900
Istanbul 314 0 0 Istanbul fork epoch
IsOneSecond TBD TBD 17436 One second block time epoch
LeaderRotationExternalValidators 2152 3044 144 Leader rotation for external validators enabled
LeaderRotationInternalValidators 2152 3044 144 Leader rotation for internal validators enabled
LeaderRotationV2 TBD TBD TBD Leader rotation version 2
MaxRate 1733 2520 TBD Validator max-rate is at least equal to minRate + validator max-rate-increase
MinCommissionRate 631 2 0 Policy for minimum commission rate of 5% started
MinDelegation100 631 2 0 Minimum delegation reduced from 1000 ONE to 100 ONE
NoEarlyUnlock 530 2 0 Early unlock of undelegated tokens from validators elected >7 epochs disabled
PreStaking 185 1 1 Epoch when staking transactions are allowed
PrevVRF 689 2 0 Previous VRF randomness can be fetched
QuickUnlock 191 0 0 Undelegation unlocked at the current epoch
ReceiptLog 101 0 0 First epoch supporting receipt logs
Redelegation 290 2 0 Redelegation supported, undelegation locking time restored to 7 epochs
S3 28 0 0 First epoch with S3 mainnet and all Ethereum updates up to Constantinople
SHA3 725 0 0 First epoch supporting SHA3 FIPS-202 standard
SixtyPercent 530 2 TBD Internal voting power reduced from 68% to 60%
SlotsLimited (HIP-16) 999 2 TBD First epoch to enable HIP-16 (slots limitation)
Staking 186 2 2 Epoch when shard assignment takes staking into account
StakingPrecompile 871 2 5 First epoch to support staking precompiles
TestnetExternal Not enabled 3044 TBD Testnet external validators epoch
TopMaxRate 1976 TBD TBD Validator max-rate is less than 100% when minRate + max-rate-increase > 100%
TwoSeconds 366 2 0 Block time reduced to 2 seconds, rewards adjusted to 7 ONE/block
ValidatorCodeFix 1535 1296 5 Fix for validator code being available in Solidity (extcodesize, extcodecopy, extcodehash)
VRF 631 2 0 VRF randomness enabled

Notes

Epoch Values

  • Epoch 0: Feature is enabled from genesis
  • TBD: Epoch is set to EpochTBD (10000000) and is not yet scheduled
  • Not enabled: Feature is not applicable or not enabled on that network

Networks

  • Mainnet: Harmony main network (ChainID: 1)
  • Testnet: Harmony test network (ChainID: 2)
  • Devnet: Partner/Devnet network (ChainID: 4)

Source

This information is extracted from internal/params/config.go in the Harmony codebase. The epoch values are defined in the chain configuration for each network.

Updates

When new forks are added or epoch values are finalized, this issue should be updated accordingly.

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions