【FISCO BCOS 3.0】一、新版本搭链介绍

目录

一、区块链种类的变化

二、搭链演示

1.单群组区块链(Air版本)

2.多群组区块链(Pro版本)

3.可扩展区块链(Max版本)


       FISCO BCOS的发展速度如日中天,对于稳定的2.0版本而言,偶尔尝试一下3.0的搭链也是一件很有乐趣的事,本期就讲解一下关于FISCO BCOS 3.0版本搭链的那些事。

更多详情可见官方文档:1. FISCO BCOS 区块链 — FISCO BCOS 3.0 v3.6.0 文档 (fisco-bcos-doc.readthedocs.io)

一、区块链种类的变化

        新版本的FISCO BCOS将区块链种类分为了以下三种,也被称为3个版本

1. 单群组区块链(Air版本)

2. 多群组区块链(Pro版本)

3. 可扩展区块链(Max版本)

         整体搭链方式仍然围绕 build_chain.sh 脚本进行展开,保持了与2.0版本的过渡性。

二、搭链演示

环境:Ubuntu 22.04.1

1.单群组区块链(Air版本)

首先第一步,仍是拉取建链脚本

curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v3.6.0/build_chain.sh && chmod u+x build_chain.sh

可以先使用bash build_chain -h查看脚本用法和参数,新版的区块链节点多了很多新特性如:节点监控、存储控制、权限控制等,我们下次可以单开一篇进行介绍,本次就采用单机四节点+节点监控做示例。

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200 -m

从命令角度看,指定的端口从3个减少为了2个,即P2P和RPC服务的监听的起始端口。

从文件目录来看,新版的fisco增加了ca证书的文件目录,其他方面变化并不大(由于我没有添加更多建链选项)。

因此,按照以往的经验,直接启动也是没问题的。

bash nodes/127.0.0.1/start_all.sh

与节点一同部署的节点监控也启动成功了,此时我们检查进程和节点连接数

