IMPORTANT: Kaia v2.0.0 contains a hardfork upgrade that results in changes that are not backward compatible. All Kairos testnet nodes must be upgraded to v2.0.0 or later before the target block number. The Mainnet hardfork number will be announced later.
This version of Kaia introduces the Consensus Liquidity (CL) and Gas Abstraction (GA) features to increase the utility of fungible tokens for consensus security contribution and transaction fee payment. This version also introduces several Prague EIPs to improve the EVM-based dApp development experiences. The Kairos testnet hardfork number is included in this version.
Here’s the hardfork schedule for the Kairos testnet
- Block number: 187930000 (estimated time: 10 Jun, 10:26 UTC+9)
- Hardfork contents: Prague hardfork
Prague hardfork features
- Introduced BLS12-381 precompiles as per EIP-2537 (#111, #199)
- Introduced historical blockhash system contract as per EIP-2935 (#121, #209, #240)
- Implemented a contract creation check as per EIP-7610 (#197)
- Updated the calldata gas price as per EIP-7623 and KIP-223 calldata pricing (#107, #200, #217, #248, #255)
- Implemented SetCode transaction type and allows EOAs to have code as per EIP-7702 and KIP-228 (#172, #179, #180, #182, #188, #216, #242, #246, #271, #336, #337)
- Introduced the Consensus Liquidity feature as per KIP-226 (#168, #170, #176, #193, #265)
Improvements
- Allowed PNs to connect with BNs despite NoDiscover setting (#143)
- Improved EN to PN discovery be more uniformly distributed (#144, #158, #201)
- Added console.log precompile for debugging private networks (#198)
- Improved log and error messages (#140, #167, #206)
- Introduced the uint256 data type (#233)
- Introduced the Gas Abstraction feature for paying gas fee with token (#268, #279, #284, #326, #368, #369, #366, #372, #373, #375, #380, #381, #384)
- Add the feature to fine-tune the p2p discovery (#256)
- Reinforced the governance feature to validate the voting validator (#383)
- Reinforced the transaction nonce check to comply with the EIP-2681
Fixes
- Fixed the eth_call API to respect accessList argument (#90)
- Removed the totalDifficulty and totalBlockScore fields from API outputs (#134)
- Fixed the APIs to show baseFeePerGas field only after Magma hardfork (#205)
- Fixed the concurrency problem in the p2p ping handler (#122)
- Fixed the p2p connection failure bug occurring after a node restart (#157)
- Fixed the state migration bug occurring around a node restart (#229, #236)
- Fixed the ECDSA public key parsing bug (#239)
- Fixed the RPM packages to work correctly in Rocky Linux (#203, #226)
- Fixed the rpcPendingRequestsCount metric (#194)
- Fixed the abi package bugs (#195, #264)
- Fixed the error condition in the istanbul_getDemotedValidatorsAtHash API (#227)
- Fixed the pending block number treatment in APIs (#260)
Miscellaneous
- Refactored StakingManager with staking module (#109, #110, #114, #133, #150, #225, #249, #253, #342)
- Refactored RewardDistributor with reward module (#115, #120, #139)
- Refactored SupplyManager with supply module (#118, #130, #135)
- Refactored Governance with gov module (#131, #132, #151, #162, #174, #177, #184, #187, #208, #243, #270)
- Refactored istanbul snapshots with valset module (#169, #183, #186, #192, #190, #210, #349)
- Refactored a part of istanbul backend with randao module (#254)
- Updated the build environment to go1.23.7 (#116, #124, #136, #175, #278, #327, #348, #353, #350)
- Updated the homi default docker image to kaia (#191)
- Updated the devtools to latest versions (#219)
- Updated the smart contract tests (#171, #173)
- Introduced the ethereum-spec-tests (EEST) suite (#129, #154, #164, #245, #247, #250, #238, #258, #262)
- Code maintenance (#105, #108, #123, #125, #127, #137, #148, #153, #147, #159, #146, #178, #181, #185, #218, #228, #244, #252, #266, #267, #269, #273, #274, #291, #312, #313, #314, #315, #317, #318, #364, #365, #367, #371, #376, #378, #382, #389)
Downloads
- Linux Mainnet: (tgz-amd64) kcn kpn ken (rpm-amd64) kcn kpn ken (tgz-arm64) kcn kpn ken (rpm-arm64) kcn kpn ken
- Linux Kairos: (tgz-amd64) kcn kpn ken (rpm-amd64) kcn kpn ken (tgz-arm64) kcn kpn ken (rpm-arm64) kcn kpn ken
- Linux Common: (tgz-amd64) kscn kspn ksen kbn kgen homi (rpm-amd64) kscn kspn ksen kbn kgen homi (tgz-arm64) kscn kspn ksen kbn kgen homi (rpm-arm64) kscn kspn ksen kbn kgen homi
- Darwin: kcn kpn ken kscn kspn ksen kbn kgen homi
- Docker:
kaiachain/kaia:v2.0.0
Thank you @chuangjinglu, @thirdkeyword, @huochexizhan, @tgolang, and @wangjingcun for your first contribution to Kaia.