TRON HTTP API 参考:开发人员的基本端点
TRON 全节点公开了 JSON-over-HTTP API,其本质上与以太坊的 JSON-RPC 类似,但面向方法 — wallet/getaccount、wallet/createtransaction、wallet/triggersmartcontract 等等。 TronGrid 托管负载平衡端点,因此大多数开发人员从不运行自己的节点。
此参考列出了您每天将用于余额、交易、合约调用和事件索引的端点。
基本 URL
| 网络 | TronGrid 基本 URL |
|---|---|
| 主网 | https://api.trongrid.io |
| Shasta 测试网 | https://api.shasta.trongrid.io |
| 尼罗河测试网 | https://nile.trongrid.io |
所有路径附加 /wallet/... 或使用 /v1/... REST 包装器。
注册 API 密钥:trongrid.io — 标头 TRON-PRO-API-KEY。
深入探讨:TronGrid API 指南。
请求格式
大多数wallet/*端点:
POST /wallet/getaccount
Content-Type: application/json
{"address": "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7", "visible": true}
visible: true → Base58 地址。 false → 带有 41 前缀的十六进制。
帐户端点
| 端点 | 目的 |
|---|---|
wallet/getaccount | TRX 余额、冻结、投票、权限 |
wallet/getaccountresource | 能源、可用带宽 |
wallet/validateaddress | 校验和验证 |
wallet/createaccount | 激活新帐户(费用TRX) |
getaccount 示例
curl -X POST https://api.trongrid.io/wallet/getaccount \
-H "TRON-PRO-API-KEY: $KEY" \
-d '{"address":"TYourAddress","visible":true}'
TRC-20余额使用合约调用或v1 API - 查询TRC-20余额。
交易端点
| 端点 | 目的 |
|---|---|
wallet/createtransaction | 构建TRX传输 |
wallet/broadcasttransaction | 提交签名的交易 |
wallet/gettransactionbyid | txid 的原始交易 |
wallet/gettransactioninfobyid | 收据、费用、日志、结果 |
wallet/gettransactioncountbyblocknum | 区块交易计数 |
验证流程:验证交易API。
const info = await fetch('https://api.trongrid.io/wallet/gettransactioninfobyid', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'TRON-PRO-API-KEY': key },
body: JSON.stringify({ value: txid })
}).then(r => r.json());
// info.receipt.result === 'SUCCESS'
智能合约端点
| 端点 | 目的 |
|---|---|
wallet/triggersmartcontract | 状态改变调用 |
wallet/triggerconstantcontract | 只读调用 |
wallet/deploycontract | 部署字节码 |
wallet/getcontract | 合约元数据 |
指南:触发智能合约。
v1 REST API
/v1/ 的更高级别 REST:
| 路径 | 目的 |
|---|---|
GET /v1/accounts/{address} | 账户摘要 |
GET /v1/accounts/{address}/transactions | TRX 发送 |
GET /v1/accounts/{address}/transactions/trc20 | TRC-20 接送 |
GET /v1/contracts/{address}/events | 合约活动 |
示例TRC-20历史记录:
GET /v1/accounts/TAddr.../transactions/trc20?only_confirmed=true&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t&limit=20
事件端点
GET /v1/contracts/{contract}/events?event_name=Transfer&only_confirmed=true
过滤客户端的 to 地址或使用块时间戳过滤器。
事件监听器 模式。
块端点
| 端点 | 目的 |
|---|---|
wallet/getnowblock | 最新区块 |
wallet/getblockbynum | 按号码阻止 |
wallet/getblockbyid | 按哈希阻止 |
对于支付系统中的确认计数很有用 - 接受 USDT 付款。
签名工作流程
典型的服务器流程:
createtransaction或triggersmartcontract→ 无符号交易- 使用私钥签名(TronWeb
trx.sign) broadcasttransaction→ txid
TronWeb 包含所有三个 — TronWeb 简介。
速率限制和错误
| HTTP 代码 | 意义 |
|---|---|
| 429 | 429速率受限 — 退避、升级密钥 |
| 503 | 503节点过载——重试 |
| 400 | 格式错误的请求 — 检查 visible 和地址格式 |
生产:缓存读取、websocket 替代品有限——按纪律进行轮询。
TronWeb 与原始 HTTP
| 使用TronWeb | 使用原始 HTTP |
|---|---|
| Node.js / 浏览器 dApp | Python、Go、Rust 服务 |
| ABI编码 | 定制微服务 |
| 快速原型制作 | 严格的依赖控制 |
安全性{#security}
- 切勿将私钥发布到TronGrid
- 本地或 HSM 签名
- API 密钥不像私钥那样保密,但不要提交给 Git
- 验证服务器端的所有地址 - 检查地址是否有效
测试网差异
相同的端点路径,不同的基本 URL。 USDT 合约地址在测试网上有所不同——使用 faucet 代币。
相关指南 {#相关}
常见问题解答
TRON 主网 API 的基本 URL 是什么?
https://api.trongrid.io 对应TronGrid。自托管节点在主机上使用相同的路径。
我需要 TronGrid 的 API 密钥吗?
建议用于生产 - 通过 TRON-PRO-API-KEY 标头实现更高的速率限制。
TRON API REST 还是 JSON-RPC?
混合 — 传统钱包/* POST JSON 加上 v1 REST 资源。与以太坊 JSON-RPC 不同。
如何通过API获取USDT余额?
触发constantcontract balanceOf(address) 或 v1 trc20 账户代币列表端点。
官方API文档在哪里?
Developers.tron.network 和 trongrid.io 上的 TronGrid 文档 — 本文总结了常见端点。
感谢你的反馈——帮助我们改进文档。