ps -ef | grep -v grep | grep fisco
tail -f nodes/127.0.0.1/node0/log/* | grep connected

可以发现节点运行正常 ,至此,我们完成了单群组区块链节点的搭建。

2.多群组区块链(Pro版本)

不同与2.0的多群组部署,3.0在多群组部署的基础上使用BcosBuilder/pro工具进行建链,并使用tars进行微服务构建和管理,由于内容过多,本期只介绍一键搭建无tars Pro版区块链网络。

首先安装依赖,这里注意,如果是ubuntu系统,则版本不能小于Ubuntu18.04。

sudo apt-get update
sudo apt-get install -y curl docker.io docker-compose python3 wget

我们接下来部署无tars Pro版区块链网络,通过指定服务的ip和端口,自动生成配置文件,执行以下命令,搭建双机双机构四节点。

在执行命令前,经测试,需要提前安装以下3个python库。

pip3 install requests_toolbelt toml
bash build_chain.sh -p 30300,20200,40400 -l 192.168.200.134:2,192.168.200.135:2 -C deploy -V pro -o generate -t all

输出了很多命令提示, 目录结构如下

我们进入相匹配的文件夹启动节点,这里涉及到多机部署区块链,故我们只启动本机ip符合的区块链节点。

如图,启动成功,如果需要,接下来要将另外一个ip地址的文件传输到对应主机进行启动,这里便不多赘述。

3.可扩展区块链(Max版本)

官方对于Max版本的定义为:提供海量存储服务、高性能可扩展的执行模块、高可用的故障恢复机制。与Pro版相同,同样提供一键搭建和BcosBuilder进行搭建。这里先采用一键搭建作为示例。

首先仍是安装依赖,仍然要求ubuntu版本不小于Ubuntu18.04。

sudo apt-get update
sudo apt-get install -y curl docker.io docker-compose python3 wget

接下来要部署TiKV,关于TiKV的介绍:Max版FISCO BCOS节点采用分布式存储TiKV,执行模块独立成服务,存储和执行均可横向扩展,且支持自动化主备恢复。

执行此命令下载和安装tiup

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

接着部署并启动TiKV,这里ip为192.168.200.134

nohup tiup playground v6.5.0 --mode tikv-slim --host=192.168.200.134 -T tikv_demo --without-monitor > ~/tikv.log 2>&1 &

最后执行以下命令搭建双机双机构四节点,其中TiKV的默认端口是2379

bash build_chain.sh -p 30300,20200,40400,2379 -l 19.168.200.134:2,192.168.200.135:2 -C deploy -V max -o generate -t all

剩余的启动步骤与多群组区块链一致,如图,启动成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

058.最后一个单词的长度

题意 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 难度 简单 示例 1: 输入:s "Hello World" 输…

JavaWeb基础(一)-IO操作

Java I/O工作机制: 注:简要笔记,示例代码可能较少,甚至没有。 1、Java 的 I/O 类库的基本架构。 ​ Java 的 I/O 操作类在包 java.io 下,大概有将近80个类,这些类大概可以分为如下四组。 基于字节操作的…

UE5中绘制饼状图

饼状图 使用UE绘制前提完整的创建过程123456678 附录代码.h代码.c代码 使用UE绘制前提 EPIC Game使用的版本是Unreal Engine 5.0.3。 没有使用其他额外的插件,使用的是C和Ui共同绘制。 C编译器使用的是VS2019。 完整的创建过程 1 首先在UE中随意一种项目的白色。…

服务器端请求伪造--SSRF

SSRF 简介 ##SSRF定义 SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由 攻击者构造形成,由服务端发起请求 的一个安全漏洞。一般情况下,SSRF攻击的目标是从 外网无法访问的内部系统(正是因为它是由服务端发起的,所…

一个小技巧轻松提升量化精度!IntactKV:保持关键词元无损的大语言模型量化方法

目录 摘要关键词元(Pivot Tokens)方法概述实验验证1. 权重量化2. KV Cache 量化3. 权重和激活值量化 参考文献 本文介绍我们针对大语言模型量化的工作 IntactKV,可以作为插件有效提升 GPTQ、AWQ、QuaRot 等现有主流量化方法效果。论文作者来自…

海外社媒账号如何运营安全稳定?

由于设备与网络原因,通常一个海外社媒账号尤其是多账号的稳定性都有一定限制,错误的操作或者网络都可能使得账号被封,前功尽弃。本文将为大家讲解如何通过IP代理来维持账号稳定与安全,助力海外社媒矩阵的搭建。 一、社媒账号关联…

深入理解计算机系统 家庭作业4.52

练习题4.3 p.254 \sim\seq\seq-full.hcl文件内已经说的很清楚了哪些不能更改,哪些是题目要求更改的控制逻辑块. 依据家庭作业4.51的答案,在seq-full.hcl文件内更改对应的HCL描述即可 以下答案注释了#changed的就是更改部分 #/* $begin seq-all-hcl */ ######################…

Redis 中 Set 数据结构详解

用法 Redis 中的 Set 是一个无序,不重复集合(里面的元素为字符串),支持常用的集合操作。 常见命令 1. 增 添加一个或多个元素到 set 中 SADD key member [ member ... ] 返回值: 添加成功的元素个数 将一个元素移到…

数据结构(1):线性表

1 线性表的顺序实现 创建的新项目是cpp类型哦&#xff01; 1.1 初始化 1.1.1 静态分配 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #define MaxSize 10 //定义顺序表的长度 typedef struct {int data[MaxSize];//用静态的数组存放元素&#xff01;int lengt…

【UE5.1 角色练习】08-物体抬升、抛出技能 - part2

目录 前言 效果 步骤 一、让物体缓慢的飞向手掌 二、向着鼠标方向发射物体 前言 在上一篇&#xff08;【UE5.1 角色练习】08-物体抬升、抛出技能 - part1&#xff09;的基础上继续完成角色将物体吸向手掌&#xff0c;然后通过鼠标点击的方向来发射物体的功能。 效果 步骤…

【Linux 网络编程】网络的基础知识详解!

文章目录 1. 计算机网络背景2. 认识 "协议" 1. 计算机网络背景 网络互联: 多台计算机连接在一起, 完成数据共享; &#x1f34e;局域网&#xff08;LAN----Local Area Network&#xff09;: 计算机数量更多了, 通过交换机和路由器连接。 &#x1f34e; 广域网WAN: 将…

uniapp通过Canvas绘制网格(心电图,坐标纸等可用)

本篇文档是Canvas绘制心电图的第一个部分&#xff0c;想了解详情的可以关注后学习交流。 心电图的最底层需要一个网状底层&#xff0c;来方便进行数据的测量。 一、白底分大、中、小三个区域的网格 1、首先是HTML部分 <!DOCTYPE html> <html lang"en">…

【贪心算法】C++解决回文串、增减字符串匹配、分发饼干、跳跃游戏、加油站问题

1. 前言 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前状态下最优决策的算法。贪心算法通常用来解决最优化问题&#xff0c;其核心思想是通过局部最优解逐步推导出全局最优解。 在贪心算法中&#xff0c;我们并不总是考虑到未来可能发生的…

代理注册湖北武汉投资管理公司流程和条件

我公司代理注册湖北武汉投资管理公司&#xff0c;现在大家都知道全国的投资管理公司已经停批了&#xff0c;很多需要收购的老板都是通过收购现成的投资管理公司经营的&#xff0c;现在我告诉大家一个好消息&#xff0c;我们有渠道办理湖北武汉资产管理公司&#xff0c;详情致电…

521源码-免费源码下载-免费学习网站教程-宝塔面板ssl网站证书到期后弹出无法续期错误提示

宝塔面板如果从老版本升级到8.10后&#xff0c;当点站证书过期续期时会弹出错误&#xff1a; 排查文件是找不到问题出在哪里&#xff0c;导致续期错误。 解决办法&#xff1a;通过摸索&#xff0c;最简单的就是删除站点&#xff0c;注意&#xff1a;只是删除&#xff0c;不是把…

亚马逊VC账号产品热销,在美国哪些智能小家电产品最好卖?

亚马逊VC账号产品在美国市场的热销&#xff0c;反映了消费者对于特定智能小家电产品的强烈需求。智能小家电产品因其实用性、便捷性和科技感&#xff0c;近年来在美国市场备受追捧。 以下是一些在亚马逊VC账号上热销的智能小家电产品&#xff1a; 智能扫地机器人 这类产品在美…

[vue3后台管理一]vue3下载安装及环境配置教程

[vue3后台管理二]vue3下载安装element plus 一、vue3下载安装element plus cnpm install element plus二&#xff1a;修改main.js import { createApp } from "vue"; import App from "./App.vue"; import ElementPlus from "element-plus"; …

JAVA:Random详解

Java中的java.util.Random类用于生成伪随机数。它提供了多种方法来生成不同类型的随机数&#xff0c;包括整数、浮点数和布尔值。以下是对Random类及其主要方法的详细介绍 一、生成随机数 创建一个Random对象&#xff0c;可以使用以下两种方式&#xff1a; 无参构造函数&…

建议大家少用点儿网站测速工具

春节休息期间明月有接了几个服务器代运维的业务&#xff0c;期间就发现不少新手站长们还在用 17ce、站长工具等等这些网站测速工具来评判站点访问速度的&#xff0c;感觉很有必要给大家聊聊这个事儿&#xff0c;因为这毕竟也是一个涉及服务器安全的一个重要环节了。 其实&#…

那些不起眼但很好玩的API合辑

那些不起眼但很好玩的API&#xff0c;为我们带来了许多出人意料的乐趣和惊喜。这些API可能看起来并不起眼&#xff0c;但它们却蕴含着无限的创意和趣味性。它们可以是一些小游戏API&#xff0c;让我们可以在闲暇时刻尽情娱乐&#xff1b;也可以是一些奇特的音乐API&#xff0c;…