建立私有链-统计服务构建篇
首先
这篇文章是关于在Symbol区块链上构建私有链系列的第一部分。
在官方文档中也有关于构建私有链的说明。
根据官方文档参考,可以使用Symbol-bootstrap来搭建私有测试网。
不过,官方文档只介绍了节点的搭建方法,并未提供关于资源管理器等周边工具的整备。
我希望在这个系列中能够介绍一下关于搭建私链节点、但无法使用浏览器和钱包等会带来各种不便的方法。
系列介绍
它会定期从网络节点收集信息,并生成和提供节点总数、正常性、地理分布等信息。
该浏览器支持在特定网络上搜索交易、账户、命名空间、马赛克和区块信息。
在这里,我们将使用一种工具从零开始创建配置文件,而不是在Symbol-bootstrap内集成的私有测试网络以更实际的方式进行。
由于桌面钱包可以用作Mac、Windows和Web应用程序,因此本文将基于Web访问的形式进行介绍。
先决条件的知识
希望每个人都具备至少最低限度的知识。
-
- Linuxを扱ったことがある
-
- Docker、docker-composeが扱える(基本的にコマンドが叩ければOKです)
- ドメインやSSL(TLS)についての知識がある
第一部分:统计服务建设篇
那么,接下来我们要构建statistics-service,但首先我们先简单解释一下Statistics Service是什么。
statistics-service是什么?
符号统计服务
该服务定期从网络节点中收集信息,生成有用的度量和洞察。这些度量和洞察可以包括节点总数、节点健康情况或者它们的地理分布。
当使用DeepL翻译Statistics Service的说明时,翻译如下。
符号统计服务: 定期从网络节点收集信息,生成有用的指标和洞察,例如节点总数、健康状态和地理分布等。
就是说,我们需要定期巡回Symbol节点并收集信息的工具。
顺便提一下,统计服务提供以下的API。
为什么要建立统计服务?
为什么要构建Statistics Service呢?因为Symbol Explorer正在使用这项服务。
当前的Explorer没有Statistics Service无法运行(虽然有一种复杂的方法可以运行,但很麻烦)。
统计服务的构建方法
那么,现在我们将实际搭建统计服务。
必要的事情 de
-
- サーバー(ローカル環境でも可)
-
- Docker及びdocker-composeが実行出来ること
-
- gitが使えること
- ドメイン(なくても可)
通过指定标签获取源代码(截至2022年12月 版本号为v1.1.9)。
$ git clone https://github.com/symbol/statistics-service.git -b v1.1.9
安装模块
cd statistics-service
npm install
按照公式步骤,似乎可以通过npm run dev启动工具,但是这种方法无法实现工具的持久化,所以将参考Docker设置,在Docker中实现工具的持久化。
按照README.md的步骤构建镜像是可以的,但由于官方镜像已在Docker Hub上发布,您也可以使用官方镜像,这样也没有问题。如果使用官方镜像,可以跳过模块的安装等步骤,没关系。
如果要手动从源代码构建图像,请使用以下命令。
$ cd statistics-service
$ docker build -t symbol-statistics-service:latest .
创建docker-compose.yml文件
symbol-statistics-service使用了MongoDB作为数据库。
在官方的README.md文件中没有提到MongoDB的信息,因此我自己创建了一个。(如果有其他更好的写法,欢迎指正)
version: "3"
services:
mongodb:
environment:
MONGO_INITDB_DATABASE: statistics
container_name: mongodb
restart: always
image: mongo:latest
volumes:
- ../databases/db:/dbdata:rw
app:
container_name: statistics
restart: always
image: symbol-statistics-service:latest
environment:
- PORT=4001
- MONGODB_ENDPOINT=mongodb://mongodb:27017
- NODES=["http://○○.○○.○○.○○:3000,http://○○.○○.○○.○○:3000"]
ports:
- "3003:4001"
depends_on:
- mongodb
填补
...
image: mongo:latest
volumes:
- ../databases/db:/dbdata:rw ※1
...
restart: always
image: symbol-statistics-service:latest ※2
environment:
- PORT=4001
- MONGODB_ENDPOINT=mongodb://mongodb:27017
- NODES=["http://sym-test-03.opening-line.jp:3000"] ※3
...
※1 这是存储从 statistics-service 收集的数据的位置。请指定具有充足存储容量的地方。
※2 图像名称应指定为先前构建的图像或者 DockerHub 上的图像(如果使用官方图像,请指定 symbolplatform/symbol-statistics-service:latest)。
※3 请指定以后创建的私有链节点的URL(目前使用 OpeningLine 先生的测试网节点)。
执行
docker-compose up -d
确认
- サーバーで実行した人
http://サーバーのIPアドレス:3003/nodes
- ローカルPCで実行した人
http://ローカルPCのIPアドレス:3003/nodes
如果能够确认这一点,我认为可以获取到类似于附图所示的信息,证明它已经成功启动。
如果您不需要了,请使用以下命令停止。
docker-compose down
以上就是统计服务构建部分的内容。
下一次,我們將為您帶來Symbol資源探索器的構建部分。