FISCO BCOS Max搭建
# FISCO BCOS Max版本
# 版本说明
为了能够支撑海量交易上链场景,v3.0.0推出了Max版本FISCO BCOS,Max版本FISCO BCOS旨在提供海量存储服务、高性能可扩展的执行模块、高可用的故障恢复机制
。 Max版FISCO BCOS节点采用分布式存储TiKV,执行模块独立成服务,存储和执行均可横向扩展,且支持自动化主备恢复。
- Max版本FISCO BCOS使用
BcosBuilder/max
工具进行建链和扩容等相关操作,该工具的介绍请参考 BcosBuilder (opens new window) - FISCO BCOS 3.x基于tars进行微服务构建和管理,搭建Max版本FISCO BCOS之前,需先安装tars服务,本章介绍了docker版本tars服务的搭建流程,若需要了解更多tars部署、构建相关的信息,请参考 这里 (opens new window)
- 本章基于Docker搭建tars服务,请确保拥有
root
权限 - 搭建Max版本FISCO BCOS需先部署TiKV集群,TiKV集群的部署请参考 这里 (opens new window)
# 1.Ubuntu20.04环境搭建
注意:
按照 FISCO BCOS Pro版本
搭建的环境,安装基础的依赖包和BcosBuilder
工具,搭建完Tars
服务即可。
# 1.1 搭建Tars服务
略过
# 1.2 搭建TiUP单机
1.通过执行以下命令安装 TiUP
$ curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
# 1.设置 TiUP 环境变量、重新声明全局环境变量:
$ source .bashrc
# 2.确认是否安装了 TiUP:
$ tiup
# 3.将 TiUP 游乐场组件更新到最新版本:
$ tiup update --self && tiup update playground
# 4.显示 TiUP 版本:
$ tiup -v
# 5.版本 >= 1.5.2:
$ tiup playground --mode tikv-slim
# 6.版本 < 1.5.2:
$ tiup playground
# 7.host是本机的ip地址
$ nohup tiup playground v5.4.0 --mode tikv-slim --host=192.168.0.138 -T tikv_demo --without-monitor > ~/tikv.log 2>&1 &
# 8.获取tikv监听端口(tikv的默认监听端口是2379)
$ cat ~/tikv.log
tiup is checking updates for component playground ...timeout!
Starting component `playground`: /home/fisco/.tiup/components/playground/v1.9.4/tiup-playground v5.4.0 --mode tikv-slim --host=172.25.0.3 -T tikv_demo --without-monitor
Playground Bootstrapping...
Start pd instance:v5.4.0
Start tikv instance:v5.4.0
PD client endpoints: [172.25.0.3:2379]
# 1.3 单机部署TiKV集群
此处是扩展,可以不做
1.下载官方二进制包
# 下载官方的压缩包
$ wget https://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
$ wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256
# 检查sha256的加密
$ sha256sum -c tidb-latest-linux-amd64.sha256
# 解压安装包
$ tar -xzf tidb-latest-linux-amd64.tar.gz
$ cd tidb-latest-linux-amd64
2.启动 PD
$ ./bin/pd-server --name=pd1 \
--data-dir=pd1 \
--client-urls="http://127.0.0.1:2379" \
--peer-urls="http://127.0.0.1:2380" \
--initial-cluster="pd1=http://127.0.0.1:2380" \
--log-file=pd1.log
3.启动TiKV
要启动 3 个 TiKV 实例,请打开一个新的终端选项卡或窗口,进入tidb-latest-linux-amd64
目录,然后使用以下命令启动实例:
$ ./bin/tikv-server --pd-endpoints="127.0.0.1:2379" \
--addr="127.0.0.1:20160" \
--data-dir=tikv1 \
--log-file=tikv1.log
$ ./bin/tikv-server --pd-endpoints="127.0.0.1:2379" \
--addr="127.0.0.1:20161" \
--data-dir=tikv2 \
--log-file=tikv2.log
$ ./bin/tikv-server --pd-endpoints="127.0.0.1:2379" \
--addr="127.0.0.1:20162" \
--data-dir=tikv3 \
--log-file=tikv3.log
可以使用pd-ctl (opens new window)工具验证 PD 和 TiKV 是否部署成功:
$ ./bin/pd-ctl store -d -u http://127.0.0.1:2379
# 1.4 部署Max版本区块链系统
Max版本FISCO BCOS包括RPC服务、Gateway服务、区块链节点服务BcosMaxNodeService
以及区块链执行服务BcosExecutorService
:
- RPC服务:负责接收客户端请求,并将请求转发到节点进行处理, RPC服务可横向扩展,一个RPC服务可接入多个区块链节点服务;
- Gateway服务:负责跨机构区块链节点之间的网络通信,Gateway服务横向可扩展,一个Gateway服务可接入多个区块链节点服务;
- 区块链节点服务
BcosMaxNodeService
:负责提供区块链调度相关的服务,包括区块打包、共识、执行调度、提交调度等,节点服务通过接入到RPC服务和Gateway服务获取网络通信功能; - 区块链执行服务
BcosExecutorService
:负责区块执行,可横向扩展、动态扩容。
1.下载二进制安装包,然后解压安装依赖,配置配置文件直接启动。
$ curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v3.0.0/BcosBuilder.tgz && tar -xvf BcosBuilder.tgz
# 1.安装构建工具依赖包
$ cd BcosBuilder && pip3 install -r requirements.txt
# 2.运行build_chain.py脚本下载二进制,二进制包默认下载到binary目录
$ python3 build_chain.py download_binary -t cdn
# 3.从conf目录拷贝配置
cp conf/config-deploy-example.toml conf/config.toml
2.当前的配置文件如下
需要将2379端口的原来的IP地址修改为本机的IP地址。
[tars]
tars_url = "http://127.0.0.1:3000"
tars_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJhZG1pbiIsImlhdCI6MTY2MjI5OTE2MywiZXhwIjoxNzM1NjUyNzYzfQ.p4NtwV9rJx2NIPJ3B93nuuwSB5psnHg9nJBNL0bjmjY"
tars_pkg_dir = "binary/"
[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 configured
#rpc_ca_cert_path=""
# the existed gateway service ca path, will generate new ca if not configured
#gateway_ca_cert_path=""
[[group]]
group_id="group0"
# the genesis configuration path of the group, will generate new genesis configuration if not configured
# genesis_config_path = ""
# VM type, now only support evm/wasm
vm_type="evm"
# use sm-crypto or not
sm_crypto=false
# enable auth-check or not
auth_check=false
init_auth_address=""
# the genesis config
# the number of blocks generated by each leader
leader_period = 1
# the max number of transactions of a block
block_tx_count_limit = 1000
# consensus algorithm now support PBFT(consensus_type=pbft)
consensus_type = "pbft"
# transaction gas limit
gas_limit = "3000000000"
# compatible version, can be dynamically upgraded through setSystemConfig
# the default is 3.0.0-rc4
compatibility_version="3.0.0"
[[agency]]
name = "agencyA"
# 修改一下这里的IP地址
failover_cluster_url = "192.168.0.138:2379"
# enable data disk encryption for rpc/gateway or not, default is false
enable_storage_security = false
# url of the key center, in format of ip:port, please refer to https://github.com/FISCO-BCOS/key-manager for details
# key_center_url =
# cipher_data_key =
[agency.rpc]
deploy_ip=["172.25.0.3"]
listen_ip="0.0.0.0"
listen_port=20200
thread_count=4
[agency.gateway]
deploy_ip=["172.25.0.3"]
listen_ip="0.0.0.0"
listen_port=30300
peers=["172.25.0.3:30300"]
[[agency.group]]
group_id = "group0"
[[agency.group.node]]
node_name = "node0"
# 修改一下这里的IP地址
pd_addrs="192.168.0.138:2379"
key_page_size=10240
deploy_ip = ["172.25.0.3"]
executor_deploy_ip=["172.25.0.3"]
monitor_listen_port = "3901"
# the tikv storage pd-addresses
# monitor log path example:"/home/fisco/tars/framework/app_log/"
monitor_log_path = ""
3.然后用你最快的速度部署Rpc服务、Gateway服务、Node服务。
$ cd BcosBuilder/max
$ python3 build_chain.py chain -o deploy -t rpc
$ python3 build_chain.py chain -o deploy -t gateway
$ python3 build_chain.py chain -o deploy -t node
# 1.5 配置控制台
1.记得安装Java的jdk环境。然后配置控制台的证书
$ sudo apt install -y default-jdk
$ cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh && bash download_console.sh
# 1.最新版本控制台使用如下命令拷贝配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
# 2.可通过命令 find . -name sdk找到所有SDK证书路径
cp -r ~/fisco/BcosBuilder/max/generated/rpc/chain0/agencyABcosRpcService/172.25.0.3/sdk/* console/conf/
2.启动控制台
$ cd ~/fisco/console && bash start.sh
=============================================================================================
Welcome to FISCO BCOS console(3.0.0)!
Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.
________ ______ ______ ______ ______ _______ ______ ______ ______
| | \/ \ / \ / \ | \ / \ / \ / \
| $$$$$$$$\$$$$$| $$$$$$| $$$$$$| $$$$$$\ | $$$$$$$| $$$$$$| $$$$$$| $$$$$$\
| $$__ | $$ | $$___\$| $$ \$| $$ | $$ | $$__/ $| $$ \$| $$ | $| $$___\$$
| $$ \ | $$ \$$ \| $$ | $$ | $$ | $$ $| $$ | $$ | $$\$$ \
| $$$$$ | $$ _\$$$$$$| $$ __| $$ | $$ | $$$$$$$| $$ __| $$ | $$_\$$$$$$\
| $$ _| $$_| \__| $| $$__/ | $$__/ $$ | $$__/ $| $$__/ | $$__/ $| \__| $$
| $$ | $$ \\$$ $$\$$ $$\$$ $$ | $$ $$\$$ $$\$$ $$\$$ $$
\$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$
=============================================================================================
[group0]: />
访问验证:
上次更新: 2023/11/28, 22:03:59