Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

TON JSON-RPC:端点、方法及使用方法

摘要

TON JSON-RPC 是通往开放网络(The Open Network)的 JSON-RPC 2.0 接口,让您可以通过单个 HTTPS 端点查询账户状态、运行智能合约 get 方法以及发送交易。本文解释了端点结构、常用方法、身份验证,以及如何在公共、托管和专用 TON RPC 基础设施之间进行选择。

快速决策指南:哪种 TON RPC 设置适合您的应用?

在连接客户端之前,请决定哪种 TON RPC 访问模式符合您的工作负载。选择会影响延迟、速率限制以及您需要管理的基础设施量。

工作负载推荐访问方式原因
原型、黑客松、低流量机器人带 API 密钥的公共端点免费、快速启动,但有速率限制
生产环境 dApp、钱包或索引器托管 RPC 服务可靠的端点、扩展和支持
高吞吐量、自定义查询或合规要求专用节点完全控制、无共享速率限制、自定义配置

如果您需要具有可预测性能的托管端点,OnFinality 提供 TON RPC 端点TON 测试网 RPC,支持 HTTPS JSON-RPC。对于生产工作负载,托管服务可消除运行自己节点的运维负担。有关详细信息,请参阅 RPC 定价

什么是 TON JSON-RPC?

TON JSON-RPC 是通往开放网络(TON)的 JSON-RPC 2.0 接口,TON 是一个非 EVM 的第一层区块链。与以太坊的 JSON-RPC 不同,TON 的接口不兼容 EVM,并使用自己的一套方法。它提供了一个单一的 HTTPS 端点,您可以在其中调用方法读取区块链数据、运行智能合约 get 方法以及发送交易。

TON 节点内部使用二进制 ADNL 协议进行通信,该协议无法从 Web 应用程序直接访问。TON JSON-RPC 充当桥梁,将标准 HTTP JSON-RPC 请求转换为节点调用,并以熟悉的格式返回结果。

TON JSON-RPC 端点和身份验证

主要的 TON JSON-RPC 端点由 TON Center 提供:

  • 主网:https://toncenter.com/api/v2/jsonRPC
  • 测试网:https://testnet.toncenter.com/api/v2/jsonRPC

所有 API 方法都可通过此单一端点使用。您通过在 X-API-Key 标头中发送 API 密钥进行身份验证。没有密钥时,请求限制为每秒 1 次。有密钥时,限制更高,但仍适用。

示例请求:

curl -X POST "https://toncenter.com/api/v2/jsonRPC" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "getMasterchainInfo",
    "params": {}
  }'

响应:

{
  "ok": true,
  "result": {
    "last": {
      "workchain": -1,
      "shard": "-9223372036854775808",
      "seqno": 123456,
      "root_hash": "...",
      "file_hash": "..."
    },
    "state_root_hash": "...",
    "init": {
      "workchain": -1,
      "shard": "-9223372036854775808",
      "seqno": 0,
      "root_hash": "...",
      "file_hash": "..."
    }
  },
  "@extra": "...",
  "jsonrpc": "2.0",
  "id": "1"
}

常用 TON JSON-RPC 方法

TON JSON-RPC 公开了一组映射到 TON Center API v2 的方法。以下是最常用的方法:

方法描述
getMasterchainInfo返回最新的主链区块信息
getAddressBalance返回地址的余额(以 nanoTON 为单位)
getAddressInformation返回账户状态、余额、代码和数据
getWalletInformation返回钱包特定信息
runGetMethod在智能合约上执行 GET 方法
sendBoc向网络发送序列化消息(cell 包)
getTransactions返回地址的交易历史

有关完整列表,请参阅官方 TON 文档。

使用 JavaScript 调用 TON JSON-RPC

您可以使用任何语言调用 TON JSON-RPC。以下是使用 fetch 的 JavaScript 示例:

const endpoint = "https://toncenter.com/api/v2/jsonRPC";
const apiKey = "YOUR_API_KEY";

async function callTonRpc(method, params = {}) {
  const response = await fetch(endpoint, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": apiKey
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: "1",
      method,
      params
    })
  });
  return response.json();
}

// 获取地址余额
const balance = await callTonRpc("getAddressBalance", {
  address: "EQD..."
});
console.log(balance.result);

TON JSON-RPC 与 REST API 对比

TON Center 同时提供 REST 和 JSON-RPC 端点。REST API 为每个方法使用单独的 URL(例如 /getAddressBalance),而 JSON-RPC 使用带有 method 字段的单一端点。当您想要批量调用多个请求或更喜欢一致的接口时,JSON-RPC 非常有用。

公共、托管与专用 TON RPC 对比

使用 TON JSON-RPC 时,您有三个主要选项:

  1. 公共端点 – 免费但有速率限制(无密钥时 1 RPS)。适合测试和低流量应用。
  2. 托管 RPC 服务 – 提供具有更高速率限制、监控和支持的可靠端点。OnFinality 提供 TON RPC 作为托管服务。
  3. 专用节点 – 您拥有自己的 TON 节点,完全控制配置,无共享速率限制。这非常适合高吞吐量或自定义用例。

常见 TON JSON-RPC 问题排查

  • 401 Unauthorized:检查您的 API 密钥并确保其有效。
  • 403 Forbidden:您的 API 密钥可能没有请求方法的权限。
  • 429 Too Many Requests:您已超出速率限制。请等待或升级您的计划。
  • 422 Unprocessable Entity:您的请求参数无效。请检查方法签名。
  • 500 Internal Server Error:节点可能遇到问题。请稍后重试。
  • 504 Gateway Timeout:请求耗时过长。对于繁重查询,请考虑使用专用节点。

关键要点

  • TON JSON-RPC 是通往开放网络的 JSON-RPC 2.0 接口,使用单一 HTTPS 端点。
  • 通过 X-API-Key 标头进行身份验证;没有密钥时,限制为 1 RPS。
  • 常用方法包括 getMasterchainInfogetAddressBalancerunGetMethod
  • 根据您的工作负载和可靠性需求选择公共、托管或专用 RPC。
  • 对于生产环境,请考虑使用托管服务(如 OnFinality 的 TON RPC)以避免速率限制和运维开销。

常见问题解答

TON JSON-RPC 是否与以太坊 JSON-RPC 兼容? 不。TON 是非 EVM 区块链,因此其 JSON-RPC 方法不同。您不能使用 eth_getBalance 或其他 EVM 方法。

如何获取 TON API 密钥? 您可以通过在 TON Center 注册您的应用程序来获取密钥。像 OnFinality 这样的托管提供商也提供带有其端点的 API 密钥。

我可以将 WebSocket 与 TON JSON-RPC 一起使用吗? TON JSON-RPC 基于 HTTP。对于实时更新,TON 提供了单独的流式 API,支持 WebSocket。

TON JSON-RPC 的速率限制是多少? 没有 API 密钥时,限制为每秒 1 个请求。有密钥时,限制更高,但因提供商而异。

如何使用 TON JSON-RPC 发送交易? 您需要将交易序列化为 cell 包,并使用 sendBoc 方法。这比 EVM 交易更复杂。

有关更多详细信息,请探索 支持的 RPC 网络RPC 定价

RPC 知识库

相关 RPC 内容

RPC 提供商选择

共享与专用 Solana RPC 节点的成本差异是什么?

共享 Solana RPC 节点按使用量计费——根据请求量、计算单元或数据传输——对于开发和低至中等流量来说成本效益高。专用 Solana RPC 节点有较高的固定月费,但提供可预测的性能、资源隔离和无速率限制争用。正确的选择取决于你的应用程序的流量模式、延迟要求和预算。...

网络 RPCSolana

Solana RPC Access: Authentication, Rate Limits & Common Errors

Solana RPC access uses JSON-RPC over HTTP and WebSocket. Public endpoints such as https://api.mainnet-beta.solana.com require no key but enforce chang...

RPC 提供商选择Solana

2025年Solana验证者最佳API有哪些?

验证者需要用于监控、质押和RPC访问的API。本指南将介绍关键的API类别、评估标准,以及如何为您的验证者运营选择合适的基础设施。...

网络 RPCMangata X

什么是 Mangata X,如何连接其 RPC?

Mangata X 是一个社区拥有的、基于 Kusama 上 Substrate 应用链构建的全链去中心化交易所(DEX),旨在最小化 MEV 并实现跨链交换。本页介绍 Mangata X 是什么、如何连接其 RPC 端点,以及如何评估在其上构建的基础设施选项。...

网络 RPCUnichain

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

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

网络 RPCSonic

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

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

永远不用担心基础设施

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

开始