v2.5.0¶
v2.4.x upgraded to v2.5.0
Compatible upgrade :Directly replace the binary of the v2.4.x node with the v2.5.0 binary , the upgraded version fixes bugs in v2.4.x.
Full upgrade :Refer to Installation to build a new chain and resubmit all historical transactions to the new node. The upgraded node includes new features in v2.5.0
Change description¶
Added
Add precompiled contract, address 0x5, implement modular exponential calculation.
Add precompiled contract, address 0x6, implement point addition (ADD) of elliptic curve alt_bn128.
Add precompiled contract, address 0x7, implement the scalar multiplication (MUL) of elliptic curve alt_bn128.
Add precompiled contract, address 0x8, implement a pairing function on a specific pairing-friendly elliptic curve for zkSNARK verification.
Add precompiled contract, address 0x9, implement blake2 hash function.
Add flow control to achieve configurable node output bandwidth and maximum QPS
Add SDK connection node supports OSCCA-approved SSL, can be configured whether to enable
Changed
In MySQL storage mode, the field type of the contract table is changed to mediumblob.
The OSCCA-approved cryptography is modified from the compile option to the configuration item.
Paillier homomorphic encryption and group signature are enabled by default.
The build_chain script uses the private key as the root certificate and institution certificate of secp256k1.
The storage of PBFTBackup was changed from LevelDB to RocksDB.
Refactor the libdevcrypto module, optimize the code structure, and use TASSL to implement OSCCA-approved SSL and non-national TLS connections.
Optimize lock implementation of storage module openTable.
Optimize block data encoding to parallel.
Optimize the large object destructor to asynchronous.
Optimize log output mechanism to reduce the impact of log output on performance.
Optimize the number of threads of MHD and transaction pool modules to reduce memory usage.
Optimize MySQL storage adapter implementation, optimized ZdbStorage code implementation.
Fixed
Fix an issue where the Entry was modified in the same block, and subsequent transactions query the Entry result error.
Fix the issue that transactions in non-leader node transaction pool cannot be packaged under Raft consensus.
Fix a deadlock issue with CachedStorage.
Fix the problem of recovering from Binlog when Binlog is turned on in some extreme cases.
Fix an issue that Viewchange was rejected after a node restart under certain circumstances the view could not be restored quickly.
Compatibility
The old version can directly replace the program upgrade
Recommended version | Minimum version | Description | |
---|---|---|---|
console | 1.0.10 | 1.0.4 | |
SDK | 2.5.0 | 2.0.4 | |
generator | 1.5.0 | 1.2.0 | To use latest generator, please clone from master branch of generator repo. |
FISCO BCOS browser | 2.0.2 | 2.0.0-rc2 | |
Solidity | up to 0.5.2 | 0.4.11 |
Compatibility mode rollback to v2.4.x method
After a node is upgraded from v2.4.x to v2.5.0 in compatibility mode, the rollback can be completed directly by replacing the node binary back to v2.4.x.