XuperCore v5.2.0 Release Note
Performance optimization
- Transfer transaction
- Overall memory usage decreased by around 33%.
- Overall CPU usage decreased by about 50%.
- Contract transaction
- Overall memory usage decreased by around 50%.
- Overall CPU usage decreased by about 30%.
Ledger
Optimize the unconfirmed transaction pool mempool, perform topological sorting on unconfirmed transactions when submitting transactions to the chainnode, improve block packaging, block synchronization and block execution speed.
Block synchronization
Optimize The block synchronization scheme is optimized, from passively receiving blocks to actively pulling blocks, and synchronizing blocks from reverse order synchronization to sequential synchronization (block height from low to high), maximizing the use of network bandwidth and improving synchronization efficiency.
Consensus
Improve the QCTree rollback logic, fix the dirty write problem at the kernel layer and bcs layer, increase the timeout logic of absenteeism to collect signatures to ensure the packaging block time, and improve the stability and correctness of the consensus.
Bug fix
xupercore:
- Fix the bug that if thetoo small utxo cache is too small,may cause the block execution failure. may fail;
- The stability of consensus upgrade has been improved. The previous version may cause nodes to fail to block. the consensus upgrade stability of the latest version has been improved to more than 99%, to solve the problem that nodes may fail to block.
- Fix the bug that the verification of the timer contract state machine walking may casuefail verification of the timer contract failure. when the state machine walks.
- Fixed a bug that the configuration field init_proposer of poa and pos consensus is allowed to be empty.where the init_proposer of the poa and pos contract consensus configuration was empty, which might cause the program to exit.
- Fix theed a bug that reloading a parallel chain maycould cause the program to exit when reloading a parachain.
xchain-cli:
- Fix the bug that where utxo merge command fails transaction due to missing signatureutxo merge command fail.
- Fix the bug that the default chain name of the prune ledger command is wrong.default chain name of the prune ledger command.
- Status command supports specifying chain name.
- Add Proposal Height Check.
New features
Architecture:
- Support arm architecture.
log:
- Improve log write performance.
xupercore:
- Improve the speed of acquiring transactions within blocks.
- Prohibit pow consensus upgrade.
- Reduce memory allocation for merkle algorithm.
- Chained-BFT supports a candidate group number of 1, ensuring that a single candidate can still execute according to the QCTree process.