查看原文
其他

Mina Docs|连接到网络

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



更新您的软件


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


Ubuntu 18.04 / Debian 9

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

sudo apt-get remove -y mina-testnet-postake-medium-curvesecho "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/mina.listsudo apt-get updatesudo 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 daemon  进程,然后继续阅读:


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-reloadsystemctl --user start minasystemctl --user enable minasudo 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 ~/keyschmod 600 ~/keys/my-walletmkdir ~/.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 ,。



检查连接


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

mina client status

请注意

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


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



提高你的水平


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


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



全球最轻量区块链 人人皆可参与

公众号|Mina Protocol Official

微 博|Mina_Protocol





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存