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
, andeth_estimate
will respectfrom
'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, anderror.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!