Skip to content

Releases: FISCO-BCOS/FISCO-BCOS

FISCO BCOS Release v3.12.3

27 Dec 07:53
f79608b
Compare
Choose a tag to compare
Pre-release

What's Changed

Full Changelog: v3.12.2...v3.12.3

FISCO BCOS Release v3.12.2

20 Dec 02:50
3ea1a14
Compare
Choose a tag to compare
Pre-release

What's Changed

  • (CI): add ubuntu upload, try to fix windows compile cppsdk error. by @kyonRay in #4736
  • (rpc,utilities): fix rpc block response bug, fix executor nonce compatibility issue. by @kyonRay in #4757
  • sync code from 3.12.2 to mater by @morebtcg in #4766
  • (project): upgrade to 3.12.2 by @kyonRay in #4767

Full Changelog: v3.12.1...v3.12.2

FISCO BCOS v3.12.1

25 Nov 09:21
631fa05
Compare
Choose a tag to compare
FISCO BCOS v3.12.1 Pre-release
Pre-release

What's Changed

  • (gateway): add ssl server and client verify mode config. by @kyonRay in #4688
  • (gateway): fix handshake issue since gateway do not decode clients' ssl pub key when it set ssl verify_none mode. by @kyonRay in #4692
  • (gateway): set ssl server and client verify mode to openssl directly, generate random p2p id for server and client when verify mode is verify_none. by @kyonRay in #4694
  • (build): update version to 3.12.1. by @kyonRay in #4718
  • (p2p,rpc): fix p2p message length check coredump, add more information in web3 json rpc block response. by @kyonRay in #4720
  • fix docker ci build failed by @HaoXuan40404 in #4729
  • (CI): fix github release actions. by @kyonRay in #4731
  • Release v3.12.1 by @kyonRay in #4733

Full Changelog: v3.12.0...v3.12.1

FISCO BCOS v3.12.0

25 Oct 02:32
480f624
Compare
Choose a tag to compare
FISCO BCOS v3.12.0 Pre-release
Pre-release

获取更多信息,请阅读FISCO BCOS 3.x文档

新增

  • 适配Web3合约地址的计算逻辑,开启配置项 feature_evm_address 即可使用。相关PR:#4597
  • 新增Web3交易对EOA的nonce递增检查。相关PR: #4603
  • 适配Solidity交易内合约时间戳单位到秒级,开启配置项 feature_evm_timestamp 即可使用。相关PR:#4622
  • 新增rPBFT的轮换选举权重,共识委员会根据轮换选举权重选出共识节点,开启配置项 `` 即可使用。相关PR:#4600#4605
  • 在配置文件中新增 rpc.enable_ssl 的配置项,该配置项的设置将覆盖原有 rpc.disable_ssl的配置。相关PR:#4680

修复

  • rPBFT的VRF input从prev block hash更改到prev block number,以解决在流水线共识情况下偶然出现的轮换选举失败。开启配置项 bugfix_rpbft_vrf_blocknumber_input 即可使用。相关PR#4670
  • 修复交易发送到游离节点,可以广播给共识节点的bug。相关PR:#4662
  • 修复观察节点切换到共识节点后并成为leader时,可能出现已落盘交易被打包最终proposal被共识拒绝的问题。相关PR:#4671
  • 修复部分Web3 JSON RPC接口接收错误HEX格式时出现coredump的问题。相关PR:#4661
  • 修复使用落盘加密不可用的问题。相关PR:#4682

兼容性说明

兼容版本

需要升级的链的“数据兼容版本号(compatibility_version)”为如下版本时:

  • 3.4.x、3.5.x,3.6.x、3.7.x、3.8.x、3.9.x、3.10.x、3.11.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.11.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.11.0

替换节点二进制

需将所有节点
的二进制逐步替换为当前版本。为了不影响业务,替换过程能够以灰度方式进行,逐个替换并重启节点。替换过程中,当前的链仍然会以旧的数据兼容版本号的逻辑继续执行。当所有节点二进制替换完成并重启后,需用控制台修改数据兼容版本号为当前版本。

设置数据兼容版本号(compatibility_version)

控制台
设置数据兼容版本号。

[group0]: /apps>  setSystemConfigByKey compatibility_version 3.12.0
{
    "code":0,
    "msg":"success"
}

注:若开启权限治理功能,需要使用 setSysConfigProposal 命令

设置成功,再次查询,得到当前版本已升级为3.12.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.12.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

Full Changelog: v3.11.0...v3.12.0

FISCO BCOS v3.10.3

20 Sep 07:11
5c3f459
Compare
Choose a tag to compare
FISCO BCOS v3.10.3 Pre-release
Pre-release

What's Changed

