Share Dialog
Share Dialog

Subscribe to chezhe

Subscribe to chezhe
<100 subscribers
<100 subscribers
在本节中,我们将连接到主网网络并发送我们的第一笔交易。让我们首先启动节点,以便我们可以开始发布命令。
连接到Mainnet的第一步是安装最新的守护程序版本。请根据你的操作系统执行下面的指示。
按照下面的方法安装最新的 Mina 稳定版 1.2.0,或者访问 Github 发布页面,发现并安装预发布(Beta)版本。
你可以设置新的 debian stretch stable 仓库并安装最新版本,方法如下:
echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.2.0-fe51f1e
通过运行 mina version 检查守护进程是否正确安装。在分支 master上,输出应该是 Commit fe51f1ef5cfbcb4d5f559af39080963cf28ff1af 。
在本节中,我们将连接到主网网络并发送我们的第一笔交易。让我们首先启动节点,以便我们可以开始发布命令。
连接到Mainnet的第一步是安装最新的守护程序版本。请根据你的操作系统执行下面的指示。
按照下面的方法安装最新的 Mina 稳定版 1.2.0,或者访问 Github 发布页面,发现并安装预发布(Beta)版本。
你可以设置新的 debian stretch stable 仓库并安装最新版本,方法如下:
echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.2.0-fe51f1e
通过运行 mina version 检查守护进程是否正确安装。在分支 master上,输出应该是 Commit fe51f1ef5cfbcb4d5f559af39080963cf28ff1af 。
由于这项技术仍然相对较新,有一些罕见的情况,你的节点可能会遇到一些问题。我们不希望你的节点出现故障而你却没有意识到!所以我们为你做了一些官方支持的自动重启流程。我们将在未来的版本中对这些进行迭代。
然而,首先我们要在开始自动重启流程之前,通过手动运行它来确保一切正常。
注意:如果你使用 Hetzner 主机供应商,我们目前遇到了一个问题,Hetzner 认为我们的软件是恶意的。请参阅故障排除页面的网络部分,了解如何在启动节点之前缓解这一问题。
运行下面的命令,启动一个 Mina 节点实例并连接到实时网络:
如果你有一个有股权的钥匙,并且想生产区块,也可以提供 --区块生产者-钥匙 ~/keys/my-wallet,如果不是默认的,就用你的私人钥匙的路径代替 ~/keys/my-wallet。
上面指定的 --peer-list 参数指的是种子对等体地址--这是我们将连接到网络上的初始对等体。由于 Mina 是一个点对点的协议,所以没有一个我们依赖的集中式服务器。
关于首次运行节点时的常见问题,请看这里。
你还没有完成! 现在你已经通过运行独立进程确认了事情没有问题,重要的是我们以一种当Mina 进出死后会自动重启的方式启动它。
首先用 Ctrl-C 杀死现有的 Mina 守护进程,然后继续阅读:
为了产生区块或以其他方式定制 Mina 守护程序的配置,创建一个包含以下内容的文件~/.mina-env:
CODA_PRIVKEY_PASS="My_V3ry_S3cure_Password"
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
EXTRA_FLAGS=" --block-producer-key <BLOCK_PRODUCER_KEY_PATH>"
确保将 <BLOCK_PRODUCER_KEY_PATH> 替换为您的区块链生产者私钥的完整路径,例如,/home/ubuntu/keys/my-wallet。
如果你不打算生产区块,那么你可以暂时保持 ~/.mina-env 为空。
要改变 Mina 的配置方式,只需在 EXTRA_FLAGS="" 的引号之间用空格分隔的参数向 Mina 守护进程指定标志。
mina systemd 服务不再需要 peers.txt 文件,它只是使用 PEERS_LIST_URL 变量来决定从哪里获取初始对等体,mainnet 包的 PEERS_LIST_URL 默认为https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt。
一旦你的 .mina-env 准备好了,运行下面的命令来启动一个 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 运行你的守护程序时,首先确保你的私钥有正确的权限。
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="My_V3ry_S3cure_Password" \
minaprotocol/mina-daemon:1.2.0-fe51f1e-mainnet \
daemon \
--block-producer-key /keys/my-wallet \
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
运行 docker logs -f mina 来跟踪日志,如果它崩溃了,就用 docker logs mina > mina-log.txt 将日志输出保存到文件中,并将输出发布到 #mentor-nodes 频道,或者将完整的 ~/.mina-config/mina.log 附加到 github 问题中,并在 discord 中链接该问题。
运行 docker exec -it mina mina client status 来监测与网络的连接,你应该很快找到至少 10 个节点,并观察块高度/最大观察块高度的攀升。
注意:如果你在尝试运行
Docker容器时遇到[Warn] Shutdown before Mina instance was created, not saving a visualization,请增加Docker容器被允许使用的资源。
现在我们已经启动了一个节点,并且正在运行 Mina 守护进程,打开另一个 shell 并运行以下命令:
mina client status
注意:在第一次启动时,Mina 客户端状态可能需要一分钟才能连接到守护进程。因此,如果你看到
Error: daemon not running. see mina daemon,只需等待一下,然后再试一下。
最有可能的是,我们将看到一个包括以下字段的回应:
...
Peers: Total: 4 (...)
...
Sync Status: Bootstrap
如果你看到 Sync Status:Bootstrap,这意味着节点正在引导,需要与网络的其他部分同步。你可能需要在这里耐心等待,因为这一步可能需要一些时间让节点获得所有需要的数据。
一段时间后,你的节点应该连接到更多的对等体,然后应该进入Sync Status:Catchup,这意味着我们正在收集最近的区块,并试图追赶最高的区块的状态。
当同步状态达到 Synced,并且节点连接到 1 个或多个节点时,我们将成功连接到网络。我们在同步后也会看到相应的守护进程日志 [Info] Mina daemon is now synced。
如果你的 Bootstrap 状态持续了一个多小时,你的端口配置可能有问题。
原文:
由于这项技术仍然相对较新,有一些罕见的情况,你的节点可能会遇到一些问题。我们不希望你的节点出现故障而你却没有意识到!所以我们为你做了一些官方支持的自动重启流程。我们将在未来的版本中对这些进行迭代。
然而,首先我们要在开始自动重启流程之前,通过手动运行它来确保一切正常。
注意:如果你使用 Hetzner 主机供应商,我们目前遇到了一个问题,Hetzner 认为我们的软件是恶意的。请参阅故障排除页面的网络部分,了解如何在启动节点之前缓解这一问题。
运行下面的命令,启动一个 Mina 节点实例并连接到实时网络:
如果你有一个有股权的钥匙,并且想生产区块,也可以提供 --区块生产者-钥匙 ~/keys/my-wallet,如果不是默认的,就用你的私人钥匙的路径代替 ~/keys/my-wallet。
上面指定的 --peer-list 参数指的是种子对等体地址--这是我们将连接到网络上的初始对等体。由于 Mina 是一个点对点的协议,所以没有一个我们依赖的集中式服务器。
关于首次运行节点时的常见问题,请看这里。
你还没有完成! 现在你已经通过运行独立进程确认了事情没有问题,重要的是我们以一种当Mina 进出死后会自动重启的方式启动它。
首先用 Ctrl-C 杀死现有的 Mina 守护进程,然后继续阅读:
为了产生区块或以其他方式定制 Mina 守护程序的配置,创建一个包含以下内容的文件~/.mina-env:
CODA_PRIVKEY_PASS="My_V3ry_S3cure_Password"
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
EXTRA_FLAGS=" --block-producer-key <BLOCK_PRODUCER_KEY_PATH>"
确保将 <BLOCK_PRODUCER_KEY_PATH> 替换为您的区块链生产者私钥的完整路径,例如,/home/ubuntu/keys/my-wallet。
如果你不打算生产区块,那么你可以暂时保持 ~/.mina-env 为空。
要改变 Mina 的配置方式,只需在 EXTRA_FLAGS="" 的引号之间用空格分隔的参数向 Mina 守护进程指定标志。
mina systemd 服务不再需要 peers.txt 文件,它只是使用 PEERS_LIST_URL 变量来决定从哪里获取初始对等体,mainnet 包的 PEERS_LIST_URL 默认为https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt。
一旦你的 .mina-env 准备好了,运行下面的命令来启动一个 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 运行你的守护程序时,首先确保你的私钥有正确的权限。
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="My_V3ry_S3cure_Password" \
minaprotocol/mina-daemon:1.2.0-fe51f1e-mainnet \
daemon \
--block-producer-key /keys/my-wallet \
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
运行 docker logs -f mina 来跟踪日志,如果它崩溃了,就用 docker logs mina > mina-log.txt 将日志输出保存到文件中,并将输出发布到 #mentor-nodes 频道,或者将完整的 ~/.mina-config/mina.log 附加到 github 问题中,并在 discord 中链接该问题。
运行 docker exec -it mina mina client status 来监测与网络的连接,你应该很快找到至少 10 个节点,并观察块高度/最大观察块高度的攀升。
注意:如果你在尝试运行
Docker容器时遇到[Warn] Shutdown before Mina instance was created, not saving a visualization,请增加Docker容器被允许使用的资源。
现在我们已经启动了一个节点,并且正在运行 Mina 守护进程,打开另一个 shell 并运行以下命令:
mina client status
注意:在第一次启动时,Mina 客户端状态可能需要一分钟才能连接到守护进程。因此,如果你看到
Error: daemon not running. see mina daemon,只需等待一下,然后再试一下。
最有可能的是,我们将看到一个包括以下字段的回应:
...
Peers: Total: 4 (...)
...
Sync Status: Bootstrap
如果你看到 Sync Status:Bootstrap,这意味着节点正在引导,需要与网络的其他部分同步。你可能需要在这里耐心等待,因为这一步可能需要一些时间让节点获得所有需要的数据。
一段时间后,你的节点应该连接到更多的对等体,然后应该进入Sync Status:Catchup,这意味着我们正在收集最近的区块,并试图追赶最高的区块的状态。
当同步状态达到 Synced,并且节点连接到 1 个或多个节点时,我们将成功连接到网络。我们在同步后也会看到相应的守护进程日志 [Info] Mina daemon is now synced。
如果你的 Bootstrap 状态持续了一个多小时,你的端口配置可能有问题。
原文:
No activity yet