Summary
v2.1.0 has a hardfork, which will be activated at block height 33,730,921 (ETA is around 12/17/2024 02:20:40 AM +UTC) on IoTeX L1 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 v2.1.0 image.
This release introduces support for the Cancun EVM upgrade, bringing compatibility with the latest opcodes and Solidity compiler, and enabling more advanced smart contract functionality. A key highlight is the integration of EIP-4844, which supports BlobTx transactions. This allows users to send transactions with blob data that is stored on-chain for at least 20 days, optimizing data availability and on-chain storage. Additional improvements includes staking enhancements, network stability, and overall transaction processing efficiency.
Key Features and Enhancements
- Cancun EVM Compatibility: Implements the latest EVM opcodes, allowing developers to compile contracts with the most recent Solidity compiler and take advantage of the newest protocol capabilities. The recommended solidity compiler version for Cancun EVM is 0.8.25, and these new features are enabled particularly in Cancun EVM:
a) EIP-1153: Transient storage opcodes
b) EIP-4844: Shard blob transactions (Proto-Danksharding)
c) EIP-5656: MCOPY - Memory copying instruction
d) EIP-6780: SELFDESTRUCT only in same transaction
e) EIP-7516: BLOBBASEFEE opcode - Support for EIP-4844 Blob Transactions: Enables users to send transactions containing blob data, which is verified and stored on-chain for a minimum of 20 days, optimizing data availability and chain storage efficiency.
- Support for EIP-1559 Dynamic Fee Transactions: Allows users to send transactions with dynamic fees, where the priority fee is rewarded directly to the block miner, ensuring fair and efficient fee allocation.
- Support for EIP-2930 Access List Transactions: Reduces gas consumption by allowing users to specify an access list in transactions, making execution more cost-effective.
Bug Fix and Performance Improvements:
- Staking Bucket Reset: Resolved an issue where staking bucket amounts were not properly cleared after an unstake, ensuring accurate tracking.
- Fix for Unlimited Native Staking Duration: Corrected the staking duration limit for native assets to prevent indefinite staking periods.
- LibP2P Upgrade: Enhanced the P2P network by upgrading LibP2P to newer version 0.32.2, leading to improved connectivity (an average of 80~100+ connected peers) and network stability.
- Consistency Between Minting and Validation: Standardized behavior between minting and validation processes to prevent potential discrepancies and ensure stable operation.
Upgrade Priority
v2.1.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 |
API node | Must upgrade |