Full Changelog: v3.10.2...v3.10.3

FISCO BCOS v3.10.2

13 Sep 07:37
7ba690f
Compare
Choose a tag to compare
FISCO BCOS v3.10.2 Pre-release
Pre-release

What's Changed

Full Changelog: v3.10.0...v3.10.2

FISCO BCOS v3.11.0

27 Aug 02:58
3fea676
Compare
Choose a tag to compare
FISCO BCOS v3.11.0 Pre-release
Pre-release

获取更多信息,请阅读FISCO BCOS 3.x文档

新增

  • 新增自动清理过期的Nonce列表。相关PR:#4465
  • 新增[log].rotate_time_point支持设置日志滚动时间。相关PR:#4465
  • 支持快照生成和导入功能。相关PR:#4471
  • 支持通过p2p同步归档区块的交易和收据。相关PR:#4556
  • 支持区块和状态数据分离存储。相关PR:#4552

兼容性说明

兼容版本

需要升级的链的“数据兼容版本号(compatibility_version)”为如下版本时:

  • 3.4.x、3.5.x,3.6.x、3.7.x、3.8.x、3.9.x、3.10.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.10.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.10.0

替换节点二进制

需将所有节点
的二进制逐步替换为当前版本。为了不影响业务,替换过程能够以灰度方式进行,逐个替换并重启节点。替换过程中,当前的链仍然会以旧的数据兼容版本号的逻辑继续执行。当所有节点二进制替换完成并重启后,需用控制台修改数据兼容版本号为当前版本。

设置数据兼容版本号(compatibility_version)

控制台
设置数据兼容版本号。

[group0]: /apps>  setSystemConfigByKey compatibility_version 3.11.0
{
    "code":0,
    "msg":"success"
}

注:若开启权限治理功能,需要使用 setSysConfigProposal 命令

设置成功,再次查询,得到当前版本已升级为3.11.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.11.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

Full Changelog: v3.10.0...v3.11.0

FISCO BCOS v3.10.0

06 Aug 07:20
1505644
Compare
Choose a tag to compare
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

Full Changelog: v3.9.0...v3.10.0

v2.11.1

26 Jul 07:58
2ace598
Compare
Choose a tag to compare
v2.11.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.11.0...v2.11.1

FISCO-BCOS v3.9.0

03 Jul 02:57
dce491b
Compare
Choose a tag to compare
FISCO-BCOS v3.9.0 Pre-release
Pre-release

获取更多信息,请阅读FISCO BCOS 3.x文档

新增

  • 实现Web3 Json RPC接口,用户可以使用Hardhat、OpenZeppelin 等现有Web3开发工具在FISCO BCOS上进行调试。相关PR: #4334, #4337, #4356#4365
  • 支持RLP交易类型的解析以及执行。相关PR:#4347#4350
  • 新增事件拉取接口,用户可以使用主动拉取的方式收取合约事件、区块变化等。相关PR:#4403#4412,[#4440]](#4440)
  • 新增系统配置项web3_chain_id,用于Web3工具识别链的ID,发送正确的交易。相关PR:#4392
  • 新增配置项[web3_rpc],用户可选择开启Web3 Json RPC服务,默认端口号为8545。

修复

  • 修复在Solidity合约中使用staticcall的opcode调用合约异常时返回错误的问题。相关PR:#4443
  • 修复在Solidity合约中receive函数没有被正确处理的问题。相关PR:#4443
  • 修复在Solidity合约中获取EOA的code时返回错误的问题。相关PR:#4505
  • 修复在调用Solidity合约view函数时,合约内取区块高、时间戳错误的问题。相关PR:#4505

兼容性说明

兼容版本

需要升级的链的“数据兼容版本号(compatibility_version)”为如下版本时:

  • 3.4.x、3.5.x,3.6.x、3.7.x、3.8.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.7.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.7.0

替换节点二进制

需将所有节点
的二进制逐步替换为当前版本。为了不影响业务,替换过程能够以灰度方式进行,逐个替换并重启节点。替换过程中,当前的链仍然会以旧的数据兼容版本号的逻辑继续执行。当所有节点二进制替换完成并重启后,需用控制台修改数据兼容版本号为当前版本。

设置数据兼容版本号(compatibility_version)

控制台
设置数据兼容版本号,如当前版本为3.7.0。

[group0]: /apps>  setSystemConfigByKey compatibility_version 3.9.0
{
    "code":0,
    "msg":"success"
}

注:若开启权限治理功能,需要使用 setSysConfigProposal 命令

设置成功,再次查询,得到当前版本已升级为3.9.0

[group0]: /apps>  getSystemConfigByKey compatibility_version
3.9.0

