• 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目录,继续输入
    
    1
    
    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目录后,继续输入

    1
    
    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后继续输入命令:

    1
    
    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目录;

    ​ 继续输入

    1
    
    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目录;

    继续输入

    1
    
    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后继续输入命令:

    1
    
    sudo ./ghpb attach http://127.0.0.1:8545
  • 相关阅读:
    IntelliJ Idea和IntelliJ webstrm 常用快捷键
    mybatis基础学习2---(resultType和resultMap的用法和区别)和setting的用法
    使用观察者模式观察线程的生命周期
    观察者设计模式介绍
    java的内存模型及缓存问题
    一个解释volatile关键字作用的最好的例子
    多线程的waitset详细介绍
    浅谈单例模式
    SimpleThreadPool给线程池增加自动扩充线程数量,以及闲时自动回收的功能
    SimpleThreadPool给线程池增加拒绝策略和停止方法
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313380.html
Copyright © 2020-2023  润新知