This upgrade is mainly to solve the problems below:
RPC Deprecation Announcement
- cfx_getLogs and eth_getLogs will no longer support the parameters limit and offset starting from v2.0.3. They are not efficient and can be replaced by setting the block/epoch range instead.
- cfx_clientVersion will have include more information like web3_clientVersion in eSpace starting from v2.0.3.
RPC Improvements
- Report error in cfx_getLogs and eth_getLogs if get_logs_filter_max_limit is configured but the query would return more logs. The previous behavior of cfx_getLogs was to silently truncate the result. The previous behavior of eth_getLogs was to raise an error when filter.limit is too low, regardless of how many logs the query would result in.
- eth_gasPrice now estimates gas prices accurately instead of returning a fixed value.
- Support phantom transactions and return correct fields in eSpace trace RPCs.
- Add fields valid and createType for eSpace trace RPCs.
- Add RPC rpc_methods to return all available methods and rpc_modules to return all RPC modules.
- Add totalEspaceTokens in the response of cfx_getSupplyInfo.
- Add local RPCs pos_start_voting, pos_stop_voting, and pos_voting_status. Check #2438 for details.
- Accept requests with zero as sender in eth_call.
- Accept unknown fields in eth_call.
Configuration Improvements
- Allow PoS voting nodes to have running backups. #2438 includes an introduction.
- Add config parameter get_logs_filter_max_block_number_range for limiting the maximum gap between from_block and to_block during Core space log filtering (cfx_getLogs). Note: eSpace blocks correspond to epochs in Core space, so the range in eth_getLogs can be limited using get_logs_filter_max_epoch_range.
- Add config parameter min_phase_change_normal_peer_count to set the number of normal-phase peers needed for phase change. The default value is set to 3 to make it more robust.
- Add environment variable CFX_POS_KEY_ENCRYPTION_PASSWORD to configure pos key encryption password. Check #2464 for details.
- Set a proper max open files with ulimit in the default Linux/macOS start bash script.
- Improve the client version output to include more information.
Transaction Pool Improvements
- Allow pending transactions to be replaced unconditionally after 200000 epochs.
Bug fixes
- Fix an issue that phantom transactions may have the same hash. Now all phantom transactions have different hashes after this fix.
- Create PoS log file directory if it does not exist.
- Fix a panic issue when the node is started with stdout unavailable.
- Fix an issue that an old transaction is not replaced according to a higher epoch_height.
- Increase the request timeout upper bound to fix sync issues in normal cases.
Download
Download “Conflux Hydra Network v2.0.1” here: https://github.com/Conflux-Chain/conflux-rust/releases/tag/v2.0.1
I am a node operator/miner, what do I need to do?
- For PoW miners, it is recommended to update the node. The update solves the small probability problems related to the transaction packaging time and the synchronization stop, while the mining will not be affected if the update is not performed.
- For PoS miners, you can choose whether to update according to your own node’s situation. The update solves the small probability problem of synchronization stop, while the mining will not be affected if the update is not performed.
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.
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!