在Moonbeam的网络运行一个全节点不仅可以提升网络的去中心化特性,还可以获得如RPC终端的本地访问等种种益处。而为了维护节点的高性能和健康运行,随时更新节点至关重要。本教程将带您学习如何快速更新您的Moonbeam节点。
本教程假设您在Moonriver上运行一个适用于所有网络的全节点。为了使本教程适用于不同的网络,您需要改变 moonriver-data
文件夹的名称和moonriver_service
的名称,以反映正确的网络。
使用Docker更新节点运行
如果您使用Docker运行节点,更新您的节点就像停止运行容器并以新的标签重启它一样简单。
首先,通过运行 docker ps -a
获得您Moonbeam节点的容器ID。容器ID在第一列,如果您正在运行多个Docker容器,您可通过以purestake/moonbeam开头的图像名称进行识别。接着,运行 docker stop <YOUR CONTAINER ID here>。
下一步,您将使用最初启动节点时所使用的命令,并将用新标签替换旧标签。要获得新标签,请前往Moonbeam github repo。在这个例子中,我们用v0.15.1
替换了占位符文本。以下是为Linux用户复制的启动节点的全Docker命令,MacOS用户可在Moonbeam资料库找到。切记要替换您的node name
和 version
的两个标签。
docker run --network="host" -v "/var/lib/moonriver-data:/data" \
-u $(id -u ${USER}):$(id -g ${USER}) \
purestake/moonbeam:<NEW VERSION TAG HERE>\
--base-path=/data \
--chain moonriver \
--name="YOUR-NODE-NAME" \
--execution wasm \
--wasm-execution compiled \
--pruning archive \
--state-cache-size 1 \
-- \
--pruning archive \
--name="YOUR-NODE-NAME (Embedded Relay)"
通过Systemd服务更新节点运行(二进制)
想要通过Systemd服务更新运行Moonbeam节点,请执行以下步骤:
- 首先停止运行服务
- 浏览Moonbeam二进制所在的文件夹
- 移除旧版本的Moonbeam二进制文件
- 从Moonbeam github repo中获取新的二进制文件 — — 首先请确保您使用的是新标签
- 给予Moonbeam二进制文件可执行权限
- 将Moonbeam二进制文件的所有权交给您专门为运行它而创建的
--no-create-home
用户(您的用户可能有不同的名字)。 - 重新启动Moonbeam的Systemctl服务
确切的命令如下所示。注意:在逐一复制这些命令之前,您需先替换成新标签版本。
systemctl stop moonbeam
cd /var/lib/moonriver-data
rm moonbeam
wget https://github.com/PureStake/moonbeam/releases/download/<NEW VERSION TAG HERE>/moonbeam
chmod +x moonbeam
chown moonriver_service moonbeam
systemctl start moonbeam
为了增加安全性,您可以通过对下载的二进制文档运行sha256sum
,并将其与Moonbeam资料库上发布的二进制文件进行比较来验证下载的二进制文档的哈希值。
为了确认更新后的节点状态,您可以运行 systemctl status moonbeam.service
或运行 journalctl -f -u moonbeam.service
来追踪Moonbeam节点日志。
若您有任何问题,请随时在Discord上与Moonbeam团队取得联系。
关于Moonbeam
Moonbeam是波卡(Polkadot)网络上的以太坊兼容智能合约平台,为原生互操作应用程序的开发提供便利。通过其以太坊兼容性,开发者能够以最低程度的代码调整在Moonbeam上部署现有的Solidity智能合约和Dapp前端。作为在波卡(Polkadot)网络上的平行链,Moonbeam也将受益于波卡(Polkadot)中继链的共享安全性以及与其它波卡(Polkadot)相关链的连接性。Moonbeam由PureStake团队开发,目前正在预上线阶段,主网计划于2022年第一季度上线。