快速入门

如果您还没有完成上一篇中提到的所有准备工作, 请先完成它们,再继续下一步的操作。本快速入门告诉您如何从源代码构建Hyperchain,如何启动一个Hyperchain集群。

编译Hyperchain

拉取代码

克隆代码到您的GOPATH工作目录下:

  1. mkdir -p $GOPATH/src/github.com/hyperchain
  2. cd $GOPATH/src/github.com/hyperchain
  3. git clone https://github.com/hyperchain/hyperchain

编译代码

请确保您已经安装了正确的Go工具,如有问题,请参见准备工作.

编译Hyperchain:

  1. cd $GOPATH/src/github.com/hyperchain/hyperchain
  2. govendor build

您也可以执行 go build来编译。

启动 Hyperchain

由于Hyperchain集群需要至少4个节点建立一个BFT系统,我们建议用以下几种模式启动Hyperchain节点:

  • 单服务器模式 - 本地运行4个节点
  • 多服务器模式 - 多服务器运行4个节点

单服务器模式 - 本地运行4个节点

我们提供了一个工具脚本名为local.sh, 可以用来快速部署运行本地4个Hyperchain节点。

  1. cd $GOPATH/src/github.com/hyperchain/hyperchain/scripts
  2. ./local.sh

如果脚本输出以下信息,说明Hyperchian节点已经正常运行了。

  1. $./local.sh
  2. ...
  3. ...
  4. start up node 1 ... done
  5. start up node 2 ... done
  6. start up node 3 ... done
  7. start up node 4 ... done

多服务器模式 - 多服务器运行4个节点

SSH免密通路

因为我们使用的server.sh工具脚本在执行ssh操作时,会提示输入远程服务器 的密码,所以我们建议您打通与远程服务器之间的SSH免密通路。

  1. 本地节点生成SSH秘钥对,密码请设置为空:
  1. ssh-keygen
  2.  
  3. Generating public/private key pair.
  4. Enter file in which to save the key (/home/hyperchain/.ssh/id_rsa):
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /home/hyperchain/.ssh/id_rsa.
  8. Your public key has been saved in /home/hyperchain/.ssh/id_rsa.pub.

2. 将SSH公钥拷贝到 Hyperchain 节点, 请用您远程服务器上的用户名代替以下命令中的 {username}

  1. ssh-copy-id {username}@node1
  2. ssh-copy-id {username}@node2
  3. ssh-copy-id {username}@node3
  4. ssh-copy-id {username}@node4

分发部署 Hyperchain

我们提供了一个工具脚本名为server.sh, 可以用来快速分发到4个节点部署运Hyperchain。

1. 首先请您将4台服务器的IP地址填入到 hyperchain/scripts目录下的serverlist.txt文件中。

格式如下所示:

  1. $ cat $GOPATH/src/github.com/hyperchain/hyperchain/scripts/serverlist.txt
  2. 172.16.1.101
  3. 172.16.1.102
  4. 172.16.1.103
  5. 172.16.1.104
  1. 使用server.sh启动远程多个Hyperchain节点。
  1. cd $GOPATH/src/github.com/hyperchain/hyperchain/scripts
  2. ./server.sh

如果脚本输出以下信息,说明Hyperchian节点已经正常运行了。

  1. $./server.sh
  2. ...
  3. ...
  4. start up node 1 ... done
  5. start up node 2 ... done
  6. start up node 3 ... done
  7. start up node 4 ... done