建立私有链-统计服务构建篇

首先

这篇文章是关于在Symbol区块链上构建私有链系列的第一部分。
在官方文档中也有关于构建私有链的说明。
根据官方文档参考,可以使用Symbol-bootstrap来搭建私有测试网。
不过,官方文档只介绍了节点的搭建方法,并未提供关于资源管理器等周边工具的整备。

 

我希望在这个系列中能够介绍一下关于搭建私链节点、但无法使用浏览器和钱包等会带来各种不便的方法。

系列介绍

这是一篇关于统计服务的文章。为了有效运行浏览器,需要统计服务。
它会定期从网络节点收集信息,并生成和提供节点总数、正常性、地理分布等信息。

这是一个用于浏览区块链内容的只读Web应用程序。
该浏览器支持在特定网络上搜索交易、账户、命名空间、马赛克和区块信息。
在这一部分,我们将构建一个私有链。
在这里,我们将使用一种工具从零开始创建配置文件,而不是在Symbol-bootstrap内集成的私有测试网络以更实际的方式进行。
Symbol的跨平台客户端是一个用于管理账户、马赛克、命名空间和发行交易的桌面钱包。
由于桌面钱包可以用作Mac、Windows和Web应用程序,因此本文将基于Web访问的形式进行介绍。
第五部分:水龙头建设篇所谓Faucet,即蛇口。它是一种工具,可用于在测试网络等场合分发基准货币。

这一部分我们计划介绍如何使用Symbol-bootstrap来与他人共享设置。(可能会决定不分享)

先决条件的知识

希望每个人都具备至少最低限度的知识。

    • 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

如果能够确认这一点,我认为可以获取到类似于附图所示的信息,证明它已经成功启动。

image.png

如果您不需要了,请使用以下命令停止。

docker-compose down

以上就是统计服务构建部分的内容。

下一次,我們將為您帶來Symbol資源探索器的構建部分。

广告
将在 10 秒后关闭
bannerAds