Skip to content

Releases: Conflux-Chain/conflux-rust

Conflux v2.1.1-testnet

09 Oct 04:50
Compare
Choose a tag to compare
Pre-release

This release includes an incompatible fix. All nodes should be upgraded before the epoch number reaches 122700000.

RPC Improvement

  • When querying logs, use LatestState instead of the to epoch number when the to epoch number is greater than LatestState.
  • Add filter RPCs in eSpace including eth_newFilter, eth_newBlockFilter, eth_newPendingTransactionFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter. Note that you need to set poll_lifetime_in_seconds in the configuration to enable these RPCs.

Bug Fix

  • Fix a contract interface issue for posStakeForVotes.

Conflux v2.1.0

26 Sep 09:04
Compare
Choose a tag to compare

This release introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 56800000 (estimated on Oct 18). Most CIPs will be enabled when the block number reaches 133800000 (estimated on Oct 25), and CIP-99 will be enabled when the PoS block number reaches 330000 (estimated on Oct 25).

Incompatible Changes

Configuration Improvement

  • Add configuration enable_single_mpt_storage to enable storing all history states. Set single_mpt_space = "evm" to only store eSpace states. Note that you'll need to resync an archive node to reconstruct all the history states.

Storage Improvement

  • Allow snapshots to be removed during recovery. This reduces the disk space requirement for full node sync or recovery.

RPC Improvement

  • Support eth_subscribe and eth_unsubscribe in eSpace RPCs.
  • Add a RPC method cfx_getParamsFromVote to return the currently used value of the voted parameters.
  • Return null for getting skipped transactions and receipts. Whether they will be returned was nondeterministic before, but now they are ensured to be null.
  • When querying logs, use LatestState instead of the to epoch number when the to epoch number is greater than LatestState.

Transaction Pool Improvement

  • Fix an issue that may fail to recycle packed but skipped transactions.

Conflux v2.1.0-2-testnet

15 Sep 09:10
Compare
Choose a tag to compare
Pre-release

Incompatible Changes

Transaction Pool Improvement

  • Fix an issue that may fail to recycle packed but skipped transactions.

Conflux v2.1.0-testnet

11 Aug 05:08
Compare
Choose a tag to compare
Pre-release

This release introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 88100000.

Incompatible Changes

Configuration Improvement

  • Add configuration enable_single_mpt_storage to enable storing all history states. Set single_mpt_space = "evm" to only store eSpace states. Note that you'll need to resync an archive node to reconstruct all the history states.

Storage Improvement

  • Allow snapshots to be removed during recovery. This reduces the disk space requirement for full node sync or recovery.

RPC Improvement

  • Support eth_subscribe and eth_unsubscribe in eSpace RPCs.
  • Add a RPC method cfx_getParamsFromVote to return the currently used value of the voted parameters.
  • Return null for getting skipped transactions and receipts. Whether they will be returned was nondeterministic before, but now they are ensured to be null.

Conflux v2.0.3

29 Jul 02:54
Compare
Choose a tag to compare

Incompatible RPC Changes

  • 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.
  • cfx_clientVersion will have include more information like web3_clientVersion in eSpace.
  • fromEpoch will default to "latest_state" in cfx_getLogs.
  • fromBlock will default to "latest" in eth_getLogs.

Improvements

Storage Improvements

  • Avoid re-executing blocks if possible. This will accelerate the recovery process and reduce the disk usage if the node is restarted fast.

Configuration Improvements

  • eSpace will be enabled for dev mode with a default configuration.
  • Enable persit_tx_index for Archive nodes automatically.

Bug Fixes

  • Fix a possible panic caused by inaccurate local timestamps.

Conflux v2.0.3-testnet

19 Jul 05:11
Compare
Choose a tag to compare
Pre-release

Incompatible RPC Changes

  • 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.
  • cfx_clientVersion will have include more information like web3_clientVersion in eSpace.
  • fromEpoch will default to "latest_state" in cfx_getLogs.
  • fromBlock will default to "latest" in eth_getLogs.

Improvements

Storage Improvements

  • Avoid re-executing blocks if possible. This will accelerate the recovery process and reduce the disk usage if the node is restarted fast.

Configuration Improvements

  • eSpace will be enabled for dev mode with a default configuration.
  • Enable persit_tx_index for Archive nodes automatically.

Bug Fixes

  • Fix a possible panic caused by inaccurate local timestamps.

Conflux v2.0.2

04 Jul 03:13
Compare
Choose a tag to compare

Changelog v2.0.2

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.

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, which's balance will be very big.
  • If cfx_call, cfx_estimateGasAndCollateral raise error, and the error.data is string, it will directly return instead of being hex encoded.
  • cfx_sendRawTransaction will reject transaction if sender's balance is not enough.

Transaction Pool Improvements

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

Storage Improvement

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

Conflux v2.0.2-testnet-fix

22 Jun 02:45
Compare
Choose a tag to compare
Pre-release

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.

Bug Fix

  • Fix some issues that cause cfx_estimateGasAndCollateral and cfx_call to hang.
  • 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.

Improvement

  • If cfx_call, cfx_estimateGasAndCollateral raise error, and the error.data is string, it will directly return instead of being hex encoded.
  • cfx_sendRawTransaction will reject transaction if sender's balance is not enough.
  • More snapshot copy-on-write merging performance optimization on XFS file systems.

Conflux v2.0.2-testnet

09 May 06:10
Compare
Choose a tag to compare
Pre-release

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.

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, which's balance will be very big.

Transaction Pool Improvements

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

Storage Improvement

  • 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 a possible underflow crash in eth_estimateGas.

Conflux v2.0.1

30 Mar 08:28
Compare
Choose a tag to compare

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.