100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 区块链xuperchain ubuntu多机多节点 single共识 部署教程

区块链xuperchain ubuntu多机多节点 single共识 部署教程

时间:2019-06-06 20:42:27

相关推荐

区块链xuperchain ubuntu多机多节点 single共识 部署教程

一、环境

1. Ubuntu虚拟机4台

2. 安装golang

版本为1.11或更高

因为sudo apt install golang目前安装的版本是1.10,所以需要通过手动安装,若之前已经通过apt安装了golang,则可以参考ubuntu apt 卸载 golang_软件工程小施同学 的专栏-CSDN博客_apt 卸载golang卸载。

#下载wget /go/go1.15.3.linux-amd64.tar.gz#解压sudo tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz#建立软连接sudo ln -s /usr/local/go/bin/* /usr/bin/#设置环境变量sudo vim ~/.bashrc

在文件末尾插入下面2行,保存退出

export GOPATH="$HOME/go"export PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"

#使配置文件生效source ~/.bashrc

测试是否安装成功

go version

查看环境变量

go env

3.安装git

sudo apt-get install git# 查看是否安装成功git --version

4. 安装gcc

GCC版本需要升级到4或5以上,可以先gcc --version查看是否已经安装及其版本。

sudo apt-get updatesudo apt-get install build-essentialgcc --version

二、安装XuperChain

1. 编译XuperChain

只需要在一台机器上进行编译,然后拷贝到其它机器

1.1 在node1编译

#创建一个xuper文件夹作为工作目录mkdir ~/xupercd ~/xuper#使用git下载源码到本地git clone/xuperchain/xuperchain.git#编译cd src//xuperchain/xuperchainmake

若报错:

"//%21burnt%21sushi/toml/@v/v0.3.1.mod": dial tcp 216.58.200.49:443: connect: connection refused

Makefile:22: recipe for target 'build-release' failed

则可以换一个国内能访问的代理地址,执行命令:

go env -w GOPROXY=

重新执行编译。

在output目录下,主要目录有data, logs, conf, plugins等, 二进制文件有xchain,xchain-cli

各目录的功能如下表:

1.2 将output文件夹拷贝到其它机器

在其它机器(node2,3,4)新建目录

mkdir -p ~/xuper/xuperchain/

将node1中的output文件夹发送到其它机器

scp -r /home/shijianfeng/xuper/xuperchain/output/ shijianfeng@192.168.92.130:~/xuper/xuperchain/scp -r /home/shijianfeng/xuper/xuperchain/output/ shijianfeng@192.168.92.131:~/xuper/xuperchain/scp -r /home/shijianfeng/xuper/xuperchain/output/ shijianfeng@192.168.92.132:~/xuper/xuperchain/

2.部署xchain服务

2.1创建区块链

在node1节点创建区块链

在启动xchain服务之前,我们首先需要创建一条链(创世区块),xchain客户端工具提供了此功能

cd ~/xuper/xuperchain/output/# 创建xuper链./xchain-cli createChain

使用 config/xuper.json 中的配置创建了一条链(此时 data/blockchain 中会生成 xuper 目录,里面即是我们创建的链的账本等文件)

启动该节点

# 启动服务节点nohup ./xchain &

2.2指定bootNode节点

首先需要有一个节点作为“bootNode”,其他节点启动前都配置这个“bootNode”的地址即可实现

对于bootNode节点,我们需要先获取它的netURL,具体命令如下:

./xchain-cli netURL get -H 192.168.92.129:37101

如此我们会获得一个类似于/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e样式的返回。

使用时将上述命令中的127.0.0.1改为机器的实际ip192.168.92.129

2.3生成其它节点的私钥与netURL

在每个节点目录中分别进行操作

cd ~/xuper/xuperchain/output/./xchain-cli account newkeys -f./xchain-cli netURL gen

2.4修改其它节点的配置

对其他的节点,我们需要修改其服务配置conf/xchain.yaml中p2p一节

vim conf/xchain.yaml

p2p:module: p2pv2// port是节点p2p网络监听的默认端口port: 47101// 节点加入网络所连接的种子节点的链接信息,bootNodes:- "/ip4/192.168.92.129/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e"

2.5启动其它节点

修改完配置后,即可在每一个节点使用相同配置创建链,然后分别启动bootNode和其他节点,即完成了多节点环境的部署

# 启动服务节点nohup ./xchain &

3. 确认服务状态

可以在各个节点,另其一个命令行窗口,使用系统状态的命令检查环境是否正常

./xchain-cli status -H 192.168.92.129:37101

多次执行上面的命令,如果trunkHeigh变化,则代表区块链启动成功。

通过变更 -H 参数,查看每个节点的状态,若所有节点高度都是一致变化的,则证明环境部署成功

三、基本功能使用

1. XuperChain环境部署 — xuperchain-doc 文档

参考

1. XuperChain环境部署 — xuperchain-doc 文档

2. 多节点部署 — xuperchain-doc 文档

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。