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
  • FISCO BCOS 3.x基于tars进行微服务构建和管理,搭建Max版本FISCO BCOS之前,需先安装tars服务,本章介绍了docker版本tars服务的搭建流程,若需要了解更多tars部署、构建相关的信息,请参考 这里
  • 本章基于Docker搭建tars服务,请确保拥有 root 权限
  • 搭建Max版本FISCO BCOS需先部署TiKV集群,TiKV集群的部署请参考 这里

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工具验证 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]: />

访问验证:

image-20220904225355456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不写后端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值