Logo
RPC Assistant

什么是 TON 端点?如何选择?

摘要

TON 端点是 HTTP 和 JSON-RPC 桥接端点,允许链下应用程序读取区块链数据、查询智能合约并在 The Open Network (TON) 上提交交易。由于 TON 节点使用 ADNL 而非 HTTP 通信,因此 TON Center 的 API 或托管 RPC 提供商等端点是钱包、机器人和后端与网络交互的标准方式。

选择合适的 TON 端点意味着检查您需要主网还是测试网访问权限,在 TON Center API v2(基于 liteserver)和 v3(索引)之间做出决定,验证速率限制,并在生产环境之前测试端点。本指南涵盖了端点选项、示例请求和开发人员决策清单。

TON 端点是钱包、机器人和后端服务与 The Open Network 交互的标准方式。它们是读取区块链数据、查询智能合约和提交签名消息的 HTTP 或 JSON-RPC 桥接端点。由于 TON 节点使用 ADNL 而非 HTTP,端点层通常基于参考实现 ton-http-api 构建。

本页解释了什么是 TON 端点,它与 EVM RPC 端点有何不同,常见的主网和测试网端点选项有哪些,以及如何在依赖端点之前对其进行测试。

TON 端点决策清单

在您承诺使用 TON 端点之前,请完成此清单。只需几分钟,即可避免大多数集成问题。

  • 主网还是测试网? 使用测试网进行开发和暂存;将生产环境指向主网。
  • API 版本? 选择 v2 以直接访问 liteserver,或选择 v3 以满足对追踪、jettons 和 NFT 的索引查询需求。
  • 方法覆盖? 确认端点支持您的钱包或机器人所需的方法。
  • 身份验证? 了解您是否需要 API 密钥以及速率限制如何应用。
  • 流式传输? 如果您实时响应交易,请检查是否支持 SSE 或 WebSocket。
  • 冗余? 为提供商中断做好计划,并测试备用端点。
  • 成本模型? 将共享公共端点与 RPC 定价 和专用节点进行比较。

TON RPC 与 EVM RPC:为什么端点形状不同

许多开发人员带着以太坊的心智模型而来。他们期望 eth_blockNumbereth_calleth_getLogs 等方法。TON 与 EVM 不兼容。

TON 的核心组件是 TVM(TON 虚拟机),节点使用 ADNL 二进制协议进行通信。HTTP 端点是中间服务。它接收 HTTP 请求,使用 tonlib 与 liteserver 通信,并返回 JSON。您可以使用 TON Center 的公共服务,运行自己的 ton-http-api,或使用已部署 TON 基础设施的托管 RPC 提供商。

这种架构也解释了方法名称。最常见的方法是 getAddressInformationgetTransactionsrunGetMethodestimateFeesendBoc。没有 eth_ 方法,也没有 web3_clientVersion 调用。当有人说“TON 端点”时,他们通常指的是 HTTP API 地址,而不是以太坊意义上的 JSON-RPC 节点。

主网和测试网端点选项

对于快速入门,TON Center 是参考 API。其公共 v2 端点为:

网络基础 URLJSON-RPC 路径
主网https://toncenter.com/api/v2https://toncenter.com/api/v2/jsonRPC
测试网https://testnet.toncenter.com/api/v2https://testnet.toncenter.com/api/v2/jsonRPC

两者都是公共的且有限速。TON Center 还提供带有索引器的 v3 API,以及通过 SSE 和 WebSocket 的 Streaming API v2。

像 OnFinality 这样的托管提供商为您提供托管端点,因此您无需运行 TON 节点。查看 TON 网络页面 了解主网详细信息,查看 TON 测试网页面 了解暂存环境。您还可以查看完整的 支持的网络 列表。

如何测试 TON 端点

验证端点最快的方法是使用简单的 curl 请求。将 EQD... 替换为真实地址。

