HPB 同步节点搭建指导
导读: 社区开发者在开发HPB DAPP的时候首先面临的就是如何接入HPB主网的问题,本文介绍了同步节点的搭建过程,本文基于Ubuntu 16.04搭建,同步节点可发起交易,进行区块同步,但不能进入候选节点、高性能节点的选举,也不能出块,可作为DAPP应用的接入节点。
进行同步节点搭建时您有以下两种方式选择:
(1) 方式一:通过源代码进行节点搭建,选择此种搭建方式需要具备一定软件编程基础。了解编译过程。本方式需要首先完成GO编译环境安装,然后按照源代码搭建步骤及示例进行;
(2) 方式二:通过HPB可执行文件进行节点搭建。本方式直接按照可执行文件搭建步骤及示例进行。
注意:
1.HPB程序必须以ROOT权限运行。
2. 任何与账户密码相关的操作不要委托他人操作,以免密码泄露。
3. 启动节点必须用户本人操作以防止密码泄露。
1. 检查网络连接
进行节点搭建前,用户需要检查服务器的网络连接,分别输入以下五个命令,以检测服务器连接bootnode的过程中是否存在延迟、丢包现象。
编号 | 命令 | 节点位置 |
---|---|---|
1 | ping -c 200 47.254.133.46 | 德国 |
2 | ping -c 200 47.94.20.30 | 北京 |
3 | ping -c 200 47.88.60.227 | 硅谷 |
4 | ping -c 200 47.75.213.166 | 香港 |
5 | ping -c 200 47.100.250.120 | 上海 |
示例:(仅以编号1为例,其余命令用户均需执行)
输入命令:ping 47.254.133.46后,等命令结束后控制台会输出总结信息,其中“200 packets transmitted”表示发送200次包,“186 received”表示接受186次包,“7% packet loss”表示连接过程中丢包比例为7%;“time 199386ms”表示200次连接总耗时199836ms,“rtt min/avg/max/mdev = 230.439/248.901/290.203/9.397 ms”表示200次连接中最短时间为234.439ms,平均时间为248.901ms,最长时间为290.203ms,平均方差为9.397ms。
提示:如服务器位置与节点位置为相同洲,则丢包现象需为0%、延迟小于100ms才能达标;(如国内服务器连北京或上海节点时,丢包现象应为0%);当为跨洲连接时,丢包现象一般存在,延迟一般不超过300ms,但其达标数值很难界定,当用户对其丢包比例以及延迟现象不确定时,可询问HPB社区工作人员这两项是否达标。
不达标的用户需联系网络服务提供商或者数据中心,解决网络问题。
2. 源代码搭建示例
(1) 步骤1确定程序执行路径 输入sudo mkdir /home/ghpb-bin创建程序执行路径;
其中/home/ghpb-bin可改为指定路径
切换成ROOT用户,根据提示输入ROOT账户密码;
(2) 步骤2 选择下载路径 输入 cd /home/;其中/home/可改为指定路径;
(3) 步骤3 下载HPB主网可执行程序 输入 sudo git clone https://github.com/hpb-project/hpb-release
提示:如果提示go-hpb已存在,则输入命令:rm -rf go-hpb后再下载go-hpb源码。
(4) 步骤4 查看HPB主网可执行程序 输入cd hpb-release/进入hpb-release目录,输入ls命令查看该目录文件,可看到bin、config和README.md三个文件。
(5) 步骤5 拷贝创世文件到执行路径 输入cd config/进入config目录,继续输入sudo cp gensis.json /home/ghpb-bin/**;其中/hone/gphb-bin/为您所设置的程序执行路径。
(6) 步骤6 进入下载路径 输入cd /home/将源码下到home目录下,其中/home/可改为源码下载路径
索引:HPB源代码
(7) 步骤7编译go-hpb 输入cd go-hpb/;继续输入make all编译go-hpb;
(8) 步骤8拷贝程序到执行路径 输入sudo cp build/bin/\ /home/ghpb-bin/*即可; 其中/home/ghpb-bin/为您设置的程序执行路径;
(9) 步骤9 初始化节点 输入cd /home/ghpb-bin/进入程序执行路径;继续输入sudo ./ghpb --datadir node/data init gensis.json,当出现”Successfully wrote genesis state database=chaindata”时,继续下一步;其中/home/ghpb-bin/为您设置的程序执行路径;
(10) 步骤10导出账户 从HPB钱包导出您的账户信息文件,输入cd node/data/后继续输入mkdir keystore即可,输入ls可看到ghpb和keystore两个文件;
按顺序进入路径/home/ghpb-bin/node/data/keystore,将账户信息文件拷入keystore文件夹中;
提示:如果没有权限进入这个目录,输入命令 chmod 777 /home/ghpb-bin -R,之后再重新进入。
(11) 步骤11 新建账户 输入 ./ghpb --datadir node/data account new,稍等片刻根据提示设置新账户的密码,重复输入后将返回新账户地址,用户需记录该地址;
(12) 步骤12启动节点 启动方式一:输入cd /home/ghpb-bin/进入ghpb-bin目录,继续输入
sudo ./ghpb --datadir node/data --networkid 100 --port 3004 --syncmode full --nodetype synnode console;
当出现“Welcome to the GHPB JavaScript console!”信息时,节点启动成功。
(13) 提示:节点间测试带宽的端口号为本地ghpb端口号加100;同步节点防火墙中本地端口(如3004)必须打开,测试带宽端口可不打开,选择启动方式一时,如果用户退出远程服务器或者关掉终端,节点程序将停止运行。
启动方式二:输入cd /home/ghpb-bin/进入ghpb-bin目录后,继续输入
sudo nohup ./ghpb --datadir node/data --networkid 100 --verbosity 3 --syncmode full --rpc --rpcapi hpb,web3,admin,txpool,debug,personal,net,miner,prometheus --nodetype synnode &
然后,按两次回车;
提示:节点间测试带宽的端口号为本地ghpb端口号加100;同步节点防火墙中本地端口(默认为30303)必须打开,测试带宽端口可不打开,等待15s后继续输入命令:
sudo *./ghpb* attach http://127.0.0.1:8545
3. 可执行文件搭建示例
(1) 步骤1确定程序执行路径 输入sudo mkdir /home/ghpb-bin创建程序执行路径;其中/home/ghpb-bin可改为指定路径
切换成ROOT用户:输入su root;根据提示输入ROOT账户密码;
(2) 步骤2 选择下载路径 输入 cd /home/;其中/home/可改为指定路径;
(3) 步骤3 下载HPB主网可执行程序 输入sudo git clone https://github.com/hpb-project/hpb-release 如果提示hpb-release已存在,则输入命令:rm -rf hpb-release后再下载hpb-release文件
(4) 步骤4 查看HPB主网可执行程序 输入cd hpb-release/进入hpb-release目录,输入ls命令查看该目录文件,可看到bin、config和README.md三个文件。
(5) 步骤5 拷贝创世文件到执行路径 输入cd config/进入config目录,继续输入sudo cp gensis.json /home/ghpb-bin/,其中/hone/gphb-bin/为您所设置的程序执行路径。
(6) 步骤6 进入下载路径
输入cd .. ,继续输入cd bin/,进入到bin目录,然后解压HPB主网程序
输入sudo tar zxvf ghpb-vx.x.x.x.tar.gz 命令解压ghpb-vx.x.x.x.tar.gz文件,其中x.x.x.x为HPB软件的最新版本号。
(7) 步骤7修改文件权限:
输入 sudo chmod +x ghpb-v0.0.0.1 -R
(8) 步骤8 拷贝程序到执行路径
输入sudo cp ghpb-vX.X.X.X/\ /home/ghpb-bin/*,其中/home/ghpb-bin/为您设置的程序执行路径;
(9) 步骤9 初始化节点 输入cd /home/ghpb-bin/进入程序执行路径;继续输入sudo ./ghpb --datadir node/data init gensis.json,当出现”Successfully wrote genesis state database=chaindata”时,继续下一步;其中/home/ghpb-bin/为您设置的程序执行路径;
(10) 步骤10 导出账户 从HPB钱包导出您的账户信息文件,创建keystore,输入cd node/data/后继续输入mkdir keystore即可;
输入ls可看到ghpb和keystore两个文件;
(11) 步骤11导入节点 按顺序进入路径/home/ghpb-bin/node/data/keystore,将账户信息文件拷入keystore文件夹中;
提示:如果没有权限进入这个目录,输入命令 chmod 777 /home/ghpb-bin -R,之后再重新进入.
(12) 步骤12 新建账户 输入./ghpb --datadir node/data account new,稍等片刻根据提示设置新账户的密码,重复输入后将返回新账户地址,用户需记录该地址;
(13) 步骤13启动节点
启动方式一:输入cd /home/ghpb-bin/进入ghpb-bin目录;
继续输入
sudo ./ghpb --datadir node/data --networkid 100 --port 3004 --syncmode full --nodetype synnode console;
当出现“Welcome to the GHPB JavaScript console!”信息时,节点启动成功。
提示:节点间测试带宽的端口号为本地ghpb端口号加100;同步节点防火墙中本地端口(如3004)必须打开,测试带宽端口可不打开,选择启动方式一时,如果用户退出远程服务器或者关掉终端,节点程序将停止运行。
启动方式二:输入cd /home/ghpb-bin/进入ghpb-bin目录;
继续输入
sudo nohup ./ghpb --datadir node/data --networkid 100 --verbosity 3 --syncmode full --rpc --rpcapi hpb,web3,admin,txpool,debug,personal,net,miner,prometheus --nodetype synnode &
然后,按两次回车;
提示:节点间测试带宽的端口号为本地ghpb端口号加100;同步节点防火墙中本地端口(默认为30303)必须打开,测试带宽端口可不打开,等待10s后继续输入命令:
sudo ./ghpb attach http://127.0.0.1:8545