Skip to content

Conflux v2.0.1

Compare
Choose a tag to compare
@peilun-conflux peilun-conflux released this 30 Mar 08:28
· 1445 commits to master since this release

Improvements

RPC Deprecation Announcement

  • Starting from v2.0.3, cfx_getLogs and eth_getLogs will no longer support the parameters limit and offset. They are not efficient and can be replaced by setting the block/epoch range instead.
  • Starting from v2.0.3, cfx_clientVersion will have include more information like 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.

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 estimate 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.