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密钥是您的身份,所以我们不能接受节点数据,因为我们不知道谁提交了它!