长安链ChainMaker多机环境
GO语言安装
下载文件
wget https://golang.google.cn/dl/go1.17.8.linux-amd64.tar.gz
解压文件到 /usr/local
rm -rf /usr/local/go
tar -zxf go1.17.8.linux-amd64.tar.gz -C /usr/local
配置环境变量
vim指令编辑 /etc/profile
vim /etc/profile
在/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
创建/home/gopath。
mkdir /home/gopath
环境变量生效
source /etc/profile
查看Go版本
go version
gcc
检查 gcc 版本
gcc —version
显示结果若 < 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
文件中。
长安链环境搭建
源码下载
git clone https://git.chainmaker.org.cn/chainmaker/chainmaker-go.git
下载证书生成工具源码到本地
git clone -b v2.2.0 https://git.chainmaker.org.cn/chainmaker/chainmaker-cryptogen.git
编译证书生成工具
cd chainmaker-cryptogen
make
将编译好的chainmaker-cryptogen,软连接到chainmaker-go/tools目录
进入工具目录
cd ../chainmaker-go/tools
软连接chainmaker-cryptogen到tools目录下
ln -s ../../chainmaker-cryptogen/ .
进入chainmaker-go/scripts目录
cd ../scripts/
执行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…配置指定端口
切换到生成的配置文件目录
cd ../build/config
此时会有4个节点目录:
node1 node2 node3 node4
- 修改配置文件端口
每个文件夹内有一个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步生成的配置文件中,每个节点的配置文件端口都是不相同的,在单机或者多级环境可以不用修改端口。如需自己指定可以按照上述修改涉及的端口。
- 配置指定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"
- 生成节点安装包
切换回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后重试。
- 解压启动节点
解压
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
查看节点启动使用正常
查看进程是否存在
ps -ef|grep chainmaker | grep -v grep
查看端口是否监听
netstat -lptn | grep 1230
检查节点是否有ERROR日志
进入解压后的配置文件目录,执行:
$ cat ./bin/panic.log
$ cat ./log/system.log
$ cat ./log/system.log |grep "ERROR\|put block\|all necessary"
还没有评论,来说两句吧...