v3.1
| Key Information | Details |
|---|---|
| Version | Conflux v3.1.0 |
| Hardfork Introduced | Yes |
| Incompatible Changes | Yes (CIP-166, CIP-167, CIP-172, CIP-173, CIP-174, CIP-175, CIP-176) |
Introduction
Conflux v3.1.0 is a hardfork introducing EVM compatibility changes from Ethereum's Osaka upgrade, bug fixes, a security update (details disclosed after activation), and RPC changes.
Upgrade Overview
- EVM compatibility:
- Bug fixes:
- Every transaction in a block must use canonical RLP encoding, fixing the issue where the same transaction could correspond to more than one hash (CIP-172).
- PoS dispute evidence verification defects are fixed, and the CIP-156 stake lock is extended to validators whose stake is already entirely unlocking (CIP-173).
- Cross-space calls now resolve EIP-7702 delegation, matching calls made within eSpace (CIP-175).
- Access list entries for the same address all warm their storage keys, instead of only the last entry (CIP-176).
- Security update: this upgrade includes a fix for a security issue. To prevent exploitation, the related source code and details will be published after the network upgrade is complete.
- RPC changes:
- New RPCs: eSpace
eth_createAccessListand eSpace parity styletrace_call. - The Core space RPC service has been migrated to the
jsonrpseeframework. - The TCP JSON-RPC server has been removed, along with the
jsonrpc_tcp_portandjsonrpc_local_tcp_portoptions. The HTTP and WebSocket endpoints are unchanged. - The WebSocket endpoint now applies the
jsonrpc_corssetting, which previously affected HTTP only. - Request throttling is enforced on the
jsonrpseestack and now also covers batch requests. - The light node supports the pub/sub namespace.
- Fixed
4byteTracerdropping calls with no arguments (bare function selector). - Fixed phantom transaction trace recovery for blocks before CIP-90 activation.
- eSpace log filters reject a
topicsarray with more than four positions. - EIP-7702 authorization objects reject a
yParitygreater than 1. cfx_sendTransactionandcfx_signTransactionreturn an error whenfromis omitted.- The PoS
tx_by_versionRPC returnsnullfor version 0.
- New RPCs: eSpace
Upgrade Notes
- Replace
pos_config/pos_config.yamlwith the copy shipped in this release. The file is parsed strictly and an old copy will not load, so the node will not start. If you changed paths such asbase.data_dir,storage.dirorlogger.file, carry them over — those keys are unchanged.pos_config/genesis_fileis no longer used and can be deleted. - The first start after upgrading will take considerably longer than a normal restart. The shipped
run/testnet.tomlnow setsuse_isolated_db_for_mpt_table = true, and the node rebuilds the latest MPT snapshot once to make that switch. Later restarts are unaffected.
CIP List
CIP-166
CIP-166 Add CLZ Opcode replicates EIP-7939, adding the CLZ opcode for counting leading zeros.
CIP-167
CIP-167 Precompile for secp256r1 Signature Verification replicates EIP-7951, introducing a precompile for signature verification on the secp256r1 (P-256) curve, which is widely used by WebAuthn, passkeys and similar schemes.
CIP-172
CIP-172 Enforce Canonical RLP Encoding for Transactions requires every transaction in a block to use canonical RLP encoding, fixing an issue where the same transaction could correspond to more than one hash. Nodes also reject these transactions from the transaction pool immediately upon upgrade, without waiting for activation.
CIP-173
CIP-173 Fix PoS Dispute Evidence Verification fixes defects in the verification of PoS dispute evidence, and extends the CIP-156 stake lock to a validator whose stake is already entirely unlocking.
CIP-174
CIP-174 Bound ModExp Precompile Input Length replicates EIP-7823 and EIP-7883, setting an upper bound on the input lengths of the ModExp precompile and raising its gas pricing.
CIP-175
CIP-175 Resolve EIP-7702 Delegation in Cross-Space Calls fixes cross-space calls not resolving an EIP-7702 delegation, bringing the behavior in line with calls made within eSpace.
CIP-176
CIP-176 Fix Access List Storage Key Warming fixes the case where, when the same address appears in several entries of an access list, only the storage keys of the last entry were warmed.
Releases
Testnet
| Key Information | Details |
|---|---|
| Release | Conflux v3.1.0-testnet |
| Announcement | Conflux v3.1.0-testnet Hardfork Upgrade Announcement (August 3, 2026) |
| Deadlines |
|
The mainnet release will be published after the testnet upgrade completes.