摘要
TON 网络 RPC URL 是你的 dApp 或机器人用来与 TON 区块链通信的端点。本文解释了官方公共端点、如何在代码中配置它,以及何时应考虑使用像 OnFinality 这样的托管 RPC 服务用于生产工作负载。
快速回答:TON RPC URL
官方公共 TON 网络 RPC URL 是 https://ton-rpc.onfinality.io。这个 HTTP 端点允许你使用标准的 JSON-RPC 方法交互 TON 区块链。如果你正在构建 dApp、钱包或机器人,这是你将用来发送交易、查询账户状态和读取区块链数据的 URL。
对于生产应用,依赖公共端点可能导致速率限制和停机。这时像 OnFinality 这样的托管 RPC 服务就派上用场了——提供专用端点、更高的吞吐量和更好的可靠性。你可以查看 RPC 定价 和 支持的 RPC 网络 列表来找到合适的方案。
决策指南:公共端点还是托管 RPC?
在将 URL 复制粘贴到代码之前,请考虑你的用例。公共端点适合测试和小型项目,但它有局限性:
- 速率限制:公共端点通常会限制请求,这可能在流量高峰时破坏你的应用。
- 正常运行时间:公共端点可能在没有警告的情况下宕机,影响你的用户。
- 支持:如果出现问题,你无法联系任何人。
如果你正在构建生产级 dApp,像 OnFinality 这样的托管 RPC 服务提供:
- 专用端点:没有共享速率限制,因此你的流量不会受到其他用户的影响。
- 更高的可靠性:具有监控和故障转移的托管基础设施。
- 支持:可以访问帮助你解决问题的团队。
快速建议:开发时从公共端点开始。当你准备启动时,切换到托管 RPC 服务以确保正常运行时间和性能。查看 如何选择 RPC 提供商 以深入了解。
什么是 TON 网络?
TON(开放网络)是一个为高速、低成本交易而设计的第 1 层区块链。它使用独特的分片架构,能够每秒处理数百万笔交易。TON 与 Telegram 紧密集成,使其成为迷你应用、机器人和支付的流行选择。
开发者使用其 RPC API 与 TON 交互,该 API 遵循 JSON-RPC 2.0 标准。RPC URL 是所有请求的入口点——无论是发送交易、查询智能合约还是获取账户余额。
TON RPC 端点:链设置一览
以下是连接 TON 主网所需的关键细节:
| 设置 | 值 |
|---|---|
| 网络名称 | TON 主网 |
| RPC URL | https://ton-rpc.onfinality.io |
| 传输 | HTTP |
| 链 ID | 不适用(TON 使用不同的模型) |
| 浏览器 | https://tonviewer.com |
注意:TON 不使用 EVM 风格的链 ID。相反,它使用工作链和分片结构。对于大多数开发者,你只需要 RPC URL。
如何连接 TON RPC:代码示例
让我们看看如何实际使用 TON RPC URL。我们将使用 JavaScript 和 ton npm 包,这是与 TON 交互的最常见方式。
安装 SDK
npm install ton
发送简单请求
import { TonClient } from "ton";
const client = new TonClient({
endpoint: "https://ton-rpc.onfinality.io",
});
async function getAccountBalance(address) {
const balance = await client.getBalance(address);
console.log(`Balance: ${balance}`);
}
getAccountBalance("EQD..."); // 替换为真实地址
使用 curl 进行原始 JSON-RPC 调用
如果你更喜欢用 curl 测试,可以发送原始 JSON-RPC 请求。例如,获取主链信息:
curl -X POST https://ton-rpc.onfinality.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"ton.getMasterchainInfo","params":[],"id":1}'
这将返回最新的主链区块信息。
理解 TON RPC 方法
TON RPC 使用一组与以太坊不同的方法。以下是一些常见方法:
| 方法 | 描述 |
|---|---|
ton.getMasterchainInfo | 获取最新的主链区块信息 |
ton.getAccountState | 获取账户的状态 |
ton.runGetMethod | 在智能合约上执行 get 方法 |
ton.sendMessage | 向网络发送消息 |
这些方法允许你构建各种应用,从简单的余额检查到复杂的智能合约交互。
常见陷阱及如何避免
在使用 TON RPC 时,开发者经常遇到几个问题:
1. 使用错误的端点
确保你使用的是主网端点(https://ton-rpc.onfinality.io),而不是测试网端点。如果你在测试,可以使用 TON 测试网 端点,但不要混淆它们。
2. 未正确处理错误
TON RPC 以标准 JSON-RPC 格式返回错误。始终检查响应中的 error 字段。例如:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32000,
"message": "Some error message"
}
}
3. 忽略速率限制
公共端点有速率限制。如果你发出大量请求,可能会收到 429 Too Many Requests 错误。为避免这种情况,请实现重试逻辑或使用托管服务。
调试你的 TON RPC 连接
如果你的请求失败,请按以下步骤进行调试:
- 检查 URL:确保你使用了正确的端点。
- 使用 curl 测试:使用上面的 curl 示例查看端点是否可达。
- 验证你的负载:确保你的 JSON-RPC 请求格式正确。
- 查看错误代码:常见代码包括
-32601(方法未找到)和-32602(参数无效)。 - 检查网络连接:如果你在防火墙后面,端点可能被阻止。
如果你仍然卡住,考虑使用提供支持的专用节点服务。OnFinality 的 专用节点 产品为你提供私有端点和直接访问专家的权限。
生产就绪检查清单
在将你的 TON 应用部署到生产环境之前,请检查以下清单:
- 使用托管 RPC 服务:避免对关键流量使用公共端点。
- 实现重试逻辑:优雅地处理瞬时故障。
- 监控你的端点:设置高错误率警报。
- 保护你的 API 密钥:如果你使用带有 API 密钥的服务,请确保它们的安全。
- 先在测试网上测试:使用 TON 测试网验证你的逻辑。
关键要点
- 官方 TON 网络 RPC URL 是
https://ton-rpc.onfinality.io。 - 开发时使用公共端点,但生产环境切换到托管服务。
- TON RPC 使用 JSON-RPC 2.0,但其方法是 TON 特有的。
- 始终在代码中处理错误和速率限制。
- 对于生产环境,考虑 OnFinality 的 RPC 服务 以获得可靠性和支持。
常见问题解答
什么是 TON 网络 RPC URL?
TON 网络 RPC URL 是 https://ton-rpc.onfinality.io。它是你通过 JSON-RPC 与 TON 区块链交互的端点。
TON RPC URL 免费使用吗?
是的,公共端点免费,但有速率限制。要获得更高的限制,你可以在 RPC 定价 上注册付费计划。
我可以将 WebSocket 与 TON RPC 一起使用吗?
TON RPC 主要使用 HTTP。某些提供商可能支持 WebSocket,但这不是标准。请咨询你的提供商了解详情。
如何获得专用的 TON RPC 端点?
你可以通过订阅像 OnFinality 的专用节点 这样的专用节点服务来获得专用的 TON RPC 端点。这将为你提供具有更高吞吐量的私有 URL。
公共 TON RPC 端点的速率限制是多少?
速率限制因提供商而异。公共端点通常允许每秒有限数量的请求。对于生产环境,请考虑付费计划以避免达到限制。