v3.3.0¶
New¶
intra-block shardGrouping contracts, scheduling transactions from different groups to different executors, on-chip DAG scheduling, and inter-chip DMC scheduling
Permissions dynamically configurable: Can dynamically turn off / on the permission function at runtime
SDK supports hardware encryption machineThe SDK supports running cryptographic algorithms through the encryption machine
Gateway speed limit: via configuration file(config.ini) Control the size of the incoming flow
Merkle Tree Cache: 提高取交易证明的性能
The gateway module supports multiple CAs: different chains can share the same gateway module to forward messages. You can configure multiple CAs in the directory。
Modify¶
Optimize various details to improve node performance
The transaction interface of rpc returns the input field: you can control whether it needs to be returned in the configuration file
Repair¶
Fix BFS unavailability and inconsistent chain execution triggered by using the ‘3.3.0’ version binary to change the chain version number from ‘3.0.0’ to ‘3.1.0’ and above
Fix the problem of network disconnection caused by abnormal parsing of ‘P2P’ message
Fixes an issue where the ‘StateStorage’ read operation commits while causing the iterator to fail
Fixed the problem that the node private key file ‘node.pem’ was not generated during the ‘Pro’ version expansion operation and the expansion failed
Fix the problem that the receipt hash is occasionally incorrect when the transaction receipt is returned
Compatibility¶
Historical Version Upgrade
The “data compatibility version number ([compatibility _ version] of the chain that needs to be upgraded”(#id5)) “is the following version
3.3.x: The data is fully compatible with the current version, and the upgrade can be completed by directly replacing the binary
3.2.x, 3.1.x, 3.0.x: supports gray-scale upgrade by replacing the binary. If you need to use the new features of the current version, you need to upgrade the data-compatible version number. See Document
3.0-rc x: Data is not compatible and cannot be upgraded. Consider gradually migrating your business to the 3.x official version
2.x: data is not compatible, 2.x version is still maintained, you can consider upgrading to the latest version of 2.x
Component compatibility
| Recommended Version | Minimum Version | Description | |
|---|---|---|---|
| Console | 3.3.0 | 3.0.0 | |
| Java SDK | 3.3.0 | 3.0.0 | |
| CPP SDK | 3.3.0 | 3.0.0 | |
| Solidity | 0.8.11 | Minimum 0.4.25, maximum 0.8.11 | The compiler (console) needs to be downloaded according to the contract version |
| WBC-Liquid | 1.0.0-rc3 | 1.0.0-rc3 | |
| WeBASE | 3.0.2 | 3.0.2 | |
| WeIdentity | v3.0.0-rc.1 | v3.0.0-rc.1 |
Upgrade Method¶
This operation only supports upgrading version 3.x to this version, and does not support upgrading version 3.0-rc or 2.x。
Query data compatibility version number (compatibility _ version)¶
Use consoleQuery, such as the current version returned is 3.0.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.0.0
Replace Node Binary¶
Need to beAll NodesGradually replace the binary with the current version。In order not to affect the business, the replacement process can be done in grayscale, replacing and restarting nodes one by one。During the replacement process, the current chain continues to execute with the logic of the old data-compatible version number。After the binary replacement of all nodes is completed and restarted, you need to use the console to modify the data compatibility version number to the current version。
Set the data compatibility version number (compatibility _ version)¶
Use consoleSet the data compatibility version number, for example, the current version is 3.3.0。
[group0]: /apps> setSystemConfigByKey compatibility_version 3.3.0
{
"code":0,
"msg":"success"
}
Note: If the permission governance function is enabled, you need to use the setSysConfigProposal command
Set successfully, query again, the current version has been upgraded to 3.3.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.3.0
The current chain has been upgraded, so far,The chain continues to run with new logicand supports new features。