导读: 社区开发者在开发HPB DAPP的时候首先面临的就是如何接入HPB主网的问题,本文介绍了开发者节点的搭建过程,本文基于Ubuntu 16.04搭建,开发节点相当于轻节点,可发起交易,进行区块同步,但不能进入候选节点、高性能节点的选举,也不能出块,可作为DAPP应用的接入节点。
进行开发节点搭建时您有以下两种方式选择:
(1) 方式一:通过源代码进行节点搭建,选择此种搭建方式需要具备一定软件编程基础。了解编译过程。本方式需要首先完成GO编译环境安装,然后按照源代码搭建步骤及示例进行;
(2) 方式二:通过HPB可执行文件进行节点搭建。本方式直接按照可执行文件搭建步骤及示例进行。
注意:
- HPB程序必须以ROOT权限运行。
- 任何与账户密码相关的操作不要委托他人操作,以免密码泄露。
- 启动节点必须用户本人操作以防止密码泄露。
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
作者:感谢HPB Wallet 开发团队整理供稿。
更多技术咨询
1.如果你想了解更多关于HPB的技术信息,请访问我们的GitHub WiKi:
2.如果你想获得更多HPB信息,请关注我们的官方网站:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。