Skip to content

Commit

Permalink
add v2.5.0 release note (#865)
Browse files Browse the repository at this point in the history
  • Loading branch information
bxq2011hust committed Jun 19, 2020
1 parent efd78f4 commit 61e0294
Show file tree
Hide file tree
Showing 19 changed files with 181 additions and 32 deletions.
4 changes: 2 additions & 2 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ def _patched_fetch_urls(lfs_url, oid_list):
# built documents.
#
# The short X.Y version.
version = '2.4'
version = '2.5'
# The full version, including alpha/beta/rc tags.
release = 'v2.4.0'
release = 'v2.5.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
67 changes: 67 additions & 0 deletions docs/change_log/2_5_0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# [v2.5.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.5.0)

```eval_rst
.. admonition:: v2.4.x升级到v2.5.0
- **兼容升级** :直接替换v2.4.x节点的二进制为 `v2.5.0二进制 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/fisco-bcos.tar.gz>`_ ,升级后的版本修复v2.4.x中的bug,并进一步优化了性能。
- **全面升级** :参考 `安装 <../installation.html>`_ 搭建新链,重新向新节点提交所有历史交易,升级后节点包含v2.5.0所有新特性
- `v2.5.0 Release Note <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.5.0>`_
```

## 变更描述

**新增**

- 新增预编译合约,地址0x5,实现模指数运算
- 新增预编译合约,地址0x6,实现椭圆曲线alt_bn128的加法
- 新增预编译合约,地址0x7,实现椭圆曲线alt_bn128的乘法
- 新增预编译合约,地址0x8,实现椭圆曲线配对操作用于zkSNARK验证
- 新增预编译合约,地址0x9,实现blake2哈希函数
- [新增流控功能,实现可配置节点出带宽、最大QPS](../design/flow_control.md)
- [新增ChainGovernance预编译合约,地址0x1008,实现基于角色的权限管理](../design/security_control/ChainGovernance.md)
- [新增SDK连接节点支持国密SSL,可配置是否启用](../manual/configuration.html#id10)
- [新增账号管理可冻结解冻私钥对应的账号](../design/features/account_management.md)

**更改**

- MySQL存储模式下,合约表的字段类型修改为mediumblob
- [国密模式由编译选项修改为配置项](../manual/configuration.html#id10)
- [更改节点只接受同一机构的SDK连接,可配置是否启用](../manual/configuration.html#p2p)
- 默认开启Paillier同态加密和群签名功能
- build_chain脚本使用私钥为secp256k1的根证书和机构证书
- PBFTBackup的存储由LevelDB修改为RocksDB
- 重构libdevcrypto模块,优化代码结构,使用TASSL实现国密和非国密TLS连接
- 优化存储模块openTable的锁实现
- 优化区块数据编码为并行
- 优化大对象析构耗时为异步
- 优化日志输出机制,降低日志输出对性能的影响
- 优化MHD和交易池模块的线程数,减少内存占用
- 优化MySQL存储适配器实现,优化ZdbStorage的代码实现

**修复**

- 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题
- 修复raft共识下,非leader节点交易池中的交易不能被打包的问题
- 修复CachedStorage的一个死锁问题
- 修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题
- 修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题

**兼容性**

**向前兼容**,旧版本可以直接替换程序升级

| | 推荐版本 | 最低版本 | 说明 |
| ---------- | ----------------------- | --------- | ---------------------- |
| 控制台 | 1.0.10 | 1.0.4 | |
| SDK | 2.5.0 | 2.0.4 | |
| generator | 1.5.0 | 1.1.0 | 搭建新链需要使用该版本 |
| 浏览器 | 2.0.2 | 2.0.0-rc2 | |
| Solidity | 最高支持 solidity 0.5.2 | 0.4.11 | |
| amdb-proxy | 2.3.0 | 2.0.2 | |

**兼容模式回滚至v2.4.x方法**

当节点采用兼容模式从v2.4.x升级至v2.5.0后,可直接通过将节点二进制替换回v2.4.x完成回滚。

14 changes: 10 additions & 4 deletions docs/change_log/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
版本及兼容
##############################################################

.. admonition:: `FISCO BCOS 2.5.0 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.5.0>`_

**变更描述、兼容及升级说明**
- `FISCO BCOS v2.5.0 <./2_5_0.html>`_

.. admonition:: `FISCO BCOS 2.4.0 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.4.0>`_

**变更描述、兼容及升级说明**
Expand Down Expand Up @@ -52,7 +57,7 @@
**新增特性**
- `群组架构 <../what_is_new.html#id2>`_ (`操作教程 <../manual/group_use_cases.html>`_) (`设计文档 <../design/architecture/group.html>`_)
- `控制台 <../what_is_new.html#id6>`_ (`安装 <../installation.html#id7>`_) (`操作手册 <../manual/console.html>`_)
- `虚拟机 <../what_is_new.html#id7>`_
- `虚拟机 <../what_is_new.html#id7>`_
- `编译合约 <../what_is_new.html#id5>`_ (`合约开发 <../manual/smart_contract.html>`_)
- `实现CRUD操作的合约 <../what_is_new.html#crud>`_ (`操作教程 <../tutorial/sdk_application.html>`_)
- `密钥管理服务 <../what_is_new.html#id8>`_ (`使用手册 <../manual/storage_security.html>`_)
Expand All @@ -61,9 +66,9 @@
**变更描述、兼容及升级说明**
- `FISCO BCOS v2.0.0-rc1 <./2_0_0_rc1.html>`_


.. admonition:: FISCO BCOS 1.x Releases

**FISCO BCOS 1.3 正式版:**
- `FISCO BCOS 1.3.8 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.3.8>`_
- `FISCO BCOS 1.3.7 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.3.7>`_
Expand All @@ -77,7 +82,7 @@

**FISCO BCOS 1.2 正式版:**
- `FISCO BCOS 1.2.0 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.2.0>`_

**FISCO BCOS 1.1 正式版:**
- `FISCO BCOS 1.1.0 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.1.0>`_

Expand All @@ -97,6 +102,7 @@
.. toctree::
:hidden:

2_5_0.md
2_4_0.md
2_3_0.md
2_2_0.md
Expand Down
3 changes: 2 additions & 1 deletion docs/design/security_control/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

.. toctree::
:maxdepth: 1

node_management.md
certificate_list.md
chain_governance.md
permission_control.md
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ cd ~ && mkdir -p fisco && cd fisco
- 下载`build_chain.sh`脚本

```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```

```eval_rst
Expand Down
4 changes: 2 additions & 2 deletions docs/manual/distributed_storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ FISCO BCOS在2.0.0-rc3之后,支持节点通过连接池直连MySQL,相对
```bash
mkdir -p ~/fisco && cd ~/fisco
# 获取build_chain.sh脚本
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```
#### 生成配置文件
```bash
Expand Down Expand Up @@ -369,7 +369,7 @@ mkdir -p ~/fisco && cd ~/fisco
- 获取`build_chain`脚本
```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```
#### 生成配置文件
Expand Down
4 changes: 2 additions & 2 deletions docs/manual/group_use_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ mkdir -p ~/fisco && cd ~/fisco

- 获取build_chain.sh脚本
```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```

**生成星形区块链系统配置文件**
Expand Down Expand Up @@ -555,7 +555,7 @@ $ cd ~/fisco/nodes/127.0.0.1 && bash stop_all.sh
```bash
$ mkdir -p ~/fisco && cd ~/fisco
# 获取build_chain.sh脚本
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
# 构建本机单群组四节点区块链(生产环境中,建议每个节点部署在不同物理机上)
$ bash build_chain.sh -l "127.0.0.1:4" -o multi_nodes -p 20000,20100,7545
Generating CA key...
Expand Down
6 changes: 3 additions & 3 deletions docs/manual/guomi_crypto.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ $ sudo apt install -y openssl curl
# 准备环境
$ cd ~ && mkdir -p fisco && cd fisco
# 下载build_chain.sh脚本
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```

- 搭建4节点FISCO BCOS链
Expand Down Expand Up @@ -110,7 +110,7 @@ FISCO BCOS国密版采用双证书模式,因此落盘加密需要加密的两
``` shell
cd key-manager/scripts
#加密 conf/gmnode.key 参数:ip port 节点私钥文件 cipherDataKey
bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/gmnode.key ed157f4588b86d61a2e1745efe71e6ea
bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/gmnode.key ed157f4588b86d61a2e1745efe71e6ea
#加密 conf/origin_cert/node.key 参数:ip port 节点私钥文件 cipherDataKey
bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/origin_cert/node.key ed157f4588b86d61a2e1745efe71e6ea
bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/origin_cert/node.key ed157f4588b86d61a2e1745efe71e6ea
```
4 changes: 2 additions & 2 deletions en/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ def _patched_fetch_urls(lfs_url, oid_list):
# built documents.
#
# The short X.Y version.
version = '2.4'
version = '2.5'
# The full version, including alpha/beta/rc tags.
release = 'v2.4.0'
release = 'v2.5.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
68 changes: 68 additions & 0 deletions en/docs/change_log/2_5_0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# [v2.5.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.5.0)

```eval_rst
.. admonition:: 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 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/fisco-bcos.tar.gz>`_ , the upgraded version fixes bugs in v2.4.x.
- **Full upgrade** :Refer to `Installation <../ installation.html>`_ to build a new chain and resubmit all historical transactions to the new node. The upgraded node includes new features in v2.5.0
- `v2.4.0 Release Note <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/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](../design/flow_control.md)
- [Add ChainGovernance precompiled contract, address 0x1008, to implement role-based authority management](../design/security_control/ChainGovernance.md)
- [Add SDK connection node supports OSCCA-approved SSL, can be configured whether to enable](../manual/configuration.html#id10)
- [Add account management to freeze and unfreeze accounts](../design/features/account_management.md)

**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.](../manual/configuration.html#id10)
- [Change the node to only accept the SDK connection of the same institution, can be configured whether to enable](../manual/configuration.html#p2p)
- 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 | |
| amdb-proxy | 2.3.0 | 2.0.2 | |

**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.

18 changes: 12 additions & 6 deletions en/docs/change_log/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@
Compatibility
##############################################################

.. admonition:: `FISCO BCOS 2.5.0 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.5.0>`_

**Change description, compatibility and upgrade instructions**
- `FISCO BCOS v2.5.0 <./2_5_0.html>`_

.. admonition:: `FISCO BCOS 2.4.0 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.4.0>`_

**Change description, compatibility and upgrade instructions**
- `FISCO BCOS v2.3.0 <./2_4_0.html>`_
- `FISCO BCOS v2.4.0 <./2_4_0.html>`_

.. admonition:: `FISCO BCOS 2.3.0 <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.3.0>`_

Expand Down Expand Up @@ -51,7 +56,7 @@ Compatibility
**New features**
- `Group architecture <../what_is_new.html#id2>`_ (`Operation Tutorial <../manual/group_use_cases.html>`_) (`Design Document <../design/architecture/group.html>`_)
- `Console <../what_is_new.html#id6>`_ (`Installation <../installation.html#id7>`_) (`Operation Manual <../manual/console.html>`_)
- `Virtual machine <../what_is_new.html#id7>`_
- `Virtual machine <../what_is_new.html#id7>`_
- `Compile contract <../what_is_new.html#id5>`_ (`Operation Manual <../manual/smart_contract.html>`_)
- `CRUD interface contract <../what_is_new.html#crud>`_ (`Operation Tutorial <../tutorial/sdk_application.html>`_)
- `Key management service <../what_is_new.html#id8>`_ (`Operation Manual <../manual/storage_security.html>`_)
Expand All @@ -60,9 +65,9 @@ Compatibility
**Change description, compatibility and upgrade instructions**
- `FISCO BCOS v2.0.0-rc1 <./2_0_0_rc1.html>`_


.. admonition:: FISCO BCOS 1.x Releases

**FISCO BCOS 1.3 version:**
- `FISCO BCOS 1.3.8 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.3.8>`_
- `FISCO BCOS 1.3.7 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.3.7>`_
Expand All @@ -76,7 +81,7 @@ Compatibility

**FISCO BCOS 1.2 version:**
- `FISCO BCOS 1.2.0 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.2.0>`_

**FISCO BCOS 1.1 version:**
- `FISCO BCOS 1.1.0 Release <https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v1.1.0>`_

Expand All @@ -95,7 +100,8 @@ Compatibility

.. toctree::
:hidden:


2_5_0.md
2_4_0.md
2_3_0.md
2_2_0.md
Expand Down
1 change: 1 addition & 0 deletions en/docs/design/security_control/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ The permission control mechanism based on distributed storage controls access in

node_management.md
certificate_list.md
chain_governance.md
permission_control.md
2 changes: 1 addition & 1 deletion en/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ cd ~ && mkdir -p fisco && cd fisco
- Download `build_chain.sh` script

```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```

```eval_rst
Expand Down
4 changes: 2 additions & 2 deletions en/docs/manual/distributed_storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Before using distributed storage, you need to complete the establishment of the
```bash
mkdir -p ~/fisco && cd ~/fisco
# Download build_chain.sh script
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```
#### Generate configuration file
```bash
Expand Down Expand Up @@ -339,7 +339,7 @@ mkdir -p ~/fisco && cd ~/fisco
- get `build_chain` script
```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```
#### Generate configuration file
Expand Down
4 changes: 2 additions & 2 deletions en/docs/manual/group_use_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ mkdir -p ~/fisco && cd ~/fisco

- Download the build_chain.sh script
```bash
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
```

**Generate configuration for star networking blockchain system**
Expand Down Expand Up @@ -565,7 +565,7 @@ In a parallel multi-group scenario, node join and exit group operations are simi
```bash
$ mkdir -p ~/fisco && cd ~/fisco
# Download build_chain.sh script
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.4.1/build_chain.sh && chmod u+x build_chain.sh
$ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.5.0/build_chain.sh && chmod u+x build_chain.sh
#Build a local single-group four-node blockchain (in a production environment, it is recommended that each node be deployed on a different physical machine)
$ bash build_chain.sh -l "127.0.0.1:4" -o multi_nodes -p 20000,20100,7545
Generating CA key...
Expand Down

0 comments on commit 61e0294

Please sign in to comment.