FISCO BCOS v3.10.0
Pre-release
Pre-release
获取更多信息,请阅读FISCO BCOS 3.x文档
新增
- 新增feature开关feature_evm_cancun,用于控制EVM升级至CANCUN版本。相关PR:#4332
- EVM支持至CANCUN版本,支持TLOAD, TSTORE, MCOPY, BLOBHASH and BLOBBASEFEE等最新操作码,支持soldity为0.8.26版本合约部署。相关PR:#4332
- 一键搭链脚本增加开启日志级别为debug功能。相关PR:#4411
修复
- 解决baseline模式下合约不存在时返回码与串行模式不同的问题。相关PR:#4512
- 解决baseline模式下合约revert时可能会内存泄露的问题。相关PR:#4554
- 限制baseline模式下缓存合约executive的数量,减少内存占用。相关PR:#4559
- 修复Web3 JSON RPC部分接口不填入Block Tag导致节点退出的问题。PR:#4547
兼容性说明
兼容版本
需要升级的链的“数据兼容版本号(compatibility_version)”为如下版本时:
- 3.4.x、3.5.x,3.6.x、3.7.x、3.8.x、3.9.x:数据完全兼容当前版本,直接替换二进制即可完成升级
- 3.3.x、3.2.x、3.1.x、3.0.x:支持通过替换二进制进行灰度升级,若需使用当前版本的新特性,需升级数据兼容版本号,操作见文档
- 3.0-rc x:数据不兼容,无法升级,可考虑逐步将业务迁移至3.x正式版
- 2.x:数据不兼容,2.x版本仍持续维护,可考虑升级为2.x的最新版本
升级方法
该操作仅支持将3.x版本升级为本版本,不支持3.0-rc或2.x的升级。
查询数据兼容版本号(compatibility_version)
用控制台
进行查询,如当前返回的版本为3.9.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.9.0
替换节点二进制
需将所有节点
的二进制逐步替换为当前版本。为了不影响业务,替换过程能够以灰度方式进行,逐个替换并重启节点。替换过程中,当前的链仍然会以旧的数据兼容版本号的逻辑继续执行。当所有节点二进制替换完成并重启后,需用控制台修改数据兼容版本号为当前版本。
设置数据兼容版本号(compatibility_version)
用控制台
设置数据兼容版本号。
[group0]: /apps> setSystemConfigByKey compatibility_version 3.10.0
{
"code":0,
"msg":"success"
}
注:若开启权限治理功能,需要使用 setSysConfigProposal 命令
设置成功,再次查询,得到当前版本已升级为3.10.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.10.0
当前链已经完成升级,至此,链开始以新的逻辑继续运行,并支持了新的特性。
组件兼容性
推荐版本 | 最低版本 | 说明 | |
---|---|---|---|
WeBASE | 3.0.2 | 3.0.2 | |
WeIdentity | v3.0.0-rc.1 | v3.0.0-rc.1 | |
Console | 3.8.0 | 3.0.0 | |
Java SDK | 3.8.0 | 3.0.0 | |
CPP SDK | 3.7.0 | 3.0.0 | |
Solidity | 0.8.26 | 最低 0.4.25,最高 0.8.26 | 需根据合约版本下载编译器(控制台) |
WBC-Liquid | 1.0.0-rc3 | 1.0.0-rc3 |
What's Changed
- upgrade evm to cancun by @wenlinlee in #4332
- Sync master code into feature-evm-cancun by @wenlinlee in #4475
- add point_evaluation Precompiled.cpp and add ut by @wenlinlee in #4489
- sync code by @wenlinlee in #4510
- sync master code by @wenlinlee in #4518
- Fix code not found status code and output by @morebtcg in #4512
- Fix code to pass gcc 14.1 by @morebtcg in #4533
- Remove mp11, Coroutine.h and precompiledheader, use std::generator by @morebtcg in #4538
- update version by @wenlinlee in #4535
- Add optimize-sibling-calls by @morebtcg in #4545
- (rpc): fix web3 rpc block tag null param bug. by @kyonRay in #4547
- Fix rollback and task memory leak by @morebtcg in #4554
- (CI): fix CI upload compile error. by @kyonRay in #4551
- (code): sync code from bugfix-3.9.1 by @kyonRay in #4558
- Add limit to cached executives by @morebtcg in #4559
- (security): fix dataEncrtption decode bug. by @kyonRay in #4561
- update README.md by @wenlinlee in #4563
- Release 3.10.0 by @wenlinlee in #4564
Full Changelog: v3.9.0...v3.10.0