Summary
v1.14.0 has a hardfork, which will be activated at block height 29,275,561
(ETA is around 04/03/2024 00:52:05 AM UTC) on IoTeX mainnet.
All nodes must upgrade to this release, otherwise the node runs the risk of
not being able to sync with the IoTeX blockchain after other nodes have upgraded.
Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to
restart your node with the new v1.14.0 image.
Version 1.14.0 has enabled two significant new features: IIP-24 Raise Block Gas
Limit to 50M and IIP-25 delegate endorsement.
With IIP-24, the block gas limit has now been raised to 50M, greatly enhancing
the processing capabilities of the IoTeX blockchain while ensuring its stability.
This enhancement allows the blockchain to achieve a maximum of 1000 TPS
(transactions per second), significantly speeding up transaction processing on
the blockchain, especially during times of network congestion.
The activation of IIP-25 introduces a novel governance model: it allows big
stakeholder to create a bucket for endorsing delegate. This would make delegate
management more flexible and encourage more enthusiastic projects to become IoTeX
delegates and actively participate in the IoTeX network operation, thereby
fostering the inclusivity of the IoTeX network and enhancing the diversity of the
ecosystem.
Other Improvements
v1.14.0 release also comes with a couple of improvements:
- Improved performance for DB snapshot operation
- Enabled web3js format for CandidateActivate and CandidateEndorsement
- Make action pick order deterministic
- Added more unit tests and end-to-end tests
Upgrade Priority
v1.14.0 comes with a hardfork, so all nodes must upgrade in order to keep
syncing with the IoTeX blockchain
Node type | Action |
---|---|
Delegate | Must upgrade |
Fullnode | Must upgrade |
Important Commits (not a complete list)
- [tools] fix readme typos #4199
- feat(api): add unit test for coreService #4193
- feat(wsctl): add project configuration cmd #4195
- [staking] testing endorsed bucket with existing staking actions #4186
- use buffered channel #4197
- feat(api): fix overflow in coreservice #4192
- test: add unit test for module blockdao #4182
- add e2etest for refactor fresh account conversion #4184
- [context] enable delegate endorsement and refactor fresh account conversion at Tsunami height #4188
- [staking] reject endorse action before HF activated #4187
- [staking] Cannot withdraw endorsement if it is withdrawing #4179
- [genesis] raise block gas limit to 50M starting Tsunami height #4181
- [genesis] add Tsunami block height #4180
- [account] revert ConvertFreshAccountToZeroNonceType func #4163
- [evm] add transaction log for Suicide() #4171
- [actpool] deterministic action pick order #4175
- [api] remove height check for message batcher #4176
- [action] Web3 for CandidateActivate and CandidateEndorsement #4140
- clean up blockdao #4164
- [staking] Candidate Register without Staking #4059
- [staking] ActiveCandidate Exclude Candidate with Expired Endorsement #4062
- [blockchain] add uni tests for runnable.go #4172
- [staking] Fix typo error #4173
- [staking] Cannot ChangeCandidate when Bucket is Endorsed #4133
- [api] get method return msg #4142
- [staking] Cannot Unstake if Bucket is Endorsed #4134
- [db] Remove duplicate keys when WriteBatch #4155
- fix test #4165
- reset only if snapshots size exceed 10 #4152
- [evm] add transient storage #4151
- [staking] Replace ContainsSelfStakingBucket with isSelfStakeBucket #4139
- add test #4138
- [db] ResetSnapshots() performance improvement #4153
- test(contractstaking): add unit tests #4126
- update tests for rlp_tx.go #4145
- feat(test): add unit test web3server_utils #4146
- sgdindexer performance improvement #4148
- [api] verify received tx hash is correct #4074
- add test for actionByPrice #4135
- fix benchmark #4127
- [genesis] test coverage #4125
- feat(test): add web3server unit test #4131
- [staking] Handling CandidateEndorsement Action #4020
- [staking] CandidateCenter Support for Missing and Changes of Self-Stake Bucket #4060
- [staking] Handling CandidateActivate Action #4011
- [refactor] Add bucket validation util functions #4019
- [staking] Implement Endorsement Statemanager #4018