导读: 社区开发者在开发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

作者:感谢HPB Wallet 开发团队整理供稿。

更多技术咨询

1.如果你想了解更多关于HPB的技术信息,请访问我们的GitHub WiKi:

HPB WiKi of GitHub

2.如果你想获得更多HPB信息,请关注我们的官方网站:

HPB Website


汪晓明
7 声望6 粉丝

HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南...