HPB 同步节点搭建指导

优质
小牛编辑
128浏览
2023-12-01

导读: 社区开发者在开发HPB DAPP的时候首先面临的就是如何接入HPB主网的问题,本文介绍了同步节点的搭建过程,本文基于Ubuntu 16.04搭建,同步节点可发起交易,进行区块同步,但不能进入候选节点、高性能节点的选举,也不能出块,可作为DAPP应用的接入节点。

进行同步节点搭建时您有以下两种方式选择:

(1) 方式一:通过源代码进行节点搭建,选择此种搭建方式需要具备一定软件编程基础。了解编译过程。本方式需要首先完成GO编译环境安装,然后按照源代码搭建步骤及示例进行;

(2) 方式二:通过HPB可执行文件进行节点搭建。本方式直接按照可执行文件搭建步骤及示例进行。

注意:

1.HPB程序必须以ROOT权限运行。

2. 任何与账户密码相关的操作不要委托他人操作,以免密码泄露。

3. 启动节点必须用户本人操作以防止密码泄露。

1. 检查网络连接

进行节点搭建前,用户需要检查服务器的网络连接,分别输入以下五个命令,以检测服务器连接bootnode的过程中是否存在延迟、丢包现象。

编号命令节点位置
1ping -c 200 47.254.133.46德国
2ping -c 200 47.94.20.30北京
3ping -c 200 47.88.60.227硅谷
4ping -c 200 47.75.213.166香港
5ping -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