当前链已经完成升级,至此,链开始以新的逻辑继续运行,并支持了新的特性。

组件兼容性

推荐版本 最低版本 说明
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 最低 0.4.25,最高 0.8.11 需根据合约版本下载编译器(控制台)
WBC-Liquid 1.0.0-rc3 1.0.0-rc3

What's Changed

  • (rpc): add eth json rpc interfaces. by @kyonRay in #4318
  • (code): sync code from release 3.8.0 by @kyonRay in #4325
  • sync code from release-3.8.0 by @kyonRay in #4328
  • (rpc,init): add web3 rpc service, add init web3 rpc logic. by @kyonRay in #4324
  • (rpc): impl fake web3 json rpc interface. by @kyonRay in #4330
  • (rpc): refactor web3 json rpc to coroutine-lize. by @kyonRay in #4333
  • (rpc): impl web3 rpc handle request. by @kyonRay in #4334
  • (rpc): impl eth/web3/net namespace fields functions. by @kyonRay in #4337
  • <feat&fix>(codec,rpc): add base rlp codec, fix web3_sha3 bug. by @kyonRay in #4347
  • (rpc): impl web3 transaction encode and decode. by @kyonRay in #4350
  • (rpc): fix web3 transaction encode decode bug, add ut for eip2930, eip1559, eip4844. by @kyonRay in #4352
  • (rpc,txpool): impl sendRawTransaction interface. by @kyonRay in #4356
  • (rpc): impl eth_call eth_getTransactionReceipt, logs bloom calculate. by @kyonRay in #4365
  • <feat&fix>(rpc): add block response, fix metamask joint debug issues. by @kyonRay in #4370
  • (code): sync code from 3.8.0. by @kyonRay in #4381
  • (rpc,ledger): impl getStorageAt in rpc and ledger. by @kyonRay in #4380
  • <feat&fix>(rpc,precompiled,ledger): add web3_chain genesis config, add web3_chain_id system config, fix getStorageAt logic error. by @kyonRay in #4392
  • (rpc): add filter, log matcher and filter request. by @jdkuangxx in #4403
  • (rpc): implement ethereum filter related interfaces (newBlockFilter, newPendingTxFilter, newFilter, uninstallFilter, getFilterChanges, getFilterLogs, getLogs) by @jdkuangxx in #4412
  • (execute): bugfix_staticcall_noaddr_return & bugfix_support_transfer_receive_fallback by @JimmyShi22 in #4443
  • sync code from 3.8.0: bugfix_evm_exception_gas_used & bugfix_set_row_with_dirty_flag by @JimmyShi22 in #4445
  • (rpc): fix web3 rpc bug in integration testing with hardhat. by @kyonRay in #4444
  • (rpc): adapt Ethereum event related interfaces in jsonrpc and web3jsonrpc by @jdkuangxx in #4440
  • (code): sync code from 3.8.0. by @kyonRay in #4452
  • (code): sync code from 3.7.2 by @kyonRay in #4462
  • (rpc): remove the threadpool in FilterSystem by @jdkuangxx in #4451
  • (txpool): fix proposal nonce check failed when same transaction in txpool. by @kyonRay in #4448
  • (code): sync code from master. by @kyonRay in #4467
  • (code): sync code from 3.7.3 by @kyonRay in #4468
  • (feature,tools): fix feature 3.9.0 bugfix, update version to 3.9.0. by @kyonRay in #4472
  • (rpc): fix web3 rpc api bug, add supportConfig keys in groupInfo. by @kyonRay in #4474
  • (rpc,txpool): fix eth_chain, estimateGas, filter apis bug, fix txpool sync bug. by @kyonRay in #4479
  • (rpc): replace the type of filterId from uint64 to u256 by @jdkuangxx in #4482
  • sync code to fix ubuntu ci problem by @morebtcg in #4483
  • Fix bugfix_set_row_dirty_flag error by @morebtcg in #4487
  • (rpc): fix web3 rpc syncing response, transaction response. by @kyonRay in #4495
  • (rpc,hash): fix new transaction sync bug, fix EIP1559 signature bug. by @kyonRay in #4497
  • (executor,feature): add bugfix_eoa_match_failed to fix eoa code match logic error, memstore latest timestamp for call request. by @kyonRay in #4505
  • (filter): add null parameter validation for the newFilter interface by @jdkuangxx in #4502
  • (rpc): fix web3 transaction rpc response fields' bug. by @kyonRay in #4508
  • add log_level debug setup for build_chain.sh by @wenlinlee in #4511
  • (precompiled): fix web3_chain_id set config bug. by @kyonRay in #4513
  • Release v3.9.0 by @kyonRay in #4515

Full Changelog: v3.8.0...v3.9.0