Conflux Hydra Network v2.0.2 Upgrade Announcement

Note: After this upgrade, the minimum gasPrice for sending a transaction will be changed to 1G. Transactions with gasPrice lower than 1G will fail.

This upgrade is mainly to solve the problems below:

Improvements

RPC Improvements

  • Improve the performance of eth_getLogs.
  • Add a new RPC eth_getAccountPendingTransactions to get pending transactions by address, also return the first pending transaction’s pending reason.
  • Support WebSockets for eth APIs.
  • Support block hash param for eth_call (EIP1898).
  • cfx_call, cfx_estimateGasAndCollateral, eth_call, and eth_estimate will respect from's balance if passed, if balance is not enough will return error. If from is not passed then use a random one with sufficient balance.
  • If cfx_call, cfx_estimateGasAndCollateral raise error, and error.data is a string, the error is returned as a string instead of being hex encoded.
  • cfx_sendRawTransaction will reject the transaction if the sender’s balance is not enough.

Transaction Pool Improvements

  • Set the minimum gas price to 1 GDrip by default for packing transactions.

Storage Improvements

  • Improve the snapshot copy-on-write merging performance on XFS file systems.

Bug Fixes

  • Fix trace validity for transactions reverted in the top checkpoint.
  • Fix phantom trace length mismatch issue with failed transactions.
  • Fix incorrect estimations from cfx_estimateGasAndCollateral.
  • Fix the issues that the node enters NormalPhase too soon and gets stuck on snapshot state download.
  • PoS nodes will not elect before entering the normal phase to avoid being force_retired.

RPC Adjustments After v2.0.3

  • Starting from v2.0.3, cfx_getLogs and eth_getLogs will no longer support the parameters limit and offset. These parameters are not efficient and can be replaced by setting the block/epoch range instead.
  • Starting from v2.0.3, cfx_clientVersion will include more information, similar to web3_clientVersion in eSpace.
  • Starting from v2.0.3, fromEpoch will default to “latest_state” in cfx_getLogs.
  • Starting from v2.0.3, fromBlock will default to “latest” in eth_getLogs.

Download

Download “Conflux v2.0.2” here: https://github.com/Conflux-Chain/conflux-rust/releases/tag/v2.0.2.

I am a node operator/miner, what do I need to do?

If you have a running node, you need to

  • Suspend the running operation of the node
  • Replace the executable file named “conflux” in the run directory of the original node program with the Conflux executable file of the Conflux v2.0.2 node program.
  • Restart the operation of the node
    If you start a new node, you can download the latest version of Conflux v2.0.2 and run it.

What will happen if I do not upgrade the nodes or refuse to upgrade?

It is strongly recommended to upgrade your node, this upgrade aims to improve node stability.

I am a DApp developer, what do I need to do?

  • You need to increase the gas price for sending transactions to over 1 GDrip or the transaction will fail.
  • When interacting with a sponsored contract, the estimation may fail. Try upgrading js-sdk or go-sdk to the latest version or manually raising the upperbound for contract gas sponsorship to 0.5 cfx.

Thanks to our community for your support!

A sincere thank you to the Conflux community and all the developers in the Conflux ecosystem. Thank you for your hard work, thoughts, and contributions. To a better future!

1 Like