长安链ChainMaker多机环境

本文详细指导了如何在Linux系统上安装Go语言,并配置了链maker环境,包括下载、解压、环境变量设置、证书生成、配置文件修改以及生成和安装链节点。特别强调了升级gcc和gcc在链maker环境中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GO语言安装

  1. 下载文件
wget https://golang.google.cn/dl/go1.17.8.linux-amd64.tar.gz
  1. 解压文件到 /usr/local
rm -rf /usr/local/go

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

  1. 配置环境变量
  1. vim指令编辑 /etc/profile
vim /etc/profile

  1. 在/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

  1. 创建/home/gopath。
mkdir /home/gopath

  1. 环境变量生效
source /etc/profile

  1. 查看Go版本
go version

gcc

  1. 检查 gcc 版本
gcc --version
  1. 显示结果若 < 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
  1. 下载证书生成工具源码到本地
git clone -b v2.2.0 https://git.chainmaker.org.cn/chainmaker/chainmaker-cryptogen.git
  1. 编译证书生成工具
cd chainmaker-cryptogen

make
  1. 将编译好的chainmaker-cryptogen,软连接到chainmaker-go/tools目录
# 进入工具目录

cd ../chainmaker-go/tools

# 软连接chainmaker-cryptogen到tools目录下

ln -s ../../chainmaker-cryptogen/ .
  1. 进入chainmaker-go/scripts目录
 cd ../scripts/
  1. 执行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...
  1. 配置指定端口
  1. 切换到生成的配置文件目录
cd ../build/config

此时会有4个节点目录:

node1  node2  node3  node4

  1. 修改配置文件端口

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

rpc:

  port: {rpc_port}

net:

  listen_addr: /ip4/0.0.0.0/tcp/{net_port}

monitor:

  port: {monitor_port}

     pprof:

  port: {pprof_port}

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

  1. 配置指定IP

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

net:

  seeds:

    - "/ip4/127.0.0.1/tcp/11301/p2p/QmQ3sHDwwcacnDdRzQpk7N3Bgeju4NPuTGkVYmrk99sQw8"

    - "/ip4/127.0.0.1/tcp/11302/p2p/QmXvhGFjSA6XqifZvsiHRNuDo9LEPWhqq36BSyqZMdmtuq"

    - "/ip4/127.0.0.1/tcp/11303/p2p/QmeDWYtVkSiR8DUq6NfrsVEYGzh8zMSUjro3VnbTagg3nX"

    - "/ip4/127.0.0.1/tcp/11304/p2p/QmakPkAJYPQdMtmW88iuz8XtBcAfJbiB8U7E673q4ribCt"

  1. 生成节点安装包

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

$ ./build_release.sh

$ tree ../build/release/

../build/release/

├── chainmaker-v2.0.0-wx-org1.chainmaker.org-20210407153351-x86_64.tar.gz

├── chainmaker-v2.0.0-wx-org2.chainmaker.org-20210407153351-x86_64.tar.gz

├── chainmaker-v2.0.0-wx-org3.chainmaker.org-20210407153351-x86_64.tar.gz

├── chainmaker-v2.0.0-wx-org4.chainmaker.org-20210407153351-x86_64.tar.gz

└── crypto-config-20210407153351.tar.gz

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

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

  1. 解压启动节点

解压

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

进入bin目录

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

启动

./start.sh

  1. 查看节点启动使用正常
  1. 查看进程是否存在
ps -ef|grep chainmaker | grep -v grep
  1. 查看端口是否监听
netstat -lptn | grep 1230
  1. 检查节点是否有ERROR日志

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

$ cat ./bin/panic.log

$ cat ./log/system.log

$ cat ./log/system.log |grep "ERROR\|put block\|all necessary"

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的梧桐述

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值