Mina 文档 - 使用Mina之连接网络

  • MinaFans
  • 更新于 2021-12-06 18:53
  • 阅读 2384

Mina 开发者文档

3.2 连接到网络

在本节中,我们将连接到主网网络并发送我们的第一个交易。让我们首先启动节点,然后开始发出命令。

更新您的软件

连接到主网的第一步是安装最新的守护程序版本。请按照下面的操作系统说明操作。

Ubuntu 18.04 / Debian 9

首先删除旧的守护程序,防止在升级新版本时出现错误。然后可以通过下面的指令安装最新版本:

sudo apt-get remove -y mina-testnet-postake-medium-curves
echo "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.1.5-a42bdee

通过运行mina version检查守护进程是否正确安装。输出应该是Commit a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a on branch master.

启动节点

由于这种技术仍然相对较新,在一些罕见的情况下,您的节点可能会遇到一些问题。我们不希望您的节点被破坏,您却还没有意识到这个问题! 因此,我们为您制作了一些官方支持的自动重启流程。我们将在未来的版本中迭代这些内容。

首先,在使用自动重启流之前,我们将手动运行它,以确保一切正常运行。

注意:如果您使用的是赫兹纳(Hetzner)主机,那么我们目前正在经历这样的问题,我们的软件被赫兹纳(Hetzner)认为是恶意的。请参阅“故障诊断”页面的“网络”部分,来了解如何在启动节点之前缓解此问题。

运行以下命令启动一个Mina节点实例并连接到现有网络:

mina daemon --generate-genesis-proof true --peer-list-url https://storage.googleapis.com/mina-seed-
lists/mainnet_seeds.txt

如果您有一个带有质押的密钥,并且希望生成区块,在启动程序时请提供参数--block-producer-key /keys/my-wallet,如果不是默认值,则用您的私钥路径替换/keys/my-wallet。

上面指定的-peer-list参数指的是种子对等地址——这是我们将在网络上连接到的初始对等节点。因为Mina是一个点对点协议,所以我们并不依赖单一的集中式服务器。

请参阅此处了解首次运行节点时的常见问题。

您还没做完呢!现在您已经通过运行独立进程确认了一切正常,重要的是我们要以一种会在故障时自动重启的方式启动Mina。

首先用Ctrl-C关闭现有的Mina守护进程,然后继续阅读:

Ubuntu 18.04 / Debian 9

确保您注册的私钥位于~/keys/my-wallet。

添加一个文件~/.mina-env包含以下内容:

CODA_PRIVKEY_PASS="private key password"

EXTRA_FLAGS=" --file-log-level Debug"

您可以在合适的时候在EXTRA_FLAGS中添加额外的标记。

Mina将在一个名为~/peers.txt的文件中寻找它的对等节点,运行以下命令创建它:

curl https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt > ~/peers.txt

然后运行以下命令启动一个Mina节点实例并连接到现有网络:

systemctl --user daemon-reload

systemctl --user start mina

systemctl --user enable mina

sudo loginctl enable-linger

这些命令将允许节点在退出后继续运行,并在计算机重新启动时自动重新启动。

默认情况下,节点使用默认的8302外部端口连接网络。这可以使用-external-port标志来更改,您只需将其添加到EXTRA_FLAGS中即可。

您还可以查看在后台运行并自动重启的Mina进程本身。

这个命令会让您知道Mina在开始时是否有任何问题。

systemctl --user status mina

您可以停止Mina,并停止自动重启服务:

systemctl --user stop mina

手动重新启动它:

systemctl --user restart mina

查看日志:

journalctl --user -u mina -n 1000 -f

在某些情况下,为了查看日志,您需要执行以下命令:

journalctl --user-unit mina -n 1000 -f

该命令将显示最后1000行并从那里进行跟踪。

Docker

当使用Docker运行您的守护进程时,首先要确保您的私钥具有正确的权限。

cd ~

chmod 700 ~/keys

chmod 600 ~/keys/my-wallet

mkdir ~/.mina-config

​ 现在只需使用密钥和安装的~/mina-config来运行镜像:

docker run --name mina -d \

-p 8302:8302 \

--restart=always \

--mount "type=bind,source=`pwd`/keys,dst=/keys,readonly" \

--mount "type=bind,source=`pwd`/.mina-config,dst=/root/.mina-config" \

-e CODA_PRIVKEY_PASS="YOUR PASSWORD HERE" \

minaprotocol/mina-daemon-baked:1.1.5-a42bdee \

daemon \

--block-producer-key /keys/my-wallet \

--insecure-rest-server \

--file-log-level Debug \

--log-level Info \

--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt

运行docke logs -f mina并查看日志,如果它崩溃了,请将日志输出保存到文件docker logs mina > mina-log.txt和将输出内容公布在 # mentor-nodes频道或将完整的~ / .mina-config/mina.log附加到一个代码托管网站中,并在Discord中讨论这个问题。

运行docker exec -it mina mina client status 来监控网络的连接,您应该很快就会找到至少10个对等节点,并可以观察区块高度/最大观察区块高度的增加。

请注意

如果你在尝试运行Docker容器时遇到[Warn] Shutdown before Coda instance was created, not saving a visualization, 请增加Docker容器被允许使用的资源.

检查连接

现在我们已经启动了一个节点并运行了Mina守护进程,打开另一个shell并运行以下命令:

mina client status

请注意

当第一次启动时,mina client status连接到守护进程可能需要一分钟。所以如果您看到Error: daemon not running,See mina daemon,然后稍等一下,再试一次。由于我们使用mina client status命令通信的方式有点特别,如果您正在使用Sandbox节点的话,您需要在容器内部运行mina client status:

docker exec -it mina bash

我们很有可能将看到一个包括以下字段的回应:

...

Peers:                     Total: 4 (...)

...

Sync Status:                  Bootstrap

如果您看到Sync Status: Bootstrap,这意味着节点正在引导,需要与网络的其他部分同步。在这里,您可能需要耐心,因为这一步可能需要节点花费一些时间来获得所需的所有数据。

一段时间后,您的节点应该连接到更多的对等节点,然后状态应该变为Sync Status: Catchup,这意味着我们正在收集最近的区块和状态从而试图赶上最高的区块。

当同步状态达到Synced且节点连接到一个或多个对等节点时,我们将成功连接到网络。同步后,我们也会看到相应的守护进程日志:[Info] Mina daemon is now synced.

如果引导状态持续了一个多小时,那么端口配置可能有问题。

提高你的水平

现在我们有了一个完全同步的节点,我们可以了解这个守护进程的一些更高级的特性,比如支付质押和委托。如果您想赚更多的代币,请查看基金会委托项目

测试网点数是专为追踪对测试网的贡献而设计的,测试网点数没有现金或其他货币价值。测试网点数不可转让,不可兑换或交换任何加密货币或数字资产。我们可以随时修改或删除测试网点数。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
MinaFans
MinaFans
minafans.tech