FISCO BCOS 联盟链Max搭建

2023-11-04

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FISCO BCOS 联盟链Max搭建 的相关文章

随机推荐

  • 42黑马QT笔记之Linux下Tcp/Udp通信过程

    42黑马QT笔记之Linux下Tcp Udp通信过程 1 Linux下Tcp通信过程 1 第一次握手 执行connect 2 第二次握手 accept 返回 3 第三次握手 connect 返回 4 共有三个套接字 客户端1个fd 服务端一
  • c++11增加的变参数模板,今天总算整明白了

    本篇文章介绍一下c 11中增加的变参数模板template
  • C运行时库(C Run-time Library)详解

    一 什么是C运行时库 1 C运行时库就是 C run time library 是 C 而非 C 语言世界的概念 取这个名字就是因为你的 C 程序运行时需要这些库中的函数 2 C 语言是所谓的 小内核 语言 就其语言本身来说很小 不多的关键
  • AIX系统文件压缩解压缩及性能诊断常用命令

    AIX系统文件压缩解压缩及性能诊断常用命令 磁带设备 顺序读取 文件类型 dev rmtx dev rmtx 1 dev rmtx 2 掌握 zip tar tape archive 保留原有权限 没有压缩 只是打包 创建 tar cvf
  • Basic Level 1091 N-自守数 (15分)

    题目 如果某个数 K 的平方乘以 N 以后 结果的末尾几位数等于 K 那么就称这个数为 N 自守数 例如 3 9 2 2 25392
  • 【python】excel文件(.xls文件)处理

    目录 概述 xlrd xlwt xlutils 概述 xlrd 用于读取文件 xlwt 用于写入文件 xlutils 是两个工具包的桥梁 也就是通过xlrd 读取 xls文件 然后通过xlutils 将文件内容交给xlwt处理并且保存 xl
  • 新手linux安装vasp_一步一步教你如何在linux 下安装VASP 【真的是从零开始】

    首先我是一个linux 小白 只接触过linux 的基本用法 听说VASP 编译很复杂 故想学习之 如果大神见了 请直接飘过 非常期待和大家互动交流 下面就直接进入主题 如何在linux 下面安装VASP 首先我想说说什么叫编译 为什么要编
  • 线阵相机、镜头及光源的选型

    线阵相机顾名思义就是取像是成线性的 它的传感器是成线型的 举个例子 比如面阵相机的分辨率是640 480就是说这个相机横向有640个像元 纵向有480个像元 而线阵相机分辨率只体现在横向 比如2048像素的线阵相机就是说横向有2048个像元
  • 颜色空间YUV简介

    YUV概念 YUV是被欧洲电视系统所采用的一种颜色编码方法 属于PAL Phase Alternation Line 是PAL和SECAM模拟彩色电视制式采用的颜色空间 其中的Y U V几个字母不是英文单词的组合词 Y代表亮度 其实Y就是图
  • java集合的copy

    java拷贝集合的方法有很多种 常用的比较简单的做法有两种 直接使用集合构造方法实现浅拷贝 这种方法只是保证list和listCopy的引用不一样 但是集合元素的引用时一样的 List
  • 生产管理MES系统框架

    1 总体框架描述 生产管理MES系统框架涵盖了涉及生产制造范畴内的所有业务管理内容 包括 产品生产数据 销售订单管理 材料需求计算和计划 采购管理 仓库物流管理 主生产计划 生产作业管理 生产过程物料加工 生产过程工装组装管理 品质管理 检
  • idea 插件的使用 进阶篇(个人收集使用中的)

    idea 插件的使用 进阶篇 个人收集使用中的 恭喜你 如果你已经看到这篇文章 证明在idear使用上已经初有小成 那么就要向着大神进发了 下边就是大神之路 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道 Inte
  • Quartz和Spring Task定时任务的简单应用和比较

    一 Quartz 引入quartz的jar包 配置文件中定义org springframework scheduling quartz MethodInvokingJobDetailFactoryBean 并指定它的targetObject
  • 理解HTML、CSS、javascript之间的关系

    理解HTML CSS javascript之间的关系 版权属于 博客园 牧云流 本文作者 牧云流 原文链接 https www cnblogs com dreamingbaobei p 10407626 html 网页主要有三部分组成 结构
  • pygame从入门到放弃(一)

    首先pip 那个pygame 然后看代码 临时写的 图片就不插了 防止舍友砍我 现在是凌晨 TOC 井字棋游戏 此代码基本能立于不败之地 import random 可视化输出 def draw Board board print prin
  • gcc中预定义的宏__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__

    今天在看Linux系统编程这本书的代码的时候看到了 GNUC 不太清楚这个宏所以去查了一下 以此记录 GNU C预定义了一系列的宏 这些宏都是以双下划线开始的 这里只讲一下 GNUC GNUC MINOR GNUC PATCHLEVEL 完
  • vue中this.$set()的用法

    1 this set 的作用 向响应式对象中添加一个属性 并确保这个新属性同样是响应式的 且触发视图更新 this set 用于向响应式对象上添加新属性 因为 Vue 无法探测普通的新增属性 简单来说 就是我们在methods中给数据添加了
  • 整数拆分--

    题目描述 一个整数总可以拆分为2的幂的和 例如 7 1 2 4 7 1 2 2 2 7 1 1 1 4 7 1 1 1 2 2 7 1 1 1 1 1 2 7 1 1 1 1 1 1 1 总共有六种不同的拆分方式 再比如 4可以拆分成 4
  • [每日两题系列]刷算法题咯~~

    今日题目 最小栈 有效的括号 本系列所选题目均来自力扣或者牛客网站 所选题目主要是以其中的简单题为主 中等题为辅 包含少数困难题 原因是 本人目前能力还不够 开展这个系列的目的是督促自己 在暑假的时间里也要保持有一定的刷题量 拒绝摆烂 话不
  • FISCO BCOS 联盟链Max搭建

    FISCO BCOS Max版本 版本说明 为了能够支撑海量交易上链场景 v3 0 0推出了Max版本FISCO BCOS Max版本FISCO BCOS旨在提供海量存储服务 高性能可扩展的执行模块 高可用的故障恢复机制 Max版FISCO