Releases: Conflux-Chain/conflux-rust
Releases · Conflux-Chain/conflux-rust
Conflux v2.1.1-testnet
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 theto
epoch number when theto
epoch number is greater thanLatestState
. - Add filter RPCs in eSpace including
eth_newFilter
,eth_newBlockFilter
,eth_newPendingTransactionFilter
,eth_getFilterChanges
,eth_getFilterLogs
,eth_uninstallFilter
. Note that you need to setpoll_lifetime_in_seconds
in the configuration to enable these RPCs.
Bug Fix
- Fix a contract interface issue for
posStakeForVotes
.
Conflux v2.1.0
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
- CIP-94 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-94.md): This CIP proposes to use on-chain DAO voting to decide and update reward parameters without hardfork.
- CIP-97 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-97.md): This CIP proposes to remove account’s staking lists.
- CIP-98 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-98.md): Fix a bug in BLOCKHASH opcode in eSpace.
- CIP-99 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-99.md): Allow more not-voting terms before we force-retire a node, and make the unlock period of a retiring node shorter to allow the node to rejoin the PoS voting faster.
- CIP105 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-105.md): PoS staking based minimal DAO vote count.
Configuration Improvement
- Add configuration
enable_single_mpt_storage
to enable storing all history states. Setsingle_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
andeth_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 theto
epoch number when theto
epoch number is greater thanLatestState
.
Transaction Pool Improvement
- Fix an issue that may fail to recycle packed but skipped transactions.
Conflux v2.1.0-2-testnet
Incompatible Changes
- CIP105: PoS staking based minimal DAO vote count. This will be enabled at block number 122,700,000. (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-105.md)
Transaction Pool Improvement
- Fix an issue that may fail to recycle packed but skipped transactions.
Conflux v2.1.0-testnet
This release introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 88100000.
Incompatible Changes
- CIP-94 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-94.md): This CIP proposes to use on-chain DAO voting to decide and update reward parameters without hardfork.
- CIP-97 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-97.md): This CIP proposes to remove account’s staking lists.
- CIP-98 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-98.md): Fix a bug in BLOCKHASH opcode in eSpace.
- CIP-99 (https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-99.md): Allow more not-voting terms before we force-retire a node, and make the unlock period of a retiring node shorter to allow the node to rejoin the PoS voting faster.
Configuration Improvement
- Add configuration
enable_single_mpt_storage
to enable storing all history states. Setsingle_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
andeth_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
Incompatible RPC Changes
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. They are not efficient and can be replaced by setting the block/epoch range instead.cfx_clientVersion
will have include more information likeweb3_clientVersion
in eSpace.fromEpoch
will default to "latest_state" incfx_getLogs
.fromBlock
will default to "latest" ineth_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
Incompatible RPC Changes
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. They are not efficient and can be replaced by setting the block/epoch range instead.cfx_clientVersion
will have include more information likeweb3_clientVersion
in eSpace.fromEpoch
will default to "latest_state" incfx_getLogs
.fromBlock
will default to "latest" ineth_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
Changelog v2.0.2
RPC Deprecation Announcement
- Starting from v2.0.3,
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. 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 likeweb3_clientVersion
in eSpace. - Starting from v2.0.3,
fromEpoch
will default to "latest_state" incfx_getLogs
. - Starting from v2.0.3,
fromBlock
will default to "latest" ineth_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
, 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, which's balance will be very big.- If
cfx_call
,cfx_estimateGasAndCollateral
raise error, and theerror.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
RPC Deprecation Announcement
- Starting from v2.0.3,
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. 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 likeweb3_clientVersion
in eSpace. - Starting from v2.0.3,
fromEpoch
will default to "latest_state" incfx_getLogs
. - Starting from v2.0.3,
fromBlock
will default to "latest" ineth_getLogs
.
Bug Fix
- Fix some issues that cause
cfx_estimateGasAndCollateral
andcfx_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 theerror.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
RPC Deprecation Announcement
- Starting from v2.0.3,
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. 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 likeweb3_clientVersion
in eSpace. - Starting from v2.0.3,
fromEpoch
will default to "latest_state" incfx_getLogs
. - Starting from v2.0.3,
fromBlock
will default to "latest" ineth_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
, 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, 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
Improvements
RPC Deprecation Announcement
- Starting from v2.0.3,
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
. 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 likeweb3_clientVersion
in eSpace. - Starting from v2.0.3,
fromEpoch
will default to "latest_state" incfx_getLogs
. - Starting from v2.0.3,
fromBlock
will default to "latest" ineth_getLogs
.
RPC Improvements
- Report error in
cfx_getLogs
andeth_getLogs
ifget_logs_filter_max_limit
is configured but the query would return more logs. The previous behavior ofcfx_getLogs
was to silently truncate the result. The previous behavior ofeth_getLogs
was to raise an error whenfilter.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
andcreateType
for eSpacetrace
RPCs. - Add RPC
rpc_methods
to return all available methods andrpc_modules
to return all RPC modules. - Add
totalEspaceTokens
in the response ofcfx_getSupplyInfo
. - Add local RPCs
pos_start_voting
,pos_stop_voting
, andpos_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 betweenfrom_block
andto_block
during Core space log filtering (cfx_getLogs
). Note: eSpace blocks correspond to epochs in Core space, so the range ineth_getLogs
can be limited usingget_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.