TRON HTTP API 参考:开发人员的基本端点 — TRON Wiki

TRON HTTP API 参考:开发人员的基本端点

11 分钟阅读 · ⌘K 搜索

TRON 全节点公开了 JSON-over-HTTP API,其本质上与以太坊的 JSON-RPC 类似,但面向方法 — wallet/getaccountwallet/createtransactionwallet/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/getaccountTRX 余额、冻结、投票、权限
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/gettransactionbyidtxid 的原始交易
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}/transactionsTRX 发送
GET /v1/accounts/{address}/transactions/trc20TRC-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 付款

签名工作流程

典型的服务器流程:

  1. createtransactiontriggersmartcontract → 无符号交易
  2. 使用私钥签名(TronWebtrx.sign
  3. broadcasttransaction → txid

TronWeb 包含所有三个 — TronWeb 简介

速率限制和错误

HTTP 代码意义
429429速率受限 — 退避、升级密钥
503503节点过载——重试
400格式错误的请求 — 检查 visible 和地址格式

生产:缓存读取、websocket 替代品有限——按纪律进行轮询。

TronWeb 与原始 HTTP

使用TronWeb使用原始 HTTP
Node.js / 浏览器 dAppPython、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 文档 — 本文总结了常见端点。