zoukankan      html  css  js  c++  java
  • 安装FISCO-BCOS的那些坑

    首先从官网下载源码

    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
    努力提高自己的技术,不忘初心
  • 相关阅读:
    python 3字符编码
    python 数据类型 datatype
    部署python django程序
    linux centos7安装python3
    关于mysql数据库优化
    关于bottle WEB框架中签名cookie的一点理解
    1111
    bottle框架剖析
    the difference __str__ and __repr__
    property getitem setitem
  • 原文地址:https://www.cnblogs.com/blackCatFish/p/9639529.html
Copyright © 2011-2022 走看看