跳到主要内容

运行全节点

操作系统要求

MyTonCtrl是一个控制台应用程序,它是fift、lite-client和validator-engine-console的方便包装器。它专门开发用于简化在Linux操作系统上的钱包、域和验证者管理任务。

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Debian 11

必要条件

个人本地计算机的节点使用情况

即使符合要求,也不应在个人本地计算机上长时间运行任何类型的节点。节点会主动使用磁盘,并可能迅速损坏磁盘。

含验证器

  • 16 cores CPU
  • 128 GB RAM
  • 1TB NVME SSD OR Provisioned 64+k IOPS storage
  • 1 Gbit/s 网络连接
  • 公共 IP 地址(_固定 IP 地址)
  • 64 TB/月流量(峰值负载时为 100 TB/月)
为高峰负荷做好准备

通常情况下,您需要至少 1 Gbit/s 的连接才能可靠地满足峰值负载(平均负载预计约为 100 Mbit/s)。

端口转发

所有类型的节点都需要一个静态外部 IP 地址,一个 UDP 端口用于转发传入连接,所有传出连接都是开放的 - 节点使用随机端口进行新的传出连接。节点必须通过 NAT 对外可见。

您需要一台具有固定IP地址高带宽网络连接的机器来运行TON区块链全节点。

信息

您可以使用 netstat -tulpn 命令查看哪个 UDP 端口已打开。

推荐供应商

TON基金会推荐以下供应商运行验证者:

云提供商实例类型CPURAM存储网络公共IP流量
GCPn2-standard-1632 个 vCPU128GB1TB NVMe SSD16 GbpsReserve a static external IP64 TB/month
阿里云ecs.g6.4xlarge32 vCPUs128GB1TB NVMe SSDUp to 10 GbpsBind an Elastic IP64 TB/month
腾讯云M5.4XLARGE32 vCPUs128GB1TB NVMe SSDUp to 10 GbpsAssociate an Elastic IP64 TB/month
Vultrbare metal Intel E-2388G16 Cores / 32 Threads128GB1.92TB NVMe SSD10 GbpsFixed IP address included with instance64 TB/month
DigitalOceangeneral purpose premium Intel32 vCPUs128GB1TB NVMe SSD10 GbpsFixed IP address included with instance64 TB/month
Latitudec3.medium.x8616 Cores / 32 Threads128GB1.9TB NVMe SSD10 GbpsFixed IP address included with instance64 TB/month
AWSi4i.8xlarge32 vCPUs256GB2 x 3,750 AWS Nitro SSD (fixed)Up to 25 GbpsBind an Elastic IP64 TB/month
信息

注: 价格、配置和可用性可能有所不同。建议您在做出任何决定之前,始终查看各云提供商的官方文档和定价页面。

GCP (谷歌云平台)

请查看本视频的分步教程,以便及时开始:

腾讯云

切换到您的非root用户:

warning

这一步是成功安装和使用 mytonctrl 的必要,不要忽略非 root 用户创建。没有这一步,安装过程中不会出错,但 mytonctrl 将无法正常工作。

如果没有 非 root 用户,可以通过以下步骤创建一个(否则跳过前两个步骤,进入第三个步骤)。

  1. 以root用户身份登录并创建新用户:
sudo adduser <username>
  1. 将用户添加到 sudo 组:
sudo usermod -aG sudo <username>
  1. 登录新用户(如果使用 ssh,需要停止当前会话,然后使用正确的用户重新连接)。
ssh <username>@<server-ip-address>

安装 MyTonCtrl

从具有 sudo 权限的 非root 用户账户下载并运行安装脚本:

wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
sudo bash install.sh
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
su root -c 'bash install.sh'
  • 以具有sudo权限的非root用户身份登录您的服务器。
  • 如果您没有非root用户,请以root身份登录并创建一个:
  • -i - 忽略最低要求,只有在不使用实际节点的情况下检查编译过程时才使用。
  • -m - 模式,可以是 validatorliteserver
  • -t - 禁用遥测功能。

** 要使用 testnet**,应在 -c 标志中加入 https://ton.org/testnet-global.config.json 值。

默认的 -c 标志值为 https://ton-blockchain.github.io/global.config.json,这是默认的主网配置。

运行 mytonctrl

  1. 切换到您的非root用户:
mytonctrl
  1. 使用 status 命令检查 MyTonCtrl 的状态:
status

在 testnet 中,必须使用 status fast 命令,而不是 status

应显示以下状态:

  • mytoncore status:应为绿色。
  • local validator status:也应为绿色。
  • local validator out of sync:最初显示的是一个 n/a 字符串。新创建的验证器与其他验证器连接后,数字将达到 250k 左右。随着同步的进行,这个数字会逐渐减少。当该数字低于 20 时,验证程序将被同步。

status 命令输出示例:

status

确保状态输出相同

所有节点都应显示 Local Validator status 部分。 否则,检查故障排除部分检查节点日志

等待直到 Local validator out of sync 变为少于 20 秒。

当一个新节点启动时,即使是从转储开始,也需要等待长达 3 个小时,不同步的数量才会开始减少。这是因为节点仍需要在网络中建立自己的位置,通过 DHT 表传播自己的地址等。

卸载 mytonctrl

下载脚本并运行:

sudo bash /usr/src/mytonctrl/uninstall.sh

检查 mytonctrl 所有者

运行:

ls -lh /var/ton-work/keys/

技巧与窍门

可用命令列表

  • 您可以使用 help 获取可用命令列表:

Help command

查看钱包列表

  • 要检查 mytonctrl 日志,请打开本地用户的 ~/.local/share/mytoncore/mytoncore.log 或 Root 的 /usr/local/bin/mytoncore/mytoncore.log

logs

检查节点日志

wallet list

tail -f /var/ton-work/log.thread*

支持

最近(在2023年底),大致数字为最低质押代币约340K TON,最高约1M TON