MIna 开发者文档

4.3 区块生产者Sidecar

为了维持各种赠款和基金会委托项目的资格,您必须使用守护进程运行一个Sidecar来报告节点正常运行时间。

如果一个授权或特定的程序要求您保持节点在线,您必须运行一个小的Sidecar程序,它将报告守护进程的正常运行时间。本教程将带领您完成Sidecar程序的安装、配置和运行过程。

安装

Sidecar是一个可以单独安装在Debian/Ubuntu上的包,也可以与Docker解决方案一起运行。

Debian / Ubuntu

使用apt包管理器安装Sidecar。

sudo apt-get install -y mina-bp-stats-sidecar=1.1.5-a42bdee

这将安装以下文件:

1./usr/local/bin/mina-bp-stats-sidecar (mina Sidecar程序)

2./etc/mina-sidecar.json (mina Sidecar的配置文件)

3./etc/systemd/system/mina-bp-stats-sidecar.service(systemd配置将其作为服务运行)

我们将需要用正确的参数更新配置文件。因此,请使用您喜欢的编辑器来替换/etc/mina-sidecar.json中如下内容:

{  "uploadURL": "https://us-central1-mina-mainnet-303900.cloudfunctions.net/block-producer-stats-ingest/?token=72941420a9595e1f4006e2f3565881b5",  "nodeURL": "http://127.0.0.1:3095" }
Docker

如果您正在使用docker,您可以拉取我们将在下一节中运行的最新映像。

docker pull minaprotocol/mina-bp-stats-sidecar:latest

接下来,我们将需要设置配置文件,在本教程中,我们将假设您使用的是Linux系统。

我们需要创建一个带有正确参数的配置文件。因此,请替换~/mina-sidecar-config.json中如下内容:

{  "uploadURL": "https://us-central1-mina-mainnet-303900.cloudfunctions.net/block-producer-stats-ingest/?token=72941420a9595e1f4006e2f3565881b5",  "nodeURL": "http://mina:3095" }

我们将在下一步中把这个文件传递到Docker容器中。

使用

这个Sidecar将需要与正在运行的守护进程进行交互,所以您首先需要启动守护进程。您将需要使用--limited-graphql-port 3095参数去运行守护进程,以便Sidecar能够与守护进程交流。更多的说明可以在连接页面上找到。

Debian / Ubuntu

首先,确保守护进程运行在同一台机器上,参数是--limited-graphql-port 3095

(可选) 在重启时启用Sidecar服务,您可以使用:

sudo systemctl enable mina-bp-stats-sidecar

然后手动启动Sidecar服务,使用以下命令:

sudo service mina-bp-stats-sidecar start

您可以检查它是否正在运行,并使用service mina-bp-stats-sidecar status查看最新的日志。

如果您想从Sidecar服务中获取日志,您可以使用journalctl

journalctl -f -u mina-bp-stats-sidecar.service
Docker

首先,您需要为守护进程和Sidecar容器创建一个网络:

docker network create mina-network

接下来,您需要使用传递给docker的 --network mina-network区开启守护进程以及将的一些新标记--open-limited-graphql-port --limited-graphql-port 3095传递给守护进程。

使用以下命令,启动docker容器:

docker run  --name mina-sidecar  --network mina-network  --restart=always -d  -v $(pwd)/mina-sidecar-config.json:/etc/mina-sidecar.json  minaprotocol/mina-bp-stats-sidecar:latest

可以使用docker logs命令查看日志:

docker logs -f mina-sidecar

故障排除

如果您在运行sidecar的时候得到了400:

INFO:root:Fetching block 2136... INFO:root:Got block data ERROR:root:HTTP Error 400: Bad Request  -- TRACEBACK --  ERROR:root:Sleeping for 30s and trying again

这很可能意味着您将数据发送到了接收管道,而没有在您的Mina节点上配置任何区块生产者密钥-因为您的BP密钥是您的身份,所以我们不能接受节点数据,因为我们不知道谁提交了它!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注