Skip to content

Commit

Permalink
update build_chain
Browse files Browse the repository at this point in the history
  • Loading branch information
bxq2011hust committed Dec 23, 2020
1 parent 4e41db0 commit 27ea5e1
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 32 deletions.
2 changes: 1 addition & 1 deletion docs/blockchain_dev/get_executable.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ FSICO-BCOS使用通用[CMake](https://cmake.org)构建系统生成特定平台

- Ubuntu

推荐Ubuntu 16.04以上版本,16.04以下的版本没有经过测试,源码编译时依赖于编译工具和`libssl`
推荐Ubuntu 18.04以上版本,16.04以下的版本没有经过测试,源码编译时依赖于编译工具和`libssl`

```bash
sudo apt install -y g++ libssl-dev openssl cmake git build-essential autoconf texinfo flex patch bison libgmp-dev zlib1g-dev
Expand Down
2 changes: 1 addition & 1 deletion docs/blockchain_dev/hardware_requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@
## 操作系统

- CentOS 7.2+
- Ubuntu 16.04
- Ubuntu 16.04+
- macOS 10.14+
47 changes: 23 additions & 24 deletions docs/tools/build_chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,15 @@ Usage:
e.g
./build_chain.sh -l 127.0.0.1:4
```
比如:使用build_chain.sh部署4个本地节点。
![](../../images/installation/build_chain.png)
**`l`选项:**
### **`l`选项:**
用于指定要生成的链的IP列表以及每个IP下的节点数,以逗号分隔。脚本根据输入的参数生成对应的节点配置文件,其中每个节点的端口号默认从30300开始递增,所有节点属于同一个机构和群组。
**`f`选项**
### **`f`选项**
+ 用于根据配置文件生成节点,相比于`l`选项支持更多的定制。
+ 按行分割,每一行表示一个服务器,格式为`IP:NUM AgencyName GroupList`,每行内的项使用空格分割,**不可有空行**
Expand All @@ -87,7 +86,7 @@ e.g
bash build_chain.sh -f ipconf -T
```
**`e`选项[**Optional**]**
### **`e`选项[**Optional**]**
用于指定`fisco-bcos`二进制所在的**完整路径**,脚本会将`fisco-bcos`拷贝以IP为名的目录下。不指定时,默认从GitHub下载最新的二进制程序。
Expand All @@ -98,11 +97,11 @@ $ bash build_chain.sh -l 127.0.0.1:4
$ bash build_chain.sh -l 127.0.0.1:4 -e bin/fisco-bcos
```
**`o`选项[**Optional**]**
### **`o`选项[**Optional**]**
指定生成的配置所在的目录。
**`p`选项[**Optional**]**
### **`p`选项[**Optional**]**
指定节点的起始端口,每个节点占用三个端口,分别是p2p,channel,jsonrpc使用`,`分割端口,必须指定三个端口。同一个IP下的不同节点所使用端口从起始端口递增。
Expand All @@ -111,15 +110,15 @@ $ bash build_chain.sh -l 127.0.0.1:4 -e bin/fisco-bcos
$ bash build_chain.sh -l 127.0.0.1:2 -p 30300,20200,8545
```
**`q`选项[**Optional**]**
### **`q`选项[**Optional**]**
列出FISCO BCOS已经发布的所有版本号。
**`v`选项[**Optional**]**
### **`v`选项[**Optional**]**
用于指定搭建FISCO BCOS时使用的二进制版本。build_chain默认下载[Release页面](https://github.com/FISCO-BCOS/FISCO-BCOS/releases)最新版本,设置该选项时下载参数指定`version`版本并设置`config.ini`配置文件中的`[compatibility].supported_version=${version}`。如果同时使用`-e`选项,则配置`[compatibility].supported_version=${version}`为[Release页面](https://github.com/FISCO-BCOS/FISCO-BCOS/releases)最新版本号。
**`d`选项[**Optional**]**
### **`d`选项[**Optional**]**
使用docker模式搭建FISCO BCOS,使用该选项时不再拉取二进制,但要求用户启动节点机器安装docker且账户有docker权限,即用户加入docker群组。
在节点目录下执行如下命令启动节点
Expand All @@ -134,73 +133,73 @@ $ bash build_chain.sh -l 127.0.0.1:2 -p 30300,20200,8545
docker run -d --rm --name ${nodePath} -v ${nodePath}:/data --network=host -w=/data fiscoorg/fiscobcos:latest -c config.ini
```
**`s`选项[**Optional**]**
### **`s`选项[**Optional**]**
有参数选项,参数为db名,目前支持RocksDB、mysql、Scalable。默认使用rocks。
- RocksDB模式,使用RocksDB作为后端数据库。
- MySQL模式,使用MySQL作为后端数据库,节点直连MySQL,需要在群组ini文件中配置数据库相关信息。
- Scalable模式,区块数据和状态数据存储在不同的数据库中,区块数据根据配置存储在以块高命名的RocksDB实例中。如需使用裁剪数据的功能,必须使用Scalable模式。
**`c`选项[**Optional**]**
### **`c`选项[**Optional**]**
有参数选项,参数为共识算法类型,目前支持PBFT、Raft、rPBFT。默认共识算法是PBFT。
- `PBFT`:设置节点共识算法为[PBFT](../design/consensus/pbft.md)。
- `Raft`:设置节点共识算法为[Raft](../design/consensus/raft.md)。
- `rPBFT`:设置节点共识算法为[rPBFT](../design/consensus/rpbft.md)。
**`C`选项[**Optional**]**
### **`C`选项[**Optional**]**
用于指定搭建FISCO BCOS时的链标识。设置该选项时将使用参数设置`config.ini`配置文件中的`[chain].id`,参数范围为正整数,默认设置为1。
```bash
# 该链标识为2。
bash build_chain.sh -l 127.0.0.1:2 -C 2
```
**`g`选项[**Optional**]**
### **`g`选项[**Optional**]**
无参数选项,设置该选项时,搭建国密版本的FISCO BCOS。**确认sdk支持的情况下(web3sdk v2.5.0+),可以指定-g -G参数,连接也使用国密SSL**`-G`设置`chain.sm_crypto_channel=true`
```bash
bash build_chain.sh -l 127.0.0.1:2 -g -G
```
**`z`选项[**Optional**]**
### **`z`选项[**Optional**]**
无参数选项,设置该选项时,生成节点的tar包。
**`t`选项[**Optional**]**
### **`t`选项[**Optional**]**
该选项用于指定生成证书时的证书配置文件。
**`6`选项[**Optional**]**
### **`6`选项[**Optional**]**
该选项表示使用IPv6模式,监听`::`
**`T`选项[**Optional**]**
### **`T`选项[**Optional**]**
无参数选项,设置该选项时,设置节点的log级别为DEBUG。log相关配置[参考这里](../blockchain_dev/configuration.html#id6)。
无参数选项,设置该选项时,设置节点的log级别为DEBUG。log相关配置[参考这里](./configuration.html#id6)。
**`k`选项[**Optional**]**
### **`k`选项[**Optional**]**
使用用户指定的链证书和私钥签发机构和节点的证书,参数指定路径,路径下必须包括ca.crt/ca.key,如果所指定的私钥和证书是中间ca,那么此文件夹下还需要包括root.crt,用于存放上级证书链。
**`K`选项[**Optional**]**
### **`K`选项[**Optional**]**
国密模式使用用户指定的链证书和私钥签发机构和节点的证书,参数指定路径,路径下必须包括gmca.crt/gmca.key,如果所指定的私钥和证书是中间ca,那么此文件夹下还需要包括gmroot.crt,用于存放上级证书链。
**`G`选项[**Optional**]**
### **`G`选项[**Optional**]**
从2.5.0开始,国密模式下,用户可以配置节点与SDK连接是否使用国密SSL,设置此选项则`chain.sm_crypto_channel=true`。默认节点与SDK的channel连接使用secp256k1的证书。**确认sdk支持的情况下(web3sdk v2.5.0+),可以指定-g -G参数,连接也使用国密SSL**
**`D`选项[**Optional**]**
### **`D`选项[**Optional**]**
无参数选项,设置该选项时,生成节点的目录名为IP_P2P端口,默认为节点从0开始的编号。
**`E`选项[**Optional**]**
### **`E`选项[**Optional**]**
无参数选项,设置该选项时,启用[Free Storage](../design/virtual_machine/gas.html#evm-gas) Gas模式,默认关闭`Free Storage` Gas模式
无参数选项,设置该选项时,启用[Free Storage Gas](design/virtual_machine/gas.html#evm-gas)模式,默认关闭`Free Storage` Gas模式
## 节点文件组织结构
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/add_new_node.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 扩容一个新节点

标签:``节点管理`` ``退出群组`` ``游离节点`` ``观察者节点`` ``共识节点``
标签:``节点管理`` ``扩容群组`` ``游离节点`` ``新增节点`` ``共识节点``

----

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/cdn.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 国内镜像和CDN加速

标签:``CDN加速`` ``国内镜像`` ``访问GitHub慢``
标签:``CDN加速`` ``国内镜像`` ``gitee镜像`` ``访问GitHub慢``

----
本节为访问GitHub较慢的用户提供国内镜像下载地址,以及CDN加速访问介绍。
Expand Down
52 changes: 48 additions & 4 deletions docs/tutorial/compile.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# FISCO BCOS 源码编译

标签:``依赖下载`` ``macOS`` ``ARM``

----

```eval_rst
.. note::
Expand Down Expand Up @@ -48,15 +52,40 @@ brew install openssl git flex patch bison gmp

编译完成后二进制文件位于`FISCO-BCOS/build/bin/fisco-bcos`

- Ubuntu

推荐使用Ubuntu 18.04以上版本。

```bash
cd FISCO-BCOS
mkdir -p build && cd build
# source /opt/rh/devtoolset-7/enable # CentOS请执行此命令,其他系统不需要
# CentOS请使用cmake3
cmake ..
# 高性能机器可添加-j4使用4核加速编译
# macOS 编译出现 "ld: warning: direct access" 提示时,可以忽略
make
make -j2
```

- CentOS

推荐使用CentOS7以上版本。

```bash
cd FISCO-BCOS
mkdir -p build && cd build
source /opt/rh/devtoolset-7/enable # CentOS请执行此命令,其他系统不需要
cmake3 ..
# 高性能机器可添加-j4使用4核加速编译
make -j2
```

- macOS

推荐xcode11以上版本。

```bash
cd FISCO-BCOS
mkdir -p build && cd build
cmake ..
make -j2
```

```eval_rst
Expand All @@ -83,3 +112,18 @@ sudo apt install -y doxygen graphviz
cmake ..
make doc
```

## 5. ARM平台

FISCO BCOS支持在ARM平台上运行,在基于ARM的平台上编译时,需要打开`ARCH_NATIVE`编译选项。编译指令如下:

```bash
cmake -DARCH_NATIVE=on ..
make
```

出于指令集和兼容性的考虑,FISCO BCOS发布时不提供ARM平台上预编译的二进制程序,用户如果需要在ARM平台上运行需要在对应机器源码编译,然后使用[build_chain的-e](../build_chain.html#e-optional)选项搭建联盟链网络。例如

```bash
bash build_chain.sh -l 127.0.0.1:4 -e bin/fisco-bcos
```

0 comments on commit 27ea5e1

Please sign in to comment.