安装

本章介绍天玄节点应用所需的必要安装和配置。本章通过在单机上部署一条天玄测试链,来帮助用户掌握部署流程。

硬件要求

配置
最低配置
推荐配置

CPU

1.5GHz

2.4GHz

内存

2GB

4GB

核心数

2核

4核

网络带宽

1Mb

10Mb

操作系统

CentOS (7及以上 64位) 或 Ubuntu(18.04 64位)

JAVA

JDK 1.8

天玄链安装搭建

前置依赖软件

GmSSL-v2 的安装流程如下

# 注意需要安装 GmSSl-2.0,当前 GmSSL 最新代码为 3.0,需要指定 2.0 版本
git clone --branch GmSSL-v2 --single-branch https://github.com/guanzhi/GmSSL.git
cd GmSSL/
./config
make
sudo make install
sudo cp libcrypto.so.1.1 libssl.so.1.1 /lib64

由于gmssl默认安装在usr/local/bin路径下,如果当前linux系统的$PATH变量不包含该路径,需要添加

执行完成后,输入gmssl version查询版本号,如果顺利返回,说明gmssl安装完成。

创建操作目录

创建当前链节点的操作目录,以node0为例。

然后在节点目录下创建 database,logs 和 resource 子目录。其中,database 目录用于存放节点身份信息配置、创世块配置 以及 生成的链区块;logs 目录用于存放链执行日志;resource 目录用于存放节点的总配置文件。

还需在 resource 目录下创建 tls 文件夹,用于放置证书等文件

添加可执行文件

获取可执行文件 thanos-chain.jar(获取方式见 获取可执行文件),并放在节点操作目录下,如 ~/thanos-chain/node0/

创建链证书和机构证书

在配置节点前,需要先准备好链证书、机构证书和机构私钥等信息,用于签发节点证书。具体证书说明见:证书说明

链和机构证书的创建流程如下:

1)创建当前链的证书目录

2)添加证书配置文件3)创建链私钥、证书和机构私钥、证书 cert.cnf , 内容如下

3)创建链私钥、证书和机构私钥、证书(按需求选择国密或者非国密)

配置单节点

本节主要以node0节点为例,介绍如何进行节点信息配置,包括节点身份信息、网络端口配置等。其他节点的配置流程相同。

创建节点密钥及证书

在 ~/thanos-chain/ca 目录下,执行如下命令,生成指定算法的节点密钥,并使用机构私钥签发节点证书。

将生成的node0节点的密钥及证书添加至~/thanos-chain/node0/resource/tls 目录下。

添加节点配置

本节主要介绍节点部署需要添加的配置。配置文件中各配置项的具体含义参见 thanos-chain配置说明

1)在 ~/thanos-chain/node0/resource/ 目录下 添加节点的总配置文件 thanos-chain.conf 和日志管理配置 chain-logback.xml。

thanos-chain.conf内容如下。注意,涉及路径的配置项必须是绝对路径

chain-logback.xml内容如下:

3)在~/thanos-chain/node0/database/目录下 添加节点身份配置文件 nodeInfo.properties 和 创世块配置文件genesis.json。

在配置 nodeInfo.properties 前,需要先为节点生成 privateKey 和 id ,请先找到并进入 thanos-common.jar 所在的目录,并执行以下指令

打开 node.private 文件,会看到如下信息:

而后,配置 nodeInfo.properties 文件,替换 nodeIdPrivateKey 和 nodeId 部分。

注意:在配置 nodeInfo.properties 文件时,内容最好手动输入,否则在读取配置的时候可能会出现编码问题,nodeIdPrivateKey 和 nodeId 的值可以复制粘贴。否则,在运行节点时可能会遇到如下错误:

genesis.json 内容如下,其中 validatorVerifiers 为组网节点身份信息,key 为节点公钥,value 为节点身份信息。请替换 validatorVerifiers 中第一个条目的 key 为 node.private::publicKey 对应的值。

至此,单节点配置完成,可以启动。启动方法为:在节点目录下(~/thanos-chain/node0/),运行如下指令启动节点:

如果运行时遇到如下报错:

需要手动将 bcprov-jdk15on-1.66.jar 包放置到 $JAVA_HOME/jre/lib/ext 目录下,可从此处下载:https://github.com/TianXuan-Chain/thanos-package-generate/blob/main/dependencies/jar/bcprov-jdk15on-1.66.jar

配置多节点

当多个节点进行组网时,需要完成以下操作:

1)配置所有节点

重复 配置单节点 的步骤完成各共识节点的配置。

2)修改所有节点的 genesis.json 配置文件

配置每个节点的 genesis.json 文件中的 validatorVerifiers 字段,使其包含所有组网节点的公钥和身份信息。举例如下,假设组网节点由3个节点组成,其节点信息如下:

则需要配置这三个节点的 genesis.json 中的 validatorVerifiers 字段,内容如下。该字段包含所有共识节点的公钥和身份信息(key为节点公钥,value为节点身份信息)。

Last updated