TRON Referencia de la API HTTP: puntos finales esenciales para desarrolladores
Los nodos completos TRON exponen una API JSON sobre HTTP similar en espíritu al JSON-RPC de Ethereum pero orientada a métodos: wallet/getaccount, wallet/createtransaction, wallet/triggersmartcontract y docenas más. TronGrid aloja puntos finales con carga equilibrada, por lo que la mayoría de los desarrolladores nunca ejecutan su propio nodo.
Esta referencia enumera los puntos finales que utilizará diariamente para saldos, transacciones, llamadas de contratos e indexación de eventos.
URL base
| Red | TronGrid URL base |
|---|---|
| Red principal | https://api.trongrid.io |
| Red de prueba de Shasta | https://api.shasta.trongrid.io |
| Red de prueba del Nilo | https://nile.trongrid.io |
Todas las rutas agregan /wallet/... o usan contenedores REST /v1/....
Registre la clave API: trongrid.io - encabezado TRON-PRO-API-KEY.
Análisis profundo: TronGrid Guía API.
Formato de solicitud
La mayoría de los puntos finales wallet/*:
POST /wallet/getaccount
Content-Type: application/json
{"address": "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7", "visible": true}
visible: true → Direcciones Base58. false → hexadecimal con prefijo 41.
Puntos finales de la cuenta
| Punto final | Propósito |
|---|---|
wallet/getaccount | TRX saldo, congelados, votos, permisos |
wallet/getaccountresource | Energía, ancho de banda disponible |
wallet/validateaddress | Validación de suma de comprobación |
wallet/createaccount | Activar nueva cuenta (costos TRX) |
ejemplo de obtención de cuenta
curl -X POST https://api.trongrid.io/wallet/getaccount \
-H "TRON-PRO-API-KEY: $KEY" \
-d '{"address":"TYourAddress","visible":true}'
Los saldos TRC-20 utilizan llamadas de contrato o API v1: consulta saldo TRC-20.
Puntos finales de transacción
| Punto final | Propósito |
|---|---|
wallet/createtransaction | Transferencia de compilación TRX |
wallet/broadcasttransaction | Enviar tx firmado |
wallet/gettransactionbyid | Transacción sin procesar por txid |
wallet/gettransactioninfobyid | Recibo, tarifa, registros, resultado |
wallet/gettransactioncountbyblocknum | Bloquear recuento de tx |
Verificar flujo: verificar API de transacción.
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'
Puntos finales de contrato inteligentes
| Punto final | Propósito |
|---|---|
wallet/triggersmartcontract | Llamada de cambio de estado |
wallet/triggerconstantcontract | Llamada de sólo lectura |
wallet/deploycontract | Implementar código de bytes |
wallet/getcontract | Metadatos del contrato |
Guía: activar contrato inteligente.
API REST v1
DESCANSO de nivel superior en /v1/:
| Camino | Propósito |
|---|---|
GET /v1/accounts/{address} | Resumen de cuenta |
GET /v1/accounts/{address}/transactions | TRX txs |
GET /v1/accounts/{address}/transactions/trc20 | Transferencias TRC-20 |
GET /v1/contracts/{address}/events | Eventos de contrato |
Ejemplo de historial TRC-20:
GET /v1/accounts/TAddr.../transactions/trc20?only_confirmed=true&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t&limit=20
Puntos finales de eventos
GET /v1/contracts/{contract}/events?event_name=Transfer&only_confirmed=true
Filtre el lado del cliente para la dirección to o utilice filtros de marca de tiempo de bloque.
Oyentes de eventos patrones.
Bloquear puntos finales
| Punto final | Propósito |
|---|---|
wallet/getnowblock | Último bloque |
wallet/getblockbynum | Bloquear por número |
wallet/getblockbyid | Bloquear por hash |
Útil para el recuento de confirmación en sistemas de pago: aceptar pagos USDT.
Flujo de trabajo de firma
Flujo típico del servidor:
createtransactionotriggersmartcontract→ tx sin firmar- Firmar con clave privada (TronWeb
trx.sign) broadcasttransaction→ txid
TronWeb envuelve los tres: TronWeb introducción.
Límites de tarifas y errores
| Código HTTP | Significado |
|---|---|
| 429 | Tarifa limitada: retroceso, clave de actualización |
| 503 | Sobrecarga de nodo: reintentar |
| 400 | Solicitud con formato incorrecto: marque visible y formato de dirección |
Producción: lecturas de caché, alternativas de websocket limitadas: encuesta con disciplina.
TronWeb frente a HTTP sin formato
| Utilice TronWeb | Utilice HTTP sin formato |
|---|---|
| Node.js/navegador dApp | Servicios Python, Go y Rust |
| Codificación ABI | Microservicios personalizados |
| Creación rápida de prototipos | Estricto control de dependencia |
Seguridad
- Nunca PUBLICAR claves privadas en TronGrid
- Firmar localmente o HSM
- La clave API no es secreta como la clave privada, pero no se comprometa con Git
- Validar todas las direcciones del lado del servidor — verificar dirección válida
Diferencias de Testnet
Mismas rutas de punto final, diferente URL base. USDT la dirección del contrato difiere en testnet: use tokens faucet.
Lista de verificación para solucionar problemas
Si algo sale mal en TRON, trátelo como un problema de depuración estructurado: confirme el txid exacto en la cadena, verifique la dirección del contrato de destino y solo entonces decida si la falla es recuperable. En TRON, muchos problemas "misteriosos" son simplemente uno de: red incorrecta (mainnet vs testnet), contrato de token incorrecto (falso USDT/tokens con nombres similares), recursos insuficientes (OUT_OF_ENERGY/ancho de banda) o retraso en la interfaz de usuario/indexador entre la billetera y el explorador.
Comience con estas comprobaciones en cadena:- Copie siempre el txid/hash completo de su billetera o explorador.
- Confirme el estado del resultado del tx en TronScan (SUCCESS, REVERT, OUT_OF_ENERGY o aún pendiente).
- Compruebe si la dirección del destinatario/contrato coincide con la que desea enviar.
- Si se trata de una llamada de contrato, confirme que el selector de función y los parámetros coincidan con el estándar de token que cree que está utilizando (TRC-20 vs TRC-10 vs BEP-20 en BSC).
Luego aplique la ruta de corrección para su categoría:
- Confirmar el estado y los parámetros de la transacción.
- Verificar direcciones (contrato de token, destinatario, enrutador/gastador).
- Agregar o delegar recursos (Energía/Ancho de banda) cuando el fallo esté basado en recursos.
Errores comunes
Estos patrones causan la mayoría de los errores a nivel de usuario:
- Usar direcciones de mainnet en testnet (o al revés).
- Copiar un símbolo de token en lugar de la dirección del contrato TRC-20 real.
- Firmar la dirección de aprobación/gastador incorrecta porque el enlace de la interfaz de usuario es malicioso o está desactualizado.
- Reintentar sin cambiar la entrada fallida (por ejemplo, REVERT sigue revirtiéndose hasta que corrija el parámetro).
Si no está seguro, no “simplemente envíe de nuevo”. Realice un cambio controlado, verifique en TronScan y luego continúe.
Preguntas frecuentes
¿Cómo sé si una transacción está realmente confirmada?
Utilice TronScan y verifique el estado del resultado del tx. Las etiquetas "pendientes" de la billetera pueden retrasarse; El estado de la cadena es la fuente de la verdad. Copie txid y verifique SUCCESS/REVERT/OUT_OF_ENERGY, no solo el texto de la interfaz de usuario.
¿Por qué la interfaz de usuario difiere de TronScan?
Algunas billeteras y dApps utilizan diferentes indexadores o capas de caché. Es normal que haya un breve retraso entre la transmisión y la indexación; compare txid y espere a que la cadena se estabilice antes de concluir que hay una falla.
¿Qué debo hacer después de un REVERT?
Detenga y decodifique la llamada fallida. La mayoría de los REVERT se deben a parámetros no válidos, dirección de contrato incorrecta, aprobaciones faltantes o una falta de coincidencia entre el estándar del token y el método. Solucione la causa y luego vuelva a firmar.
¿Es seguro firmar una aprobación ilimitada?
Las aprobaciones ilimitadas son seguras solo para direcciones de gastadores confiables que usted haya verificado (fuente verificada, enrutador correcto y contrato de token esperado). Para las pruebas, prefiera aprobaciones limitadas y revoque una vez que haya terminado.
¿Qué recursos requiere TRON para las llamadas de contrato?
La ejecución de contratos inteligentes consume principalmente energía, mientras que los bytes de transacciones consumen ancho de banda. Si recibe OUT_OF_ENERGY, agregue/congela/delegue energía. Si se agota el ancho de banda, concéntrese en mantener suficiente líquido TRX para bytes y asignación de recursos.
¿Cómo puedo reducir los tickets de soporte?
Muestre a los usuarios un mensaje claro de "qué sucedió" basado en el estado de la cadena y vincule directamente a la guía relevante (pendiente, fallida, sin energía o verificación). Guarda txid para que puedas conciliar rápidamente.
Guías relacionadas
Preguntas frecuentes
¿Cuál es la URL base para la API de la red principal TRON?
https://api.trongrid.io para TronGrid. Los nodos autohospedados utilizan las mismas rutas en su host.
¿Necesito una clave API para TronGrid?
Recomendado para producción: límites de velocidad más altos a través del encabezado TRON-PRO-API-KEY.
¿Es TRON API REST o JSON-RPC?
Híbrido: billetera heredada/* POST JSON más recursos REST v1. No es idéntico a Ethereum JSON-RPC.
¿Cómo obtengo saldo de USDT a través de API?
triggerconstantcontract balanceOf(address) o puntos finales de lista de tokens de cuenta v1 trc20.
¿Dónde está la documentación oficial de la API?
TronGrid documentos en desarrolladores.tron.network y trongrid.io: este artículo resume los puntos finales comunes.
Gracias — tu feedback nos ayuda a mejorar la documentación.