curl 'https://toncenter.com/api/v2/getAddressInformation?address=EQD...' -H 'Accept: application/json'

成功的响应如下所示:

{
  "ok": true,
  "result": {
    "@type": "raw.fullAccountState",
    "balance": "123456789",
    "state": "active"
  }
}

请求成功后,使用 runGetMethod 测试只读智能合约调用,然后在尝试广播交易之前测试 estimateFee

您最常使用的 TON API 方法

以下是您在钱包或机器人中最可能需要的方法:

  • getAddressInformation – 返回余额、状态、代码哈希和其他账户详细信息。
  • getTransactions – 返回地址的近期交易历史。
  • runGetMethod – 在智能合约上调用 get-method(只读,无费用)。
  • estimateFee – 估算外部消息的费用。
  • sendBoc – 向网络提交签名的外部消息(Bag of Cells)。
  • detectAddress – 在原始格式和用户友好格式之间规范化地址。
  • getTokenData – 读取 jetton(代币)元数据和余额。

如果您的用例需要丰富的历史查询,TON Center API v3 增加了对追踪、jettons 和 NFT 的索引访问。然而,典型的钱包可以使用 v2 和上述方法构建。

在公共、托管和专用 TON 端点之间选择

公共端点对原型很有吸引力。对于任何持续运行的内容,请检查超出速率限制时会发生什么。许多公共端点返回 429 响应,没有重试指导,这对于本地演示可能没问题,但对于服务来说有风险。

使用下表评估任何 TON 端点,包括您自己的自托管实例。

标准检查内容重要性
网络覆盖主网和测试网 URL避免将暂存代码指向生产数据。
API 版本v2 与 v3v2 直接查询 liteserver;v3 添加索引以支持更丰富的查询。
速率限制每秒请求数,基于 IP 或密钥公共端点可能在高峰期间限制您。
身份验证需要 API 密钥或令牌密钥允许按项目跟踪使用情况,并更安全地用于生产。
方法覆盖sendBocestimateFeerunGetMethod缺少方法会破坏钱包或机器人功能。
流式支持SSE 或 WebSocket 可用性实时更新和事件驱动服务需要。
历史数据归档和索引深度追踪、jettons 和旧交易可能需要索引器。
部署模型公共、托管共享或专用节点公共方便;专用基础设施提供更多控制。

常见的 TON 端点陷阱

即使您有了端点,TON 集成也会在几个方面让开发人员犯错。

  • 假设 EVM JSON-RPC。 不要向 TON 端点发送 eth_ 方法。请改用 TON 特定的方法。
  • 使用错误的地址格式。 TON 支持 base64 用户友好地址和原始 workchain:hex 地址。在查询之前使用 detectAddress 进行规范化。
  • 遇到速率限制。 429 响应意味着端点正在限制您。添加带退避的重试,并尽可能使用 API 密钥。
  • 混淆主网和测试网。 在主网上查询测试网地址将返回未初始化的账户状态或空数据。在配置中验证网络。
  • 忘记 sendBoc 需要签名的外部消息。 您必须构造并签名一个 Bag of Cells;不能简单地发送私钥或原始十六进制交易。
  • 使用 v2 进行深度历史查询。 getTransactions 只返回 liteserver 拥有的内容。对于交易历史、追踪或 NFT,请使用索引 API,例如 TON Center v3。
  • 忽略证明要求。 如果您需要无需信任的验证,HTTP API 可能不会返回证明包。在这种情况下,请使用 tonlib 连接到 liteserver,或使用提供证明的服务。

使用 OnFinality 的后续步骤

一旦您了解了端点形状,请在应用程序的开发环境中进行测试。对于生产环境,请决定共享公共端点是否足够,或者您是否需要更多控制。

OnFinality 提供 TON RPC API 访问,作为其 网络覆盖专用节点基础设施 的一部分,适用于需要私有端点的团队。在部署之前,请查看 TON 网络页面 获取当前端点信息,以及 TON 测试网页面 了解暂存环境。您还可以查看 RPC 定价 以了解共享和专用设置之间的权衡。

无论您选择哪个端点,请记住决策清单:在编写生产代码之前,验证网络、方法覆盖、速率限制和流式支持。

关键要点

  • TON 端点是到 TON liteserver 的 HTTP/JSON-RPC 桥。它使用 TON 特定的方法,而不是 EVM 方法。
  • TON Center API v2 是参考实现;v3 添加了索引查询以支持丰富的历史记录。
  • 在集成之前使用 curl 测试端点,并检查速率限制和身份验证。
  • 有意使用主网和测试网端点;混淆它们会导致令人困惑的错误。
  • 对于生产环境,请考虑使用 OnFinality 提供的托管或专用 TON 端点,而不是依赖公共免费端点。

常见问题解答

什么是 TON 端点?

TON 端点是 HTTP API 地址,允许应用程序读取 TON 数据、查询智能合约和发送交易,而无需直接使用 ADNL。

TON 与以太坊 JSON-RPC 兼容吗?

不。TON 使用 TVM 和 ADNL 协议。诸如 TON Center 之类的 HTTP API 公开了 getAddressInformationsendBoc 等方法,而不是 eth_ 方法。

TON API v2 和 v3 有什么区别?

v2 通过 ton-http-api 直接查询 liteserver。v3 使用索引数据库来支持对交易、追踪、jettons 和 NFT 的更丰富查询。

如何选择 TON 端点提供商?

检查主网/测试网覆盖范围、方法支持、速率限制、身份验证、流式传输能力,以及您是否需要索引历史或专用节点。在 RPC 定价 上比较计划。

RPC 知识库

相关 RPC 内容

Network Rpc

Kava API 端点:开发者需要了解的内容

Kava 结合了 Cosmos SDK 和以太坊虚拟机 (EVM) 兼容性,提供多种 API 接口:Tendermint RPC、EVM JSON-RPC、REST API 和 WebSocket 端点。本文解释了可用的端点类型、如何连接以及为生产环境 dApp 选择 Kava API 提供者时需评...

Network Rpc

How do I find and use a Polygon RPC endpoint for development?

Polygon RPC endpoints allow developers to interact with the Polygon blockchain without running their own nodes. This article covers mainnet and testne...

Network Rpc

什么是适用于开发和生产的最佳 Solana 公共 RPC 端点?

# Solana 公共 RPC 端点:开发者指南 Solana 的公共 RPC 端点为开发和轻度使用提供免费的网络访问,但存在速率限制且无正常运行时间保证。本指南涵盖了官方公共端点、其局限性,以及何时升级到像 OnFinality 这样的专用 RPC 提供商以用于生产工作负载。 无论您是在构建 dA...

Network Rpc

选择 Monad RPC 提供商时应该关注什么?

# 选择 Monad RPC 提供商时应该关注什么? Monad RPC 提供商之所以重要,是因为 Web3 应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时为你提供扩展路径。 对于 Mona...

Network Rpc

Abstract RPC 端点:链设置、提供商和开发者工作流

Abstract 是基于 zkSync 的 ZK Stack 构建的以太坊 Layer 2 ZK-rollup,专为消费者加密应用设计。本文涵盖 Abstract RPC 端点、链设置、提供商选择标准以及实用代码示例,帮助您连接并构建在 Abstract 主网和测试网上。...

Network Rpc

Polkadot Asset Hub 迁移:开发者中继链过渡指南

# Polkadot Asset Hub 迁移:开发者中继链过渡指南 Polkadot Asset Hub 迁移于 2025 年 11 月 4 日执行,将核心面向用户的功能——余额、质押、治理——从中继链迁移到 Asset Hub 系统平行链。这一架构转变减少了中继链的膨胀,实现了更快的升级,并为 ...

永远不用担心基础设施

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

开始