Logo
RPC Assistant

什么是TON节点,何时应该运行一个?

摘要

TON节点是存储The Open Network区块链完整状态、验证交易并为应用程序提供数据的软件客户端。运行自己的节点可以让你直接、不受限制地访问网络,但也需要大量的运维开销。对于大多数开发者来说,使用托管RPC端点或来自OnFinality等提供商的专用节点,是一种更快、更可靠且无需维护负担的替代方案。

TON节点决策清单

在决定运行自己的TON节点之前,请考虑以下因素:

  • 你需要完整的历史数据吗? 归档节点存储所有区块链历史,而全节点会修剪旧数据。托管提供商通常提供归档端点,无需存储成本。
  • 你正在构建区块浏览器或分析工具吗? 你可能需要一个归档节点或一个索引历史数据的托管API。
  • 你需要验证并赚取奖励吗? 只有当你拥有足够的TON质押和运维专业知识时,才运行验证节点。
  • 你能处理维护工作吗? 自托管节点需要定期更新、监控和备份。托管服务会为你处理这些。
  • 你的流量模式是怎样的? 如果你的dApp流量波动较大,具有自动扩展功能的托管RPC可能比按峰值负载配置更经济。

什么是TON节点?

TON节点是一种软件客户端,它维护TON区块链状态的副本并参与网络。节点验证交易、传播区块,并向轻客户端(钱包、dApp)提供数据。TON节点使用ADNL(抽象数据报网络层)协议进行点对点通信,并可以为外部应用程序暴露JSON-RPC接口。

有几种类型的TON节点,每种角色不同:

  • 全节点(轻服务器): 存储最新的分片和主链状态,修剪旧数据,并为轻客户端提供服务。适用于自定义基础设施或支持你自己的API。
  • 归档节点(归档轻服务器): 保留所有历史区块和状态。区块浏览器、分析工具以及需要完整历史记录的服务需要它。
  • 验证节点: 通过签署区块和赚取奖励参与共识。需要质押TON和可靠的设置。
  • 收集节点: 为验证节点生成区块,以减轻验证机器的负载。
  • 提名池: 接受多方质押,并代表他们运行验证节点。

何时应该运行自己的TON节点?

运行自己的节点可以完全控制数据访问、延迟和可靠性。在以下情况下,这是正确的选择:

  • 你需要不受过滤、直接访问区块链,而不依赖第三方。
  • 你运行验证节点或收集节点以保护网络并赚取奖励。
  • 你运行需要归档节点的区块浏览器或数据服务。
  • 你有DevOps资源来全天候维护和监控节点。

然而,自托管也有成本:专用硬件(或云实例)、存储(归档节点可能达到数百GB)、带宽和持续维护。对于许多团队来说,运维负担超过了收益。

何时使用托管TON RPC提供商

大多数dApp开发者和基础设施购买者选择托管RPC提供商,因为它简化了操作并提高了可靠性。托管服务提供:

  • 托管基础设施: 无需同步、更新或监控节点。
  • 地理分布式端点: 为全球用户降低延迟。
  • 自动扩展: 处理流量高峰,无需按峰值负载配置。
  • 归档访问: 查询历史数据,无需自己存储。
  • 多网络支持: 使用单个API密钥访问主网和测试网。

OnFinality为TON主网和测试网提供TON RPC端点,并为高吞吐量工作负载提供专用节点选项。你可以快速开始,无需管理任何基础设施。

TON节点设置:快速概览

如果你决定运行自己的节点,以下是步骤的概要。详细说明请参阅TAN文档

前提条件

  • 一台Linux服务器(推荐Ubuntu 20.04+),至少8个CPU核心、32 GB RAM和500 GB SSD(全节点;归档节点需要更多)。
  • 开放ADNL(TCP 30303,UDP 30303)和轻服务器(TCP 8080)端口。
  • 基本命令行和系统管理知识。

安装(C++节点)

  1. 克隆TON仓库:
    git clone https://github.com/ton-blockchain/ton.git
    cd ton
    
  2. 构建节点:
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    make -j$(nproc)
    
  3. 通过编辑config.json配置节点。
  4. 启动节点:
    ./validator-engine -C config.json
    

与节点交互

节点运行后,你可以使用lite-client工具查询区块链:

./lite-client -C lite-client-config.json -a 127.0.0.1:8080

或者向轻服务器端点发送JSON-RPC请求:

curl -X POST http://127.0.0.1:8080/jsonRPC -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getMasterchainInfo",
  "params": []
}'

TON节点类型对比

标准检查内容重要性
数据保留全节点修剪旧区块;归档节点保留所有数据历史查询需要归档节点;全节点更便宜
硬件要求全节点:8 CPU、32 GB RAM、500 GB SSD;归档节点:更多存储配置不足会导致同步失败或性能不佳
网络参与验证节点签署区块;轻服务器仅提供数据验证节点需要质押和高可用性;轻服务器更简单
维护工作量更新、监控、备份自托管需要持续DevOps;托管则无需
成本自托管:服务器+带宽+时间;托管:订阅对于低到中等流量,托管可能更便宜

