本教程脚本运行环境需要在 Linux 系统中进行,系统版本要求请见:硬件需求

1.3.1. 下载物料包

cd ~ #使用 root 作为起始工作目录

git clone https://github.com/TianXuan-Chain/thanos-package-generate.git #拉取物料包

cd ./thanos-package-generate #进入工作目录

1.3.2. 主要配置

找到 config.ini 文件。

vim config.ini #修改配置文件

1.3.2.1. [chain-nodes] 配置项

找到 [chain-nodes] 部分的配置,初始化服务器和节点的数量

[chain-nodes]
# 格式为 : nodeIDX=p2p_ip listen_ip num agent
# IDX为索引, 从0开始增加.
# p2p_ip     => 服务器上用于p2p通信的网段的ip,多数时候都是公网ip.
# private_ip => 服务器的内网ip
# listen_ip  => 服务器上的监听端口, 用来接收rpc、channel的链接请求, 建议默认值为"0.0.0.0".
# num        => 在服务器上需要启动的节点的数目.
# agent      => 机构名称, 若是不关心机构信息, 值可以随意, 但是不可以为空.
# node0 = 111.111.111.111 10.10.0.1  0.0.0.0  1  agent

node0=101.35.234.166  10.0.16.7  0.0.0.0  1  agency

如果只用作测试需求,建议只运行一个节点即可。

# 单节点示例配置如下,请修改后使用
node0=101.35.234.166  10.0.16.7  0.0.0.0  1  agency

如果想要部署多节点网络,按照下面格式配置即可。

# 多节点示例配置如下,请修改后使用
node0=101.35.234.166  10.0.16.7  0.0.0.0  2  agency
node1=101.44.225.133  10.0.11.5  0.0.0.0  1  agency1

上面配置中初始设置两个服务器 agencyagency1,其中 agency 上运行两个节点,agency1 上运行一个节点,一共三个节点。

1.3.2.2. [chain-ports] 和 [gateway-ports] 配置项

一般使用默认值即可。但需要在服务器对应安全组中打开,并注意以下两个事项:

  • 如果一台服务器上启动多个节点,节点使用的端口会以默认端口为基准往后递增 1
  • 检查默认配置的端口在服务器上是否被占用,如被占用则需要修改,Linux 系统可使用 sudo netstat -tlnp | grep 端口号 命令查询

该部分配置与 服务器端口开放要求 部分相对应。

# 端口配置, 一般不用做修改, 使用默认值即可.
[chain-ports]
peer_discovery_port = 30303    #p2p端口
peer_rpc_port = 9080    #rpc端口
listen_gateway_port = 7580    #监听gateway的端口,用于接收交易

[gateway-ports]
peer_rpc_port = 100    #peer_rpc端口,用于gateway之间互发消息
web3_rpc_port = 8180    #web3_rpc_port端口,用于向web3sdk提供rpc接口服务
web3_http_port = 8580    #web3_http_port端口,用于向web3sdk提供http接口服务
listen_chain_port = 7180    #监听chain的端口,用于接收共识完成的区块

1.3.3. 生成安装包

配置修改好后,在项目目录下,执行以下命令。

bash build_chain.sh build

中间会有 thanos-commonthanos-gatewaythanos-chain 等模块的下载和 Maven 打包,需要等待片刻。当前目录下生成 build 目录后,表明脚本执行成功。

查看生成的 build 目录结构(配置了多服务器多节点时)。

tree -L 1 build
build
├── 101.35.234.160_agency.tar.gz
├── 43.130.226.84_agency.tar.gz
└── follow

其中,101.35.234.160_agency.tar.gz43.130.226.84_agency.tar.gz 即为节点的安装包。

将压缩包上传到 Ip 对应的服务器上,就可以进行节点的安装和运行即可。

1.3.4. 其他配置说明

注:下面介绍的相关配置,没有必要不需要改动

1.3.4.1. [common] 配置项

配置一些基础信息

  • 指定天玄链相关库的 github 地址,便于拉取代码
  • 打包 jar 后的存放路径 (可以不配置)
[common]
# 物料包拉取thanos-common/chain和gateway源码的github地址.
common_github_url = https://github.com/TianXuan-Chain/thanos-common.git
chain_github_url = https://github.com/TianXuan-Chain/thanos-chain.git
gateway_github_url = https://github.com/TianXuan-Chain/thanos-gateway.git

# 物料包拉取天玄链源码之后, 会将源码保存在本地的目录, 保存的目录为thanos-common,thanos-chain,thanos-gateway
# chain_src_local = /root/src

# 源码打成jar包的本地存放地址
# jar_local_path=/root/jar

1.3.4.2. [tls] 和 [crypto] 配置项

国密和密钥算法相关配置。

[tls]
gm_tls_open = false    #tls是否使用国密,如不使用,则采取传统ECDSA。
gateway_need_tls = false    #gateway是否需要开启tls

[crypto]
secure_key_type = ECDSA    #节点公私钥对的生成算法 ECDSA 或 ED25519 或 SM
sharding_number = 1    #节点所属分片号,保持默认为 1 即可
cipher_key_type = AES    #节点对称密钥的算法算法:AES 或 SM4

1.3.4.3. [maven-repo] 配置项

注意:该配置暂时已废弃,目前可忽略。

Maven 私库配置,可以将打包好的 jar 包上传到私有库中,对应的 Maven 配置文件里也需配置相应的 Maven 私库以及凭证信息。

# mvn私库配置
[maven]
release_url=""
release_repositoryId=""
snapshot_url=""
snapshot_repositoryId=""
Copyright © netease 2024 all right reserved,powered by Gitbook文档修订时间: 2024-10-12 17:03:52

results matching ""

    No results matching ""