Liteserver 节点
信息
阅读本文之前,请先阅读 全节点
当在全节点上激活端点时,节点将承担 Liteserver 的角色。这种节点类型可以处理并响应来自轻客户端的请求,允许与TON区块链无缝互动。
硬件要求
与 validator 相比,liteserver 模式所需的资源较少。不过,我们仍然建议使用功能强大的机器来运行 liteserver。
- 至少 16 核 CPU
- 至少 128GB 内存
- 至少 1TB GB NVMe SSD 或 Provisioned 64+k IOPS storage
- 1 Gbit/s 网络连接
- 峰值流量为每月 16 TB
- 公共 IP 地址(固定 IP 地址)
推荐供应商
请使用 推荐提供商 部分中列出的云提供商。
Hetzner 和 OVH 被禁止运行验证器,但您可以使用它们运行点服务器:
- Hetzner: EX101, AX102
- OVH: RISE-4
安装 liteserver
如果没有 mytonctrl,请使用 -m liteserver
标志安装:
- Ubuntu
- Debian
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
sudo bash ./install.sh -m liteserver
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
su root -c 'bash ./install.sh -m liteserver'
-d
- mytonctrl将下载最新区块链状态的dump。 这将使同步时间缩短数倍。-c<path>
- 如果要使用非公共 liteservers 进行同步。(非必填)-i
- 忽略最低要求,只有在不使用实际节点的情况下检查编译过程时才使用。-m
- 模式,可以是validator
或liteserver
。
要使用 testnet,应在 -c
标志中加入 https://ton.org/testnet-global.config.json
值。
默认的 -c
标志值为 https://ton-blockchain.github.io/global.config.json
,这是默认的主网配置。
如果已经安装了 mytonctrl,请运行
user@system:~# mytonctrl
MyTonCtrl> enable_mode liteserver
检查防火墙设置
首先,确认在 /var/ton-work/db/config.json
文件中指定的 Liteserver 端口。每次新安装 MyTonCtrl
时,该端口都会改变。它位于 port
字段:
{
...
"liteservers": [
{
"ip": 1605600994,
"port": LITESERVER_PORT
...
}
]
}
如果使用的是云提供商,则需要在防火墙设置中打开该端口。例如,如果使用 AWS,则需要在安全组中打开该端口。
以下是在裸机服务器防火墙中打开端口的示例。
在防火墙中打开一个端口
我们将使用 ufw
工具(cheatsheet)。您可以使用自己喜欢的工具。
- 如果未安装
ufw
则安装:
sudo apt update
sudo apt install ufw
- 允许 ssh 连接:
sudo ufw allow ssh
- 允许使用
config.json
文件中指定的端口:
sudo ufw allow <port>
- 启用防火墙:
sudo ufw enable
- 检查防火墙状态:
sudo ufw status
这样,您就可以在服务器的防火墙设置中打开端口。
与 Lites 服务器(lite-client)交互
- 在机器上创建一个空项目,并在项目目录中粘贴
config.json
。该配置可通过以下命令获取:
installer clcf # in mytonctrl
它将在安装了 mytonctrl 的机器上创建 /usr/bin/ton/local.config.json
。查看 mytonctrl 文档了解更多信息。
- 安装库。
- JavaScript
- Python
- Golang
npm i --save ton-core ton-lite-
pip install pytonlib
go get github.com/xssnick/tonutils-go
go get github.com/xssnick/tonutils-go/lite
go get github.com/xssnick/tonutils-go/ton