v3.7.0¶
Repair¶
Updated tikv _ client / bcos-wasm / wedprcrypto and rust toolchain versions
Fix the problem of deploying empty abi and deploying the same contract getABI failed
Historical Version Upgrade
The “data compatibility version number ([compatibility _ version] of the chain that needs to be upgraded”(#id5)) “is the following version
3.4.x, 3.5.x, 3.6.x, 3.7.x: The data is fully compatible with the current version, and the upgrade can be completed by directly replacing the binary
3.3.x, 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
Turn on the experiment function
Effect: The opening of the experimental function is controlled by the feature switch
Action: After upgrading the node executable, run the console command ‘setSystemConfigByKey
1 ‘Open the corresponding experimental function, see the document upgrade method section for specific operations Note:
feature operation is irreversible and cannot be closed after opening
After confirming that all executable programs have the same version, open the feature
| Feature Name | Default State | Description | |
|---|---|---|---|
| Asset Management | feature_balance | Off: 0 | Default Off |
| Pre-compiled contracts for asset operations | feature_balance_precompile | Off: 0 | Default Off |
| Billing Mode | feature_policy1 | Off: 0 | Default Off |
| intra-block fragmentation | feature_sharding | Off: 0 | By default, feature _ sharding is turned on only when upgrading from 3.3 or 3.4 to the current version |
| homomorphic encryption | feature_paillier | Off: 0 | Default Off |
| rpbft consensus | feature_rpbft | Off: 0 | Default Off |
| Bug fixes | bugfix_\<bug_name> | On: 1 | Upgrading from a lower version is off by default |
Component compatibility
| Recommended Version | Minimum Version | Description | |
|---|---|---|---|
| WeBASE | 3.0.2 | 3.0.2 | |
| WeIdentity | v3.0.0-rc.1 | v3.0.0-rc.1 | |
| Console | 3.7.0 | 3.0.0 | |
| Java SDK | 3.7.0 | 3.0.0 | |
| CPP SDK | 3.7.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 |
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 console Query, such as the currently returned version is 3.6.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.6.0
Replace Node Binary¶
Need to beAll Nodes Gradually 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 console Set the data compatibility version number. For example, the current version is 3.7.0。
[group0]: /apps> setSystemConfigByKey compatibility_version 3.7.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.7.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.7.0
The current chain has been upgraded, so far,The chain continues to run with new logicand supports new features。