Skip to main content

v2.0

In the Hydra hardfork (v2.0) Conflux will introduce serveral big upgrades through 8 CIPs (Conflux improvement proposal).

PoS

Through CIP-43 Hydra has introduced a PoS system to improve the finality of the whole Network. CFX holders can stake their CFX to PoS to protect high-value transactions and also earn CFX rewards of participating the PoS. For detail information, check PoS Overview page.

Conflux eSpace

The CIP-90 has introduced a new fully EVM-compatible space. The new space is called eSpace, and the current space is called Core Space. The eSpace follows the same rule as EVM and supports eth rpc like eth_getBalance, so the tools (web3.js, ethers.js, hardhat, truffle and so on) from ethereum ecosystem can be used on Conflux directly. Check eSpace documentation for more info.

New Added InternalContracts

Hydra hardfork has intoduced three new InternalContracts:

  • ConfluxContext (CIP-64)
  • PoSRegister (CIP-43)
  • CrossSpaceCall (CIP-90)

RPC changes

cfx namespace RPC change

  • New added methods: cfx_getPoSRewardByEpoch, cfx_openedMethodGroups, cfx_getPoSEconomics.
  • New added EpochNumber tag: latest_finalized indicating latest finalized (by PoS) epoch.
  • cfx_getStatus reponse have two new field: latestFinalized, ethereumSpaceChainId
  • Block header new added field: posReference which is the latest pos blockHash when the PoW block is mined.
  • Block header's custom field's type has changed from array of number array to array of hex string.
// before
custom: [[1, 2]]
// after
custom: ["0x12"]

Note: CIP-90 will break some block field's verifiability for example: hash

trace RPC breaking change

New added namespace

eSpace eth RPC

The eSpace has introduced the eth namespace RPC, check the RPC compatibility doc for details

Conflux-rust config file

The mainnet config file has been renamed from tethys.toml to hydra.toml, the bootnodes has changed and several options are added:

  • jsonrpc_http_eth_port = 8545
  • jsonrpc_ws_eth_port = 8546
  • public_evm_rpc_apis = "evm"
  • evm_chain_id = 1030

Mainnet Upgrade schedule

  1. Conflux client program need to be updated before Epoch Number reaches 36935000 or Block Number reaches 92060600 (around 10:00 Feb.23th, 2022(GMT+8))
  2. The PoS registration start at Block Number 92060600 (around Feb.23th at 12:00)
  3. The PoS registration close at Block Number 92751800 (around Feb.25th at 12:00)
  4. The deadline for adding pos_config is before Epoch Number reaches 37400000 (around Feb.28th 12:00). Hardfork upgrade completed at this time.

Testnet Upgrade schedule

  1. Conflux client program need to be updated before Epoch Number reaches 55095000 or Block Number reaches 68845000 (around 10:00 Dec.9th, 2021(GMT+8))
  2. The PoS registration start at Block Number 68845000 (around Dec.9th at 10:00)
  3. The PoS registration close at Block Number 69245000 (around Dec.11 at 18:00)
  4. The deadline for adding pos_config is before Epoch Number reaches 55665000 (around Dec.13th 15:00). Hardfork upgrade completed at this time.

For detail infomation check Conflux v2.0.0-testnet Hardfork Upgrade Announcement

Upgrade CIP list

The following is a brief introduction of these CIPs.

CIP-43

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-43.md

In this CIP, we propose introducing finality to the Conflux chain via voting among staked CFX holders. This will increase the confidence of high-value transactions happening on Conflux in the future and protect Conflux against potential 51% attacks from PoW.

CIP-64

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-64.md

Currently, transactions on Conflux have no direct access to the number of the epoch they are executed in. To maintain EVM compatibility, this CIP introduces a new internal contract that makes this information available to contracts.

CIP-71

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-71.md

Fully disable the anti-reentrancy for their contract.

CIP-76

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-76.md

We should remove VM-related constraints in syncing blocks, like requiring the transactions to have enough gas limit.

CIP-78

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-78.md

Fix incorrect fields in transaction receipt.

CIP-86

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-86.md

Reduce the period of difficulty adjustment and apply the simple moving average method.

CIP-90

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-90.md

This CIP aims to introduce a new fully EVM-compatible space. The new space is called eSpace, and the current space is called Core Space. The eSpace follows the same rule as EVM and supports eth rpc like eth_getBalance, so the tools from ethereum economics can be used on Conflux directly.

CIP-92

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-92.md

Enable Blake2F builtin function in EIP-152.