Releases: Conflux-Chain/conflux-rust
Conflux v2.0.1-testnet
Improvements
RPC Deprecation Announcement
cfx_getLogs
andeth_getLogs
will no longer support the parameterslimit
andoffset
starting fromv2.0.3
. They are not efficient and can be replaced by setting the block/epoch range instead.
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. - Set a proper max open files with
ulimit
in the default Linux/macOS start bash script.
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
.
Conflux v2.0.0-fix
This release fixes the issues during the hardfork by discarding the deprecated forks generated by not upgraded miners.
The PoS register end block number is delayed to 92751800 and the PoS chain launching epoch number is delayed to 37400000.
Conflux v2.0.0 (Hydra)
To node operators and miners:
Please upgrade your node before Epoch Number reaches 36935000 or Block Number reaches 92060600 (around 12:00 Feb.23rd, 2022(GMT+8)).
Please add pos_config
(will be updated here after Feb.25th at 12:00) before Epoch Number reaches 37230000 (around Feb.28th 12:00).
If the binary cannot start, you can choose to compile the binary on your own platform or use the compatible
version. Note that the compatible
version has poorer performance and requires better hardware to run stably(possibly >4 cores).
The first time a v2.0 node starts, it will generate a PoS private key (stored in pos_config/key
) and a password is required to encrypt it. The password is needed each time the node restarts. If the node will be registered as a PoS voter, please make sure the key file and the password are not leaked or deleted/forgotten.
Spec Incompatible Changes
- CIP-43:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-43.md
- CIP-64:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-64.md
- CIP-71:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-71.md
- CIP-76:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-76.md
- CIP-78:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-78.md
- CIP-86:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-86.md
- CIP-90:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-90.md
- CIP-92:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-92.md
RPC Improvements
Check this hardfork document for details: https://developer.confluxnetwork.org/v2-hardfork/hydra_overview/#rpc-changes
PoS RPC
Added a new group of PoS-related methods with a prefix of pos
. Current information about the PoS chain can be acquired using these methods.
PoW RPC
Hardfork PoW RPC Changes
- Added a new field in the block structure and
pubsub
header structure:posReference
: the hash of the PoS latest block at the time when the PoW block is mined
cfx_getStatus
response have two more fields:latestFinalized
andethereumSpaceChainId
Incompatible Trace Changes
- Refactor the design and implementation of transaction traces.
trace
RPCs will be affected. RPC server runnings need to resync all trace data to supporttrace
RPCs correctly. Check Conflux-Chain/CIPs#88 for details.
New Tag
- Added a new epochNumber tag:
latestFinalized
:the latest finalized block
New RPCs
- Added three new RPC methods:
cfx_openedMethodGroups
cfx_getPoSRewardByEpoch
cfx_posEconomics
:- view the current overall economics information of PoS
- txpool-related RPC
- Added a new group of txpool-related RPC methods with a prefix of
txpool
which can be used to view various kinds of information regarding the current transaction pool.
- Added a new group of txpool-related RPC methods with a prefix of
eth
RPC
Introduce Ethereum-comptible eth
RPCs after CIP-90. Refer to this link for a list of implemented methods: https://developer.confluxnetwork.org/conflux-doc/docs/EVM-Space/evm_space_rpc_compatibility
Configuration Improvements
- Remove default dev mode ports. The users should configure open ports if they want to access RPCs.
- Add configuration
jsonrpc_http_eth_port
andjsonrpc_ws_eth_port
to set eth-space RPC endpoint ports.
Transaction Pool Improvements
- Implement transaction pool garbage collection based on strict priorities (including transaction readiness, gas price, e.t.c.).
- Sample a subset of transactions with higher gas prices for packing. This reduces the packing time for high-price transactions.
- Reject invalid recipient in tx pool.
Bug Fixes
- Fixed a bug that may slow down the syncing process for archive nodes.
- Fix an issue that if the node is serving multiple state-related RPCs concurrently, some states may fail to be opened.
- Fix a possible OOM issue during node restarting.
- Fix blocked catching up issues of a heavy fork subtree.
Conflux v2.0.0-4-testnet
Improvements
- Support "phantom" eSpace transactions. (https://developer.confluxnetwork.org/conflux-doc/docs/EVM-Space/evm_space_vm_compatibility/#phantom-transactions)
- Support more
eth
space RPCs.
Bug Fixes
- Fix
eth
space RPC issues. - Fix
cfx
space RPCs affected by introducing eSpace transactions.
Conflux v2.0.0-3-testnet
Incompatible Changes
- Introduce a new space that is fully EVM compatible. (CIP-90:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-90.md)
- Enable Blake2F builtin function. (CIP-92: Conflux-Chain/CIPs#92)
- CIP-90 and CIP-92 will be enabled on Conflux Testnet at epoch number 61465000 and block number 77340000.
Configuration Changes
- Add configuration
jsonrpc_http_eth_port
andjsonrpc_ws_eth_port
to set eth-space RPC endpoint ports.
Conflux v2.0.0-2-testnet
Incompatible Changes
-
RPC Changes
- Refactor the design and implementation of transaction trace.
trace
RPCs will be affected. Check Conflux-Chain/CIPs#88 for details. (#2286, #2292)
- Refactor the design and implementation of transaction trace.
-
Configuration Changes
- Remove default dev mode ports. The users should configure open ports if they want to access RPCs. (#2328)
Improvements
- Implement transaction pool garbage collection based on strict priorities (including transaction readiness, gas price, e.t.c.). (#2287, #2291)
- Sample a subset of transactions with higher gas prices for packing. This reduces the packing time for high-price transactions. (#2312)
- Reject invalid receipient in txpool. (#2289)
Bug fixes
- Fix an issue that may cause the transaction pool to stop garbage collecting and always remains full. (#2357)
- Fix an issue that if the node is serving multiple state-related RPCs concurrently, some states may fail to be opened. (#2293)
- Fix a possible OOM issue during node restarting. (#2267)
- Fix blocked catching up issues of a heavy fork subtree. (#2280)
Conflux v2.0.0-testnet
To node operators and miners:
Please upgrade your node before Epoch Number reaches 55095000 or Block Number reaches 68845000 (around 10:00 Dec.9th, 2021(GMT+8)).
Please add pos_config
(will be updated here after Dec.11 at 18:00) before Epoch Number reaches 55665000 (around Dec.13th 15:00).
If the binary cannot start, you can choose to compile the binary on your own platform or use the compatible
version. Note that the compatible
version has poorer performance and requires better hardware to run stably(>4 cores).
Incompatible Changes
- CIP-43:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-43.md
- CIP-64:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-64.md
- CIP-71:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-71.md
- CIP-72:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-72.md
- CIP-76:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-76.md
- CIP-78:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-78.md
- CIP-86:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-86.md
RPC Improvements
PoS RPC
Added a new group of PoS-related methods with a prefix of pos. Current information about the PoS chain can be acquired using these methods.
PoW RPC
Hardfork PoW RPC Changes
- Added a new field in the block structure:
posBlockHash
: the hash of the PoS latest block at the time when the PoW block is mined
New Tag
- Added a new epochNumber tag:
latestFinalized
:the latest finalized block
New RPC
- Added a new RPC method to view the current overall economics information of PoS:
cfx_posEconomics
- txpool-related RPC
- Added a new group of txpool-related RPC methods with a prefix of
txpool
which can be used to view various kinds of information regarding the current transaction pool.
- Added a new group of txpool-related RPC methods with a prefix of
Bug Fixes
Fixed a bug that may slow down the syncing process for archive nodes.
Conflux v1.1.7
Improvements
- Optimize the transaction pool to avoid rejecting high gas price transactions.
- Change cfx_getStorageAt's second parameter type from
H256
toU256
. - Add a RPC
cfx_openedMethodGroups
to return opened RPC groups. - Optimize
cfx_gasPrice
logic. - Optimize transaction execution performance by avoiding unnecessary data copy.
Bug Fixes
- Fix missing log issue when doing log filtering with block ranges.
Conflux v1.1.6-fix2
Bug Fix
- Fix an issue that
unpacked_transaction_count
in the transaction pool may underflow after the node rejects a new transaction because of a low gas price.
Conflux v1.1.6-testnet
Improvements
- Optimize transaction pool to avoid replacing a transaction with a lower gas-price one after garbage collection.
- Improve transaction execution performance when a non-existent account is accessed.
- Improve txpool garbage collection behavior.
- Add
txpool
RPC group for querying transaction-pool-related information. - Enable block number index by default.
Bug fixes
- Fix an issue that may cause the node to stop receiving network messages.
- Fix an issue that may prevent archive nodes to sync (#2249).
- Fix an issue that an archive may crash after several quick restarts (#2244).
- Fix duplicate log result for duplicate blockhash parameter (#2238).
- Fix an issue that block number index may be incorrect after pivot switch (#2236).