安装FISCO-BCOS的那些坑

2023-11-09

首先从官网下载源码

git clone https://github.com/FISCO-BCOS/FISCO-BCOS.git
要是内网的时候可以将源码下载后放到服务器进行解压
unzip filename.zip
  1. 执行build

  2. 如果没有安装过cmake3会提示

    No package cmake3 available.

  3. 此时要到官网下载
  4. https://cmake.org/download/
    1. 安装gcc的软件依赖(已安装请跳过) 
      yum install -y gcc gcc-c++ make automake

    2. rpm -qa|grep yum能够查看已经安装的yum包
    3. 安装wget(已安装请跳过) 
      yum install -y wget

    4. 下载cmake源代码包,可以去官网查看最新版的下载地址:https://cmake.org/download/

      wget “https://cmake.org/files/v3.10/cmake-3.10.0-rc3.tar.gz

    5. 解压cmake源码包 
      tar -zxvf tar -zxvf cmake-3.10.0-rc3.tar.gz

    6. 进入目录,设置,编译,链接 
      cd cmake-3.10.0-rc3/ 
      ./bootstrap 
      gmake 
      gmake install

  5. 运行 cmake --version 出现版本信息就说明安装成功了
   $ cd fisco-bcos
   $ chmod +x build.sh 
   $ ./build.sh

 

  如看到如下的提示说明:FISCO BCOS安装完毕

   如看到如下的提示说明:FISCO BCOS安装完毕
```log
fisco-bcos build succ! path: /usr/local/bin/fisco-bcos

 

  说明:可执行文件安装路径:/usr/local/bin/fisco-bcos

部署单机两节点

本步骤指导完成两个区块链节点的部署,两个节点都在一台机器上。两个节点相互连接,形成一条由两个节点组成的区块链。

  1. 运行

    cd sample
    chmod +x run.sh
    ./run.sh

     

  2. 验证节点是否正常运行

    (1)验证进程

    执行命令

    ps -ef |grep fisco-bcos

     

    可看到2个节点正在运行:

    root  6226  6225  3 17:22 pts/2    00:00:02 fisco-bcos --genesis /bcos-data/node1/genesis.json --config /bcos-data/node1/config.json
    root  6227  6224  3 17:22 pts/2    00:00:02 fisco-bcos --genesis /bcos-data/node0/genesis.json --config /bcos-data/node0/config.json

     

    (2)验证已连接

    执行命令

    cat /bcos-data/node0/log/* | grep "topics Send to"

     

    可以看到如下日志,表示日志对应的节点已经与另一个节点连接(Connected to 1 peers),连接正常:

    DEBUG|2018-05-25 21:14:39|topics Send to6a9b9d071fa1e52a12c215ec0f469668f177af4817823e71277f36cbe3e020ff8cbe953c967fbc4d7467cd0eadd7443212d87c99ad38976b2150eccbc1aaa739@127.0.0.1:30304

    (3)验证可共识

    执行命令

    tail -f /bcos-data/node0/log/* | grep ++++

     

    可看到周期性的出现如下日志,表示节点间在周期性的进行共识,节点运行正确

    INFO|2017-11-23 15:04:12|+++++++++++++++++++++++++++ Generating seal onc04e60aa22d6348f323de53031744120206f317d3abcb8b3a90be060284b8a5b#1tx:0time:1511420652136
    INFO|2017-11-23 15:04:14|+++++++++++++++++++++++++++ Generating seal on08679a397f9a2d100e0c63bfd33a7c7311401e282406b87fd6c607cfb2dde2c6#1tx:0time:1511420654148
    

部署双机四节点

本步骤将会指导完成4个区块链节点的部署。其中两个在FISCO BCOS所安装机器本地,两个在另一台机器上。4个节点相互连接,形成一条由4个节点组成的区块链。

假定安装了FISCO BCOS的机器IP为192.168.1.101,另一台机器IP为192.168.1.102

  1. 部署环境

    在另一台未安装FISCO BCOS的机器上,安装依赖环境

    sudo yum -y -q install epel-release
    sudo yum install -y leveldb-devel libmicrohttpd-devel

     

  2. 生成节点

    在安装了FISCO BCOS的机器上执行

    cd sample
    chmod +x init_four.sh
    ./init_four.sh  192.168.1.101 192.168.1.102 #本机IP在前,另一台机器IP在后
    #此时会生成本地的两个节点,以及另一台机器的节点安装包:192.168.1.102_install.tar.gz 
    scp 192.168.1.102_install.tar.gz app@192.168.1.102:/home/app/ #将安装包拷贝到另一台机器的任意目录

     

若执行过程出现 “没有那个文件或目录”类似提示信息可忽略。

  1. 启动节点

    (1)安装了BCOS的机器

    cd sample
    ./start_two.sh

     

若出现 “文本文件忙” 类似提示信息可忽略。

(2)另一台机器

cd /home/app/
tar -zxvf 192.168.1.102_install.tar.gz
cd 192.168.1.102_install
chmod +x start_two.sh
./start_two.sh

 

  

若出现 “文本文件忙” 类似提示信息可忽略。

  1. 验证节点正常运行

    (1)验证进程

    在两台机器的任意一台上,执行

    ps -ef |grep fisco-bcos

     

    可看到其中一台机器的2个节点正在运行

    root 30038 30037  1 17:16 pts/0    00:00:07 fisco-bcos --genesis /bcos-data/node4_3/genesis.json --config /bcos-data/node4_3/config.json
    root 30039 30036  1 17:16 pts/0    00:00:07 fisco-bcos --genesis /bcos-data/node4_2/genesis.json --config /bcos-data/node4_2/config.json
    

    (2)验证已连接

    在后启动节点的机器上,执行命令。(如本例先启动了:192.168.1.101,再启动了192.168.1.102,则在192.168.1.102上执行命令)

    cat /bcos-data/node4_*/log/* | grep "topics Send to"

     

    可看到以下信息,则表示每个区块链节点都连接了除自己以外的3个节点,连接正常。

    DEBUG|2018-05-08 01:43:14|topics Send to:3 nodes
    

    (3)验证可共识

    在两台机器的任意一台上,执行

    tail -f /bcos-data/node4_*/log/* | grep ++++

     

    可看到周期性的出现如下日志,表示节点间在周期性的进行共识,节点运行正确

    INFO|2017-11-23 15:39:45|+++++++++++++++++++++++++++ Generating seal on8fc40418b375cef45ba4841dcc4ef7adf7fc536d5a0f00d31f086b44ade64482#1tx:0time:1511422785361
    INFO|2017-11-23 15:39:48|+++++++++++++++++++++++++++ Generating seal on1c11cbd4a6e2b5bdd22e8830978fe3960755b6ec866f54aa

转载于:https://www.cnblogs.com/blackCatFish/p/9639529.html

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

安装FISCO-BCOS的那些坑 的相关文章

  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 计算机网络---流量控制与可靠传输机制

    一 数据链路层的流量控制 较高的发送速度和较低的接收能力的不匹配 会造成传输出错 因此流量控制也是数据链路层的一项重要工作 数据链路层的流量控制是点对点 而传输层的流量控制是端到端的 数据链路层流量控制手段 接收方收不下就不回复确认 传输层
  • Blink 源码编译

    参考 http fetching118 com article 5 html 帮助文档 http fetching118 com blink doc quickstart scala shell quickstart html 1 从Git
  • 由于找不到msvcr120.dll,无法继续执行代码怎么修复,可以使用这个三个方法

    msvcr120 dll是 Microsoft Visual C Redistributable 中的一个文件 是Windows系统非常重要组件 它包含了大量用于 C 程序的函数和类库 这个文件用于一些应用程序或游戏 如果丢失或受损 就可能
  • 【cartographer_ros】四: 发布和订阅里程计odom信息

    上一节介绍了激光雷达Scan传感数据的订阅和发布 本节会介绍里程计Odom数据的发布和订阅 里程计在cartographer中主要用于前端位置预估和后端优化 官方文档 http wiki ros org navigation Tutoria
  • openwrt 编译进阶

    1 编译703 8M固件 1 target linux ar71xx image Makefile eval call SingleProfile TPLINK LZMA fs 64kraw TLWR703 tl wr703n v1 TL
  • 计算机考研复试常问问题 计算机网络篇

    一 计算机网络体系结构 1 OSI TCP IP和五层体系结构 五层协议 分为5层 自上到下分别为 应用层 传输层 网络层 数据链路层 物理层 应用层 为特定应用程序提供数据传输服务 传输单位是报文 传输层 为不同主机的进程提供通信服务 传
  • 五金手册钢材理论重量计算小程序_常用金属重量计算公式,值得收藏

    这是金属加工 mw1950pub 发布的第11525篇文章 编者按 分享常用的一些金属材料重量计算公式 钢管重量计算公式 方钢重量计算公式 钢板重量计算公式 值得收藏 圆钢重量 公斤 0 00617 直径 直径 长度 方钢重量 公斤 0 0
  • RabbitMQ--基础--11.1--持久化,消息的保障机制,生产者确认机制,消费者处理消息的模式

    RabbitMQ 基础 11 1 持久化 消息的保障机制 生产者确认机制 消费者处理消息的模式 1 持久化 交换机的持久化 队列的持久化 消息的持久化 1 1 交换机的持久化 RabbitMQ服务重启 若交换机不设置持久化 交换机的元数据会
  • 使用Resource Hacker 更改exe文件图标(小白注意)

    当需要将已经封装好的exe文件更改其图标时 使用resource Hacker可以实现 1 打开软件 2 将exe文件直接拖拽带软件里 这里以优酷 exe为案例 这就是显示的exe文件的内容 3 更改图标要更改icon Group 文件夹
  • C#中解决ListView更新数据出现闪烁的实例程序

    在使用vs自动控件ListView控件时候 更新里面的部分代码时候出现闪烁的情况 解决办法使用双缓冲 添加新类继承ListView 对其重写 一 双缓冲作用 双缓冲甚至是多缓冲 在许多情况下都很有用 一般需要使用双缓冲区的地方都是由于 生产
  • FinClip小程序中如何对接微信登录?FinClip小程序如何接入APP的授权登录?

    通常来说 真正意义的微信小程序授权登录只能在微信的APP中进行 是指由微信APP授权给微信小程序 而FinClip小程序的授权登录则是通过集成了SDK的第三方APP进行授权 因为一般APP自己就具有账号体系 而在集成FinClip SDK的
  • vue-cli初始化

    1 全局安装vue cli npm install g vue cli 全局安装vue cli vue version 或者 vue V 查看版本 2 创建项目 vue create vue cli demo 常用命令 serve vue
  • bcdedit添加win7启动项

    公司的电脑是日文win7系统 安装在C盘 后来有需求 在E盘安装了中文win7 只是偶尔用用 后来日语系统出了问题 重新格式化C盘 重装了日文系统 中文系统也就进不去了 现在突然要用中文系统了 需要修复一下启动项 用管理员权限执行cmd 然
  • 前端报错。

    一 前端报500 打开网络请求 看响应 1 500错误码的官方解释是 500服务器内部错误 Internal server error 主要是由于IWAM账号的密码错误造成的 该错误说明IIS服务器无法解析ASP代码 访问一个静态页面试试是
  • QT笔记——使用重载的信号多种方法

    使用重载的信号 的 多种写法 接下来我们将使用QComboBox 的信号来举例 我们发现currentIndexChanged 这个信号是重载的 我们在正常写是编译不通过的 ui comboBox gt addItem QStringLit
  • CCF/CSP 201604-2 俄罗斯方块(满分题解Java版)

    此题 猛滴一看确实非常容易让人懵懵的 主要是题目描述的非常不清晰 很难让人能够透彻的理解 如果连题目都看不懂 那就不谈写出代码了 题目描述 官方题目描述 题目地址 题目解读 关键的是要理解题目 Java题解 import java util
  • JPA @Query时,无法使用limit函数原因及解决方案

    前言 使用ssh时 我加入了springdata jpa去查询sql 在 query中使用limit函数时 报错 后来分析原因才知道 springdata jpa的 query中写的sql叫JPQL jpql是不支持limit函数的 而原生
  • ubuntu vsocde 配置 pcl头文件库

    vscode 配置 pcl头文件库 ctrl shift p 输入Edit configuretion 在includePath种添加 usr include pcl 1 8 如果还是没有提示 那么要开启提示 将复选框取消就行 还可以修改提
  • 剑指offer 学习笔记 把字符串转换成整数

    面试题67 把字符串转换成整数 类似atoi函数 把一个字符串转换成一个整数 当输入非法时返回0 为了区分是由于输入0而返回0还是输入非法而返回0 而声明了一个全局变量g nStatus 为了防止溢出 可先将结果存入long long类型中
  • 安装FISCO-BCOS的那些坑

    首先从官网下载源码 git clone https github com FISCO BCOS FISCO BCOS git要是内网的时候可以将源码下载后放到服务器进行解压unzip filename zip 执行build 如果没有安装过