Skip to content

Commit

Permalink
add document for max fisco-bcos
Browse files Browse the repository at this point in the history
  • Loading branch information
cyjseagull committed Jul 8, 2022
1 parent 6842f92 commit bc4c6bd
Show file tree
Hide file tree
Showing 9 changed files with 1,016 additions and 44 deletions.
2 changes: 1 addition & 1 deletion 3.x/zh_CN/docs/develop/committee_usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Processing IP:127.0.0.1 Total:4

### FISCO BCOS Pro版开启权限治理

FISCO BCOS Pro版的建链部署工具详情请参考:[搭建Pro版区块链网络](../tutorial/pro/installation.md)在这里以BcosProBuilder为例,开启权限治理设置。
FISCO BCOS Pro版的建链部署工具详情请参考:[搭建Pro版区块链网络](../tutorial/pro/installation.md)在这里以BcosBuilder为例,开启权限治理设置。

在开启Pro版区块链网络权限模式之前,请保证已经完成[部署Pro版本区块链节点](../tutorial/pro/installation.html#id4)之前的所有步骤。

Expand Down
2 changes: 1 addition & 1 deletion 3.x/zh_CN/docs/develop/console/console_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ wbc-liquid编译环境搭建请参考:[wbc-liquid的环境配置](https://liqu
前置条件:搭建FISCO BCOS区块链,请参考 `搭建第一个区块链网络 <../../quick_start/air_installation.html>`_
建链工具参考:
- `Air版本FISCO BCOS建链脚本build_chain <../../tutorial/air/build_chain.html>`_
- `Pro版本FISCO BCOS建链工具BcosProBuilder <../../tutorial/pro/pro_builder.html>`_
- `Pro版本FISCO BCOS建链工具BcosBuilder <../../tutorial/pro/pro_builder.html>`_
```

### 1. 获取控制台
Expand Down
2 changes: 1 addition & 1 deletion 3.x/zh_CN/docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业
|SPV|提供获取SPV证明的接口|
|跨链协议|基于[WeCross](https://github.com/WeBankBlockchain/WeCross)支持同构、异构跨链|
| <font color=Blue>**开发支持**</font> |
|开发建链工具|提供[Air版本区块链部署工具build_chain](./tutorial/air/build_chain.html)[Pro版本区块链部署工具BcosProBuilder](./tutorial/pro/pro_builder.html)|
|开发建链工具|提供[Air版本区块链部署工具build_chain](./tutorial/air/build_chain.html), [Pro版本区块链部署工具BcosBuilder/pro](./tutorial/pro/pro_builder.html)[Maxb版本部署工具BcosBuilder/max](./tutorial/max/max_builder.html)|
|合约部署与测试工具|交互式控制台 [基于Java SDK的控制台](./develop/console/index.html)|
|SDK语言|[Java](./develop/sdk/java_sdk/index.html)(待适配语言:go、nodejs、Rust、Python、iOS、Android)
|快速开发组件|提供[Spring-boot-starter](https://github.com/FISCO-BCOS/spring-boot-starter)|
Expand Down
25 changes: 25 additions & 0 deletions 3.x/zh_CN/docs/tutorial/max/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 多群组区块链(Pro版本)


标签:``Pro FISCO BCOS`` ``扩容`` ``配置`` ``部署工具``

------------

```eval_rst
.. important::
相关软件和环境版本说明!`请查看 <https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/compatibility.html>`_
```

```eval_rst
.. note::
Max版本FISCO BCOS旨在提供**海量存储服务、高性能可扩展的执行模块**、**高可用的故障恢复机制**。
Max版FISCO BCOS节点采用分布式存储TiKV,执行模块独立成服务,存储和执行均可横向扩展,且支持自动化主备恢复。
```

```eval_rst
.. toctree::
:maxdepth: 1
installation.md
max_builder.md
```
597 changes: 597 additions & 0 deletions 3.x/zh_CN/docs/tutorial/max/installation.md

Large diffs are not rendered by default.

343 changes: 343 additions & 0 deletions 3.x/zh_CN/docs/tutorial/max/max_builder.md

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions 3.x/zh_CN/docs/tutorial/pro/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ FISCO BCOS 3.0支持Pro版本微服务区块链架构,Pro版本FISCO BCOS包

```eval_rst
.. note::
- Pro版本FISCO BCOS使用 ``BcosBuilder`` 工具进行建链和扩容等相关操作,该工具的介绍请参考 `BcosBuilder <./pro_builder.html>`_
- Pro版本FISCO BCOS使用 ``BcosBuilder/pro`` 工具进行建链和扩容等相关操作,该工具的介绍请参考 `BcosBuilder <./pro_builder.html>`_
- FISCO BCOS 3.x基于tars进行微服务构建和管理,搭建Pro版本FISCO BCOS之前,需先安装tars服务,本章介绍了docker版本tars服务的搭建流程,若需要了解更多tars部署、构建相关的信息,请参考 `这里 <https://newdoc.tarsyun.com/#/markdown/TarsCloud/TarsDocs/installation/README.md>`_
- 本章基于Docker搭建tars服务,请确保拥有 ``root`` 权限
```
Expand Down Expand Up @@ -144,9 +144,9 @@ tars服务安装启动完成后,本机环境可通过http://127.0.0.1:3000/访

Pro版本FISCO BCOS包括RPC服务、Gateway服务以及区块链节点服务BcosNodeService。

- RPC服务负责接收客户端请求,并将请求转发到节点进行处理, RPC服务可横向扩展,一个RPC服务可接入多个区块链节点服务
- Gateway服务负责跨机构区块链节点之间的网络通信,Gateway服务横向可扩展,一个Gateway服务可接入多个区块链节点服务
- 区块链节点服务BcosNodeService提供区块链相关的服务,包括共识、执行、交易上链等,节点服务通过接入到RPC服务和Gateway服务获取网络通信功能。每一个BcosNodeService表示一个群组,可以部署多个BcosNodeService扩展多群组
- RPC服务:负责接收客户端请求,并将请求转发到节点进行处理, RPC服务可横向扩展,一个RPC服务可接入多个区块链节点服务
- Gateway服务:负责跨机构区块链节点之间的网络通信,Gateway服务横向可扩展,一个Gateway服务可接入多个区块链节点服务
- 区块链节点服务`BcosNodeService`:提供区块链相关的服务,包括共识、执行、交易上链等,节点服务通过接入到RPC服务和Gateway服务获取网络通信功能。

关于Pro版本FISCO BCOS的总体架构设计可参考[这里](../../design/architecture.md)

Expand Down Expand Up @@ -303,7 +303,7 @@ RPC服务部署完成后,需要再部署Gateway服务,用于建立机构之

```shell
# 进入操作目录
cd ~/fisco/BcosBuilder
cd ~/fisco/BcosBuilder/pro

# 部署并启动Gateway服务
python3 build_chain.py chain -o deploy -t gateway
Expand Down Expand Up @@ -531,7 +531,7 @@ cp -n console/conf/config-example.toml console/conf/config.toml

```shell
# 可通过命令 find . -name sdk找到所有SDK证书路径
cp -r BcosBuilder/generated/rpc/chain0/172.25.0.3/agencyBBcosRpcService/sdk/* console/conf
cp -r BcosBuilder/pro/generated/rpc/chain0/172.25.0.3/agencyBBcosRpcService/sdk/* console/conf
```

**步骤3:启动并使用控制台**
Expand Down Expand Up @@ -702,7 +702,7 @@ Event: {}
- 本步骤可选
```

FISCO BCOS提供了监控服务,在建链工具BcosBuilder目录下,执行如下命令,可部署并启动区块链节点监控服务。
FISCO BCOS提供了监控服务,在建链工具`BcosBuilder/pro`目录下,执行如下命令,可部署并启动区块链节点监控服务。

```shell
# 进入操作目录
Expand Down
74 changes: 40 additions & 34 deletions 3.x/zh_CN/docs/tutorial/pro/pro_builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ FISCO BCOS提供了`BcosBuilder`工具帮助用户快速部署、启停、更新

## 1. 配置介绍

`BcosBuilder``conf`目录下提供了一些配置模板,用于帮助用户快速完成Pro版本区块链的部署、扩容。本章从tars服务配置项、区块链部署配置项、区块链扩容配置项三个角度详细介绍`BcosBuilder`的配置项。
`BcosBuilder``pro/conf`目录下提供了一些配置模板,用于帮助用户快速完成Pro版本区块链的部署、扩容。本章从tars服务配置项、区块链部署配置项、区块链扩容配置项三个角度详细介绍`BcosBuilder`的配置项。

### 1.1 tars服务配置项

- `tars_url`: 访问tars网页控制台的url,默认为`http://127.0.0.1:3000`
- `tars_token`: 访问tars服务的token,可通过tars网页控制台的【admin】->【用户中心】->【token管理】进行token申请和查询。
- `tars_pkg_dir`: 放置Pro版本二进制包的路径,若配置了该配置项,默认会从指定的目录下获取FISCO BCOS Pro版本二进制进行服务部署、扩容等操作。
- `[tars].tars_url`: 访问tars网页控制台的url,默认为`http://127.0.0.1:3000`
- `[tars].tars_token`: 访问tars服务的token,可通过tars网页控制台的【admin】->【用户中心】->【token管理】进行token申请和查询。
- `[tars].tars_pkg_dir`: 放置Pro版本二进制包的路径,若配置了该配置项,默认会从指定的目录下获取FISCO BCOS Pro版本二进制进行服务部署、扩容等操作。

下面是tars服务配置项的示例:

Expand All @@ -32,23 +32,31 @@ tars_pkg_dir = ""

### 1.2 区块链服务部署配置

区块链服务部署相关的配置项主要包括链配置项、RPC/Gateway服务配置项以及区块链节点服务配置项,其配置模板位于`BcosBuilder``conf/config-deploy-example.toml`路径下。
区块链服务部署相关的配置项主要包括链配置项、RPC/Gateway服务配置项以及区块链节点服务配置项,其配置模板位于`BcosBuilder/pro``pconf/config-deploy-example.toml`路径下。

**链配置项**

链配置项位于配置`[chain]`中,主要包括:

- `chain_id`: 区块链服务所属的链的ID,默认为`chain0`**不能包括除字母和数字之外的所有特殊字符**
- `rpc_sm_ssl`: RPC服务与SDK客户端之间采用的SSL连接类型,若设置为`false`,表明采用RSA加密连接;若设置为`true`,表明采用国密SSL连接,默认为`false`
- `gateway_sm_ssl`: Gateway服务之间的SSL连接类型,设置为`false`表明采用RSA加密连接;设置为`true`表明采用国密SSL连接,默认为`false`
- `[chain].chain_id`: 区块链服务所属的链的ID,默认为`chain0`**不能包括除字母和数字之外的所有特殊字符**;
- `[chain].rpc_sm_ssl`: RPC服务与SDK客户端之间采用的SSL连接类型,若设置为`false`,表明采用RSA加密连接;若设置为`true`,表明采用国密SSL连接,默认为`false`;
- `[chain].gateway_sm_ssl`: Gateway服务之间的SSL连接类型,设置为`false`表明采用RSA加密连接;设置为`true`表明采用国密SSL连接,默认为`false`;
- `[chain].rpc_ca_cert_path`: RPC服务的CA证书路径,若该路径下有完整的CA证书、CA私钥,`BcosBuilder`部署工具基于该路径下的CA证书生成RPC服务SSL连接证书;否则`BcosBuilder`部署工具会生成CA证书,并基于生成的CA证书为RPC服务颁发SSL连接证书;
- `[chain].gateway_ca_cert_path`: Gateway服务的CA证书路径,若该路径下有完整的CA证书、CA私钥,`BcosBuilder`部署工具基于该路径下的CA证书生成Gateway服务SSL连接证书;否则`BcosBuilder`部署工具会生成CA证书,并基于生成的CA证书为Gateway服务颁发SSL连接证书;

链ID为`chain0`, RPC与SDK之间、Gateway服务之间均采用RSA加密连接的配置项如下:

```shell
[chain]
chain_id="chain0"
# the rpc-service enable sm-ssl or not, default disable sm-ssl
rpc_sm_ssl=false
# the gateway-service enable sm-ssl or not, default disable sm-ssm
gateway_sm_ssl=false
# the existed rpc service ca path, will generate new ca if not configurated
#rpc_ca_cert_path=""
# the existed gateway service ca path, will generate new ca if not configurated
#gateway_ca_cert_path=""
```

**RPC服务配置项**
Expand All @@ -58,13 +66,12 @@ gateway_sm_ssl=false
- 当部署一个RPC服务到多台机器时,请确保这些机器都安装了tarsnode服务,tarsnode部署请参考 `这里 <https://newdoc.tarsyun.com/#/markdown/TarsCloud/TarsDocs/installation/node.md>`_
```

RPC服务的配置项位于` [[agency]].[agency.rpc]`中,一个机构可部署一个RPC服务,一条链可包含多个机构,主要配置项包括:
RPC服务的配置项位于`[[agency]].[agency.rpc]`中,一个机构可部署一个RPC服务,一条链可包含多个机构,主要配置项包括:

- `deploy_ip`: RPC服务的部署IP,若配置多个,则会在多台机器上部署RPC服务,达到平行扩展的目标。
- `listen_ip`: RPC服务的监听IP,默认为`0.0.0.0`
- `listen_port`: RPC服务的监听端口,默认为`20200`
- `thread_count`: RPC服务进程内的工作线程数目,默认为`4`
- `gateway_service_name`: RPC服务所连接的Gateway服务名称,一般一个机构内会部署1个RPC服务、1个Gateway和多个区块链节点服务
- `[[agency]].[agency.rpc].deploy_ip`: RPC服务的部署IP,若配置多个,则会在多台机器上部署RPC服务,达到平行扩展的目标。
- `[[agency]].[agency.rpc].listen_ip`: RPC服务的监听IP,默认为`0.0.0.0`
- `[[agency]].[agency.rpc].listen_port`: RPC服务的监听端口,默认为`20200`
- `[[agency]].[agency.rpc].thread_count`: RPC服务进程内的工作线程数目,默认为`4`


为机构`agencyA`部署RPC服务的配置如下:
Expand All @@ -87,18 +94,16 @@ enable_storage_security = false
listen_port=20200
# 工作线程数目
thread_count=4


```

**Gateway服务配置项**

RPC服务的配置项位于`[[agency]].[agency.gateway]`中,一个机构可部署一个Gateway服务,一条链可部署多个Gateway服务,主要配置项包括:

- `deploy_ip`: Gateway服务的部署IP,若配置多个,则会在多台机器上部署Gateway服务,达到平行扩展的目标。
- `listen_ip`: Gateway服务的监听IP,默认为`0.0.0.0`
- `listen_port`: Gateway服务的监听端口,默认为`30300`
- `peers`: 所有Gateway服务的连接信息。
- `[[agency]].[agency.gateway].deploy_ip`: Gateway服务的部署IP,若配置多个,则会在多台机器上部署Gateway服务,达到平行扩展的目标。
- `[[agency]].[agency.gateway].listen_ip`: Gateway服务的监听IP,默认为`0.0.0.0`
- `[[agency]].[agency.gateway].listen_port`: Gateway服务的监听端口,默认为`30300`
- `[[agency]].[agency.gateway].peers`: 所有Gateway服务的连接信息。

为机构`agencyA`部署Gateway服务的配置示例如下:

Expand Down Expand Up @@ -127,19 +132,19 @@ enable_storage_security = false

FISCO BCOS Pro版本区块链中每个区块链节点服务均属于一个群组,因此部署区块链节点前,首先需配置群组信息,群组配置项位于`[[group]]`中,具体如下:

- `group_id`: 区块链节点所属的群组ID,默认为`group`
- `sm_crypto`: 节点账本是否采用国密类型签名、验签、哈希、加密算法,默认为`false`
- `[[group]].group_id`: 区块链节点所属的群组ID,默认为`group`
- `[[group]].sm_crypto`: 节点账本是否采用国密类型签名、验签、哈希、加密算法,默认为`false`


群组配置中还包括了创世块相关的配置:
- `leader_period`: 每个leader可以连续打包的区块数目,默认为5。
- `block_tx_count_limit`: 每个区块中可包含的最大交易数目,默认为1000。
- `consensus_type`: 共识算法类型,目前仅支持`pbft`共识算法。
- `gas_limit`: 每笔交易运行时消耗的gas上限,默认为300000000。
- `vm_type`: 区块链节点运行的虚拟机类型,目前支持`evm``wasm`两种类型,且一个群组仅可运行一种类型的虚拟机,不可以部分节点运行EVM虚拟机、部分节点运行WASM虚拟机。
- `auth_check`: 是否开启权限治理模式,权限使用文档请参考链接:[权限治理使用指南](../../develop/committee_usage.md)
- `init_auth_address`: 开启权限治理时,指定的初始化治理委员账号地址,权限使用文档请参考链接:[权限治理使用指南](../../develop/committee_usage.md)
- `compatibility_version`: 数据兼容版本号,默认为`3.0.0-rc4`,可通过控制台`setSystemConfigByKey`命令运行时升级数据兼容版本。
- `[[group]].leader_period`: 每个leader可以连续打包的区块数目,默认为5。
- `[[group]].block_tx_count_limit`: 每个区块中可包含的最大交易数目,默认为1000。
- `[[group]].consensus_type`: 共识算法类型,目前仅支持`pbft`共识算法。
- `[[group]].gas_limit`: 每笔交易运行时消耗的gas上限,默认为300000000。
- `[[group]].vm_type`: 区块链节点运行的虚拟机类型,目前支持`evm``wasm`两种类型,且一个群组仅可运行一种类型的虚拟机,不可以部分节点运行EVM虚拟机、部分节点运行WASM虚拟机。
- `[[group]].auth_check`: 是否开启权限治理模式,权限使用文档请参考链接:[权限治理使用指南](../../develop/committee_usage.md)
- `[[group]].init_auth_address`: 开启权限治理时,指定的初始化治理委员账号地址,权限使用文档请参考链接:[权限治理使用指南](../../develop/committee_usage.md)
- `[[group]].compatibility_version`: 数据兼容版本号,默认为`3.0.0-rc4`,可通过控制台`setSystemConfigByKey`命令运行时升级数据兼容版本。

```ini
[[group]]
Expand Down Expand Up @@ -173,14 +178,15 @@ compatibility_version="3.0.0-rc4"
区块链节点服务部署配置项位于`[[agency]].[[agency.group]].[[agency.group.node]]`中,具体如下:
- `node_name`: 节点服务名,在服务部署的场景下可不配置,**若配置了该选项,须确保不同节点服务的服务名不重复**
- `deploy_ip`: 节点服务部署ip
- `key_page_size`: KeyPage的粒度,默认10KB;
- `enable_storage_security`: 是否开启落盘加密,默认为`false`
- `key_center_url`: 若开启了落盘加密,这里可配置key-manager的url
- `cipher_data_key`: 若开启了落盘加密,这里配置数据加密密钥
- `monitor_listen_port`: 监控服务的监听端口,默认为`3902`
- `monitor_log_path`: 需要监控的区块链节点日志所在路径

区块链节点服务配置示例如下:
```toml
```ini
[[agency]]
name = "agencyA"
[[agency.group]]
Expand Down Expand Up @@ -257,7 +263,7 @@ enable_storage_security = false

扩容Gateway服务`agencyABcosGatewayService``172.25.0.5`的配置示例如下:

```toml
```ini
[chain]
chain_id="chain0"
rpc_sm_ssl=false
Expand Down Expand Up @@ -286,7 +292,7 @@ enable_storage_security = false

**区块链节点扩容配置**

`BcosBuilder`提供了区块链节点扩容功能,可为指定群组扩容新的区块链节点服务,区块链节点扩容配置模板位于`conf/config-node-expand-example.toml`路径下,主要包括**链配置****扩容部署配置**,具体如下:
`BcosBuilder/pro`提供了区块链节点扩容功能,可为指定群组扩容新的区块链节点服务,区块链节点扩容配置模板位于`conf/config-node-expand-example.toml`路径下,主要包括**链配置****扩容部署配置**,具体如下:

- `[chain].chain_id`: 扩容的区块链节点所属的链ID。
- `[[group]].group_id`: 扩容节点所属群组ID。
Expand Down Expand Up @@ -332,7 +338,7 @@ name = "agencyA"

## 2. 使用介绍

可使用`python3 build_chain.py -h`查看`BcosBuilder`的使用方法:
可使用`python3 build_chain.py -h`查看`BcosBuilder/pro`的使用方法:

```shell
----------- help for subcommand 'download_binary' -----------
Expand Down
1 change: 1 addition & 0 deletions 3.x/zh_CN/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ FISCO BCOS 是一个稳定、高效、安全的区块链底层平台,经过多
docs/tutorial/compile_binary.md
docs/tutorial/air/index.md
docs/tutorial/pro/index.md
docs/tutorial/max/index.md


.. toctree::
Expand Down

0 comments on commit bc4c6bd

Please sign in to comment.