长安链ChainMaker多机环境

悠悠 2024-05-08 07:08 168阅读 0赞

GO语言安装

  1. 下载文件

    wget https://golang.google.cn/dl/go1.17.8.linux-amd64.tar.gz

  2. 解压文件到 /usr/local

    rm -rf /usr/local/go

    tar -zxf go1.17.8.linux-amd64.tar.gz -C /usr/local

  3. 配置环境变量

  4. vim指令编辑 /etc/profile

    vim /etc/profile

  5. 在/etc/profile文件末尾添加以下配置。按esc后,输入 :wq保存

    golang config

    export GOROOT=/usr/local/go

    export GOPATH=/home/gopath

    export GOPROXY=https://goproxy.cn

    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

  6. 创建/home/gopath。

    mkdir /home/gopath

  7. 环境变量生效

    source /etc/profile

  8. 查看Go版本

    go version

gcc

  1. 检查 gcc 版本

    gcc —version

  2. 显示结果若 < 7.3,则执行下面步骤升级

    sudo yum install centos-release-scl

    sudo yum install devtoolset-7-gcc*

    scl enable devtoolset-7 bash

注意:第三条指令scl enable devtoolset-7 bash 只是在当前会话中升级了gcc,如果想每次登录gcc自动升级,可以把scl enable devtoolset-7 bash 放在~/.bash_profile 文件中。

长安链环境搭建

  1. 源码下载

    git clone https://git.chainmaker.org.cn/chainmaker/chainmaker-go.git

  2. 下载证书生成工具源码到本地

    git clone -b v2.2.0 https://git.chainmaker.org.cn/chainmaker/chainmaker-cryptogen.git

  3. 编译证书生成工具

    cd chainmaker-cryptogen

    make

  4. 将编译好的chainmaker-cryptogen,软连接到chainmaker-go/tools目录

    进入工具目录

    cd ../chainmaker-go/tools

    软连接chainmaker-cryptogen到tools目录下

    ln -s ../../chainmaker-cryptogen/ .

  5. 进入chainmaker-go/scripts目录

    cd ../scripts/

  6. 执行prepare.sh脚本生成4节点2链的配置文件及证书

    ./prepare.sh 4 2

    执行结果:

    begin check params…
    begin generate certs, cnt: 4
    input consensus type (0-SOLO,1-TBFT(default),3-MAXBFT,4-RAFT): 1
    input log level (DEBUG|INFO(default)|WARN|ERROR): INFO
    enable docker vm (YES|NO(default))NO
    config node total 4
    begin generate node1 config…
    begin node1 chain2 cert config…
    begin node1 chain2 cert config…
    begin node1 trust config…
    begin generate node2 config…
    begin node2 chain2 cert config…
    begin node2 chain2 cert config…
    begin node2 trust config…
    begin generate node3 config…
    begin node3 chain2 cert config…
    begin node3 chain2 cert config…
    begin node3 trust config…
    begin generate node4 config…
    begin node4 chain2 cert config…
    begin node4 chain2 cert config…
    begin node4 trust config…

  7. 配置指定端口

  8. 切换到生成的配置文件目录

    cd ../build/config

此时会有4个节点目录:

node1 node2 node3 node4

  1. 修改配置文件端口

每个文件夹内有一个chainmaker.yml配置文件,主要涉及修改的端口如下:

  1. rpc:
  2. port: {rpc_port}
  3. net:
  4. listen_addr: /ip4/0.0.0.0/tcp/{net_port}
  5. monitor:
  6. port: {monitor_port}
  7. pprof:
  8. port: {pprof_port}

在第6步生成的配置文件中,每个节点的配置文件端口都是不相同的,在单机或者多级环境可以不用修改端口。如需自己指定可以按照上述修改涉及的端口。

  1. 配置指定IP

使用prepare.sh脚本会自动将所有共识节点的地址都会添加至net.seeds中,需要将127.0.0.1修改为集群各个节点实际所在机器的IP地址,需要将113XX修改为集群各个节点实际监听端口,监听端口与上一步中{net_port}一致。

  1. net:
  2. seeds:
  3. - "/ip4/127.0.0.1/tcp/11301/p2p/QmQ3sHDwwcacnDdRzQpk7N3Bgeju4NPuTGkVYmrk99sQw8"
  4. - "/ip4/127.0.0.1/tcp/11302/p2p/QmXvhGFjSA6XqifZvsiHRNuDo9LEPWhqq36BSyqZMdmtuq"
  5. - "/ip4/127.0.0.1/tcp/11303/p2p/QmeDWYtVkSiR8DUq6NfrsVEYGzh8zMSUjro3VnbTagg3nX"
  6. - "/ip4/127.0.0.1/tcp/11304/p2p/QmakPkAJYPQdMtmW88iuz8XtBcAfJbiB8U7E673q4ribCt"
  1. 生成节点安装包

切换回chainmaker-go/scripts目录,执行

  1. $ ./build_release.sh
  2. $ tree ../build/release/
  3. ../build/release/
  4. ├── chainmaker-v2.0.0-wx-org1.chainmaker.org-20210407153351-x86_64.tar.gz
  5. ├── chainmaker-v2.0.0-wx-org2.chainmaker.org-20210407153351-x86_64.tar.gz
  6. ├── chainmaker-v2.0.0-wx-org3.chainmaker.org-20210407153351-x86_64.tar.gz
  7. ├── chainmaker-v2.0.0-wx-org4.chainmaker.org-20210407153351-x86_64.tar.gz
  8. └── crypto-config-20210407153351.tar.gz

后续上传各节点安装包,到指定的服务器上,部署解压后使用。

如果在生成安装包时出现undefined reference to `static_assert’,通常由于GCC版本太低,需要按照之前的gcc升级方案升级gcc后重试。

  1. 解压启动节点

解压

  1. tar -zxvf chainmaker-V2.0.0-wx-org1.chainmaker.org-20210407122304-x86_64.tar.gz

进入bin目录

  1. cd chainmaker-v2.2.1-wx-org1.chainmaker.org/bin

启动

  1. ./start.sh
  1. 查看节点启动使用正常

  2. 查看进程是否存在

    ps -ef|grep chainmaker | grep -v grep

  3. 查看端口是否监听

    netstat -lptn | grep 1230

  4. 检查节点是否有ERROR日志

进入解压后的配置文件目录,执行:

  1. $ cat ./bin/panic.log
  2. $ cat ./log/system.log
  3. $ cat ./log/system.log |grep "ERROR\|put block\|all necessary"

发表评论

表情:
评论列表 (有 0 条评论,168人围观)

还没有评论,来说两句吧...

相关阅读