运行TON节点时的常见陷阱

  • 存储不足: 归档节点可能超过1 TB。监控磁盘使用并规划增长。
  • 网络配置: 防火墙必须允许ADNL和轻服务器端口。配置错误会导致同步失败。
  • 同步时间: 初始同步可能需要数天。使用快照或可信提供商来加速。
  • 版本更新: TON协议不断演进。保持节点软件更新,以免被分叉。

如何在自托管和托管TON节点之间选择

评估你团队的能力和应用程序需求:

  • 团队规模: 小团队受益于减少运维负担的托管服务。
  • 流量模式: 如果你的应用有不可预测的峰值,托管自动扩展更可靠。
  • 数据需求: 使用提供开箱即用归档访问的提供商更轻松。
  • 预算: 自托管初期可能看起来更便宜,但需考虑工程时间和事件响应。

对于大多数生产级dApp,像OnFinality这样的托管RPC提供商在性能、可靠性和成本之间提供了最佳平衡。查看我们的RPC定价支持的网络,了解TON是否适合你的技术栈。

关键要点

  • TON节点有几种类型:全节点、归档节点、验证节点、收集节点和提名池。
  • 自托管提供完全控制,但需要大量运维投入。
  • 托管RPC提供商简化了基础设施管理,并提供地理分布、可扩展的端点。
  • OnFinality为生产工作负载提供托管TON RPC端点和专用节点。
  • 在选择路径之前,始终评估你的数据保留、流量和团队能力。

常见问题

问:构建dApp需要TON节点吗? 答:不需要。你可以使用托管RPC提供商与区块链交互,而无需运行自己的节点。

问:全节点和归档节点有什么区别? 答:全节点修剪旧区块链数据以节省存储,而归档节点保留所有历史数据。区块浏览器和分析工具需要归档节点。

问:运行一个TON节点需要多少成本? 答:自托管成本因云提供商和存储而异。全节点预计每月50-200美元,归档节点更高。托管计划从免费层开始。

问:我可以在OnFinality上使用TON测试网吗? 答:是的,OnFinality支持TON主网TON测试网

问:什么是ADNL? 答:ADNL(抽象数据报网络层)是TON用于节点间通信的低级网络协议。大多数开发者通过JSON-RPC进行交互。

RPC 知识库

相关 RPC 内容

Network Rpc

关于 Polygon RPC 端点,我需要了解什么?

# 关于 Polygon RPC 端点,我需要了解什么? Polygon RPC 端点之所以重要,是因为 Polygon 应用程序依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。合适的提供商应匹配您的工作负载,支持您所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时为您提供扩展路径...

Rpc Provider Selection

您能否为Web3团队推荐一种灵活且经济高效的RPC解决方案?

为从原型扩展到生产的Web3团队选择兼顾灵活性和成本的RPC提供商至关重要。本文概述了需要评估的关键因素——定价模型、功能集、网络覆盖和支持——并提供了一个决策框架,帮助您选择适合工作负载且不会过度支付的解决方案。...

Network Rpc

什么是Efinity?面向NFT和游戏的区块链完全指南

# 什么是Efinity?面向NFT和游戏的区块链完全指南 Efinity是一条专为下一代NFT、游戏和元宇宙应用设计的区块链。它基于Substrate构建,是Polkadot生态的一部分,为创建、交易和管理数字资产提供了一个可扩展、低成本且用户友好的平台。本指南涵盖了开发者需要了解的关于Efini...

Network Rpc

如何在peaq上创建代币:开发者分步指南

了解如何在peaq网络上创建代币,peaq是专为DePIN和机器经济设计的Layer-1区块链。本指南涵盖代币标准、Bitbond的Token Tool等无代码工具、智能合约部署以及与peaq交互所需的基本RPC设置。...

Testnet Rpc

BNB测试网RPC:端点、设置与最佳提供商完全指南

# BNB测试网RPC:端点、设置与最佳提供商完全指南 BNB智能链测试网(链ID 97)是一个公开的EVM兼容测试网络,镜像了BNB智能链主网的功能。它使用无价值的tBNB作为燃料费,使开发者能够在无需承担真实资金风险的情况下部署和测试智能合约、dApp及集成。本指南涵盖您需要了解的关于BNB测试...

Blockchain Infrastructure

什么是 Bittensor 节点以及如何选择合适的设置?

Bittensor 节点(subtensor)是一个完整的区块链节点,连接到 Bittensor 网络,使您能够读取链状态、提交交易并参与子网。运行自己的节点可以完全控制并保护隐私,但需要大量的硬件和维护。对于许多团队来说,使用托管的 RPC 端点或专用节点基础设施是更实际的选择。...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始