跳到主要内容

成为验证者

本指南将帮助您了解如何成为 MUD 链的验证者,包括技术要求和节点设置步骤。

技术要求

在开始运行节点之前,请确保您满足以下技术要求。

节点规格

以下是 MUD 节点的推荐配置。

节点类型CPU内存数据磁盘
验证者8 核 CPU32 GB 内存512 GB 数据磁盘
全节点8 核 CPU32 GB 内存512 GB 数据磁盘
归档节点8 核 CPU64 GB 内存2 TB 数据磁盘

建议在支持高 IOPS(12K 或更高)的 NVMe SSD 机器上运行验证者,以避免落后并被验证者监禁。如果您使用 AWS 的 EC2 实例,建议使用 t2.2xlarge 实例类型(每月费用约 300$ ~ 400$)

服务器

网络要求

公共端口

MUD 节点通过以下端口进行通信。确保这些端口对公共互联网开放。

节点类型端口协议
全节点和验证者26656TCP

RPC/API

如果您想在节点上访问 RPC/API 服务,需要确保以下端口开放。

RPC 类型端口协议
Tendermint26657TCP
EVM RPC - HTTP8545TCP
EVM RPC - WSS8546TCP
Cosmos RPC1317TCP

操作系统

MUD 节点已在 x86_64 架构上开发和测试。我们的二进制文件已在 Ubuntu 22.04 LTS x86_64 上编译。本指南假设您使用的是 Ubuntu 22.04 LTS x86_64。如果您使用不同的操作系统,可能需要自行编译相关二进制文件。代码链接:https://github.com/mud-chain/mud

设置节点

在本指南中,我们将设置 MUD 主网节点。

安装 MUD 节点二进制文件

首先,下载二进制文件并给予可执行权限。

sudo wget https://res.mud.network/mudd-1.0.0-linux-amd64 -O /usr/local/bin/mudd && sudo chmod a+x /usr/local/bin/mudd

检查您是否安装了正确版本的 mudd

mudd version

如果显示 12.1.6-86-gfdf51cee 则表示安装成功。

下载配置文件以及创世块

假设你用root账号登录

首先先初始化链相关数据,然后下载配置文件以及创世文件

mkdir -p /root/chain-data && \
mudd init NODE_NAME --home /root/chain-data --chain-id mud_168169-1 && \
wget https://res.mud.network/genesis.json -O /root/chain-data/config/genesis.json && \
wget https://res.mud.network/client.toml -O /root/chain-data/config/client.toml && \
wget https://res.mud.network/config.toml -O /root/chain-data/config/config.toml && \
wget https://res.mud.network/app.toml -O /root/chain-data/config/app.toml

然后修改配置文件/root/chain-data/config/config.toml,修改文件的大约第18行,将NODE_NAME替换为你的节点名称。节点名称只能用字母和数字组成,不能使用中文。 或者你也可以使用sed命令进行修改,记得将命令中的YOUR_NODE_NAME替换为你的节点名称。

sed -i 's/moniker = "NODE_NAME"/moniker = "YOUR_NODE_NAME"/g' /root/chain-data/config/config.toml

启动节点

我们可以使用nohup命令启动节点,也可以使用systemd服务启动节点。下面两种方法任选一种即可。

方法一:使用nohup启动节点

nohup mudd start --home /root/chain-data --log_level warn > /root/chain-data/mudd.log 2>&1 &

方法二:配置 mudd systemd 服务

创建文件 vim /etc/systemd/system/mudd.service,并粘贴以下内容。

[Unit]
Description=mud node
After=network.target

[Service]
User=root
Environment="HOME=/root"
ExecStart=mudd start --home /root/chain-data --log_level warn
WorkingDirectory=/root/chain-data
StandardOutput=file:/root/chain-data/mudd.log
StandardError=file:/root/chain-data/mudd.log
Restart=always
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

依次运行如下命令启动服务:

  • 运行 systemctl daemon-reload 加载服务
  • 运行 systemctl enable mudd 开机自动启动服务
  • 运行 systemctl start mudd 启动服务

其他命令:

  • 运行 systemctl status mudd 查看服务状态
  • 运行 systemctl stop mudd 停止服务
  • 运行 systemctl restart mudd 重启服务
  • 运行 systemctl reload mudd 重新加载服务
  • 运行 systemctl disable mudd 禁用服务

验证节点是否启动成功

使用上面的方法启动节点后,等待大约30s左右,可以使用以下命令验证节点是否启动成功。

curl http://localhost:26657/status | jq

如果返回的数据如下,则表示节点启动成功。

{
"jsonrpc": "2.0",
"id": -1,
"result": {
"node_info": {
"protocol_version": {
"p2p": "8",
"block": "11",
"app": "0"
},
"id": "c94d8a7ea1f417e592e4c2e5a289cd4b139724bb",
"listen_addr": "tcp://0.0.0.0:26656",
"network": "mud_168169-1",
"version": "0.34.29",
"channels": "40202122233038606100",
"moniker": "join node",
"other": {
"tx_index": "on",
"rpc_address": "tcp://127.0.0.1:26657"
}
},
"sync_info": {
"latest_block_hash": "6976B9F2248EC04ACC69A9DB7DA6A1A55AC2E5B144AFC2C5D97CC38DC9ED35B4",
"latest_app_hash": "BC09C2893A8E4723B7FDC4B1431BABA980FEAB02119EF73ACA3D63846558994F",
"latest_block_height": "8226",
"latest_block_time": "2025-02-23T11:57:31.565427093Z",
"earliest_block_hash": "4F1F3A12AD3F4272352CF382C0126CA763590C98A5F462494B6424F4B3096CDC",
"earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"earliest_block_height": "1",
"earliest_block_time": "2025-02-23T08:12:44.789691634Z",
"catching_up": true
},
"validator_info": {
"address": "D56623060F708B9C996A9ACACF340F0D1F62C526",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "RmpAEvvUwRuBzlxewhOzd+vdsl+MIMj+xmvMFw947y4="
},
"voting_power": "0"
}
}
}

如果看到 latest_block_height 一直增加,则表示节点启动成功,且正在同步区块。

创建验证者账户

准备工作

大概需要经过2天左右,节点能够将区块同步到最新状态。检查方法是使用curl http://localhost:26657/status | jq命令,如果看到 latest_block_height 如果已经跟最新区块高度一致,则表示节点已经同步到最新状态。或者 catching_up 已经为 false,也表示节点已经同步到最新状态。只有当节点同步到最新状态后,才能创建验证者账户。然后将需要创建验证人的私钥导入到Realm钱包。后续领取佣金奖励,对提案投票以及修改验证人信息都是通过该私钥发起交易。注意导入的钱包至少需要有超过10MUD的资产用于初始质押。

详细步骤

  • 在Realm钱包中浏览器功能下面点击 MUD Portal 进入DAPP,点击左边的菜单栏,进入验证人列表页面。
服务器
  • 点击创建验证人,在弹出对话框中填入对应的信息,输入框中有必填提示的,则该输入不能为空。确认信息无误之后,点击创建按钮完成验证人的创建。相关信息说明如下:
    • 验证人名称:你的验证人名称,将展示在列表中。通过名字,别人能够方便地找到验证人进行委托。(必填)
    • 身份标识:类似于身份证,可用于标识验证人身份。(可选)
    • 网站:一般为宣传网站,用于吸引用户质押。(可选)
    • 联系方式:一般填写邮箱或其他联系方式,便于联系。(可选)
    • 最大佣金:默认为20%。你能对用户奖励抽取的最大佣金比例。建议使用默认值不修改。(必填)
    • 初始佣金率:默认为10%。验证人创建后,对用户奖励抽取的佣金比例。建议使用默认值不修改。(必填)
    • 佣金变更率:默认为10%。初始佣金率每次最大可变更的比例。建议使用默认值不修改。(必填)
    • 质押金额:创建验证人时,自己质押的MUD数量。系统会自动扣除对应数量。为防止信息填错导致锁定MUD 21天,请先质押少量MUD(如10MUD,必须≥1MUD,建议10MUD)。如需质押更多,可在创建成功后通过委托操作追加。(必填)
    • 共识公钥:使用curl http://localhost:26657/status | jq命令中获取的validator_info.pub_key.value的值。请务必一字不漏地完整复制。例如:RmpAEvvUwRuBzlxewhOzd+vdsl+MIMj+xmvMFw947y4=(必填)
    • 详情:可填写验证节点的相关信息,如“我们是Web 3.0领域值得信赖的验证节点参与者和投资者,专注于安全的权益质押”。(可选)

下面是一个符合要求的输入示例(为了方便演示,截图用的是电脑版的,跟手机版稍微有些出入):

服务器

如果创建成功之后,刷新验证人列表,可以看到你创建的验证人。

领取佣金

奖励每天下午3点半左右发放一次。在验证人的列表里面点击你的验证人名字即可进入验证人详情页面。在详情页面的最后你可以领取你自己质押的奖励以及佣金奖励。

服务器