Improvements
RPC Deprecation Announcement
cfx_getLogsandeth_getLogswill no longer support the parameterslimitandoffsetstarting fromv2.0.3. They are not efficient and can be replaced by setting the block/epoch range instead.
RPC Improvements
- Report error in
cfx_getLogsandeth_getLogsifget_logs_filter_max_limitis configured but the query would return more logs. The previous behavior ofcfx_getLogswas to silently truncate the result. The previous behavior ofeth_getLogswas to raise an error whenfilter.limitis too low, regardless of how many logs the query would result in. eth_gasPricenow estimate gas prices accurately instead of returning a fixed value.- Support phantom transactions and return correct fields in eSpace
traceRPCs. - Add fields
validandcreateTypefor eSpacetraceRPCs. - Add RPC
rpc_methodsto return all available methods andrpc_modulesto return all RPC modules. - Add
totalEspaceTokensin 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_rangefor limiting the maximum gap betweenfrom_blockandto_blockduring Core space log filtering (cfx_getLogs). Note: eSpace blocks correspond to epochs in Core space, so the range ineth_getLogscan be limited usingget_logs_filter_max_epoch_range. - Add config parameter
min_phase_change_normal_peer_countto 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_PASSWORDto configure pos key encryption password. - Set a proper max open files with
ulimitin 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
stdoutunavailable. - Fix an issue that an old transaction is not replaced according to a higher
epoch_height.