API y Acceso a Nodos
Conéctate a la red de TRON utilizando las APIs HTTP nativas, JSON-RPC compatible con Ethereum o endpoints gRPC de alto rendimiento. Esta guía detalla las opciones de proveedores gestionados como TronGrid y Alchemy, junto con las interfaces específicas necesarias para la interacción con contratos, indexación e integración con exchanges.
TronGrid — Acceso Administrado a Nodos
Sección titulada «TronGrid — Acceso Administrado a Nodos»TronGrid es el servicio oficial de nodos administrados de TRON, gestionado por el equipo de TronGrid. Es el camino más rápido hacia una conexión funcional y el equivalente de Infura o Alchemy para Ethereum.
| Red | URL base HTTP / JSON-RPC | gRPC |
|---|---|---|
| Red principal | https://api.trongrid.io | grpc.trongrid.io:50051 |
| Red de prueba Nile | https://nile.trongrid.io | grpc.nile.trongrid.io:50051 |
| Red de prueba Shasta | https://api.shasta.trongrid.io | grpc.shasta.trongrid.io:50051 |
TronGrid sirve la API FullNode, la API SolidityNode y el servidor de eventos desde una única URL base.
Claves de API
Sección titulada «Claves de API»TronGrid aplica límites de tasa en las solicitudes no autenticadas. Para uso en producción, regístrate para obtener una clave de API gratuita en trongrid.io y pásala en los encabezados de tu solicitud:
// Tarea: Configurar el SDK con una clave de API Pro de TronGrid para límites de tasa más altos.const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', headers: { 'TRON-PRO-API-KEY': process.env.TRONGRID_API_KEY }, privateKey: process.env.PRIVATE_KEY,});// Tarea: Realizar una solicitud HTTP autenticada a la API FullNode.curl -H "TRON-PRO-API-KEY: your_key_here" \ https://api.trongrid.io/wallet/getnowblockEl nivel gratuito es suficiente para desarrollo y uso en producción de bajo volumen.
Proveedores de Nodos de Terceros
Sección titulada «Proveedores de Nodos de Terceros»Varios proveedores de infraestructura importantes ofrecen acceso a nodos de TRON como servicio administrado, a menudo con límites de tasa más generosos o distribución geográfica que TronGrid.
| Proveedor | URL |
|---|---|
| Ankr | ankr.com/rpc/tron |
| Alchemy | alchemy.com/docs/reference/tron-api-quickstart |
| QuickNode | quicknode.com/chains/tron |
| GetBlock | getblock.io/nodes/trx |
| Chainstack | chainstack.com/build-better-with-tron |
| Tatum | tatum.io/chains/tron |
| TronQL | tronql.com |
| NOWNodes | nownodes.io/nodes/tron-trx |
Todos los proveedores exponen la misma superficie de API HTTP de TRON — cambia la URL de fullHost en tronweb y tu código no necesita ningún otro cambio.
API HTTP
Sección titulada «API HTTP»La API HTTP de TRON sigue una estructura similar a REST. Cada endpoint es una solicitud POST con un cuerpo JSON.
Endpoints Comunes
Sección titulada «Endpoints Comunes»# Tarea: Interactuar con los endpoints de cuentas y transacciones mediante curl.# Obtener el último bloquecurl -X POST https://api.trongrid.io/wallet/getnowblock
# Obtener información de cuentacurl -X POST https://api.trongrid.io/wallet/getaccount \ -d '{ "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb2Jq", "visible": true }'
# Obtener recursos de cuenta (Energía, Ancho de banda)curl -X POST https://api.trongrid.io/wallet/getaccountresource \ -d '{ "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb2Jq", "visible": true }'
# Transmitir una transacción firmadacurl -X POST https://api.trongrid.io/wallet/broadcasttransaction \ -d '{ "transaction": {...} }'
# Obtener transacción por hashcurl -X POST https://api.trongrid.io/wallet/gettransactionbyid \ -d '{ "value": "transaction_hash_hex" }'
# Obtener recibo de transaccióncurl -X POST https://api.trongrid.io/wallet/gettransactioninfobyid \ -d '{ "value": "transaction_hash_hex" }'Endpoints Extendidos de TronGrid
Sección titulada «Endpoints Extendidos de TronGrid»TronGrid añade endpoints amigables para desarrolladores más allá de la API FullNode base:
# Tarea: Consultar historial indexado mediante la API v1 de TronGrid.# Obtener transferencias de tokens TRC-20 de una direccióncurl https://api.trongrid.io/v1/accounts/{address}/transactions/trc20
# Obtener eventos del contratocurl https://api.trongrid.io/v1/contracts/{contractAddress}/events
# Obtener transacciones de la cuentacurl https://api.trongrid.io/v1/accounts/{address}/transactionsEstos admiten paginación mediante los parámetros de consulta limit, min_timestamp y max_timestamp.
JSON-RPC (Compatible con EVM)
Sección titulada «JSON-RPC (Compatible con EVM)»TRON expone un endpoint JSON-RPC compatible con el espacio de nombres eth_* de Ethereum. Esto permite que las herramientas EVM — MetaMask, ethers.js, Hardhat — interactúen directamente con TRON sin reescribir para la API nativa.
# Endpoint JSON-RPCPOST https://api.trongrid.io/jsonrpc// Tarea: Usar bibliotecas EVM estándar (Ethers.js) para consultar TRON mediante JSON-RPC.import { JsonRpcProvider } from "ethers"
const provider = new JsonRpcProvider('https://api.trongrid.io/jsonrpc');const blockNumber = await provider.getBlockNumber();Para aplicaciones de alto rendimiento — indexadores, backends de exchanges, pipelines de datos en tiempo real — la interfaz gRPC de TRON es significativamente más eficiente que HTTP.
# gRPC de la red principalgrpc.trongrid.io:50051 # FullNodegrpc.trongrid.io:50052 # SolidityNode (solo estado finalizado)
# gRPC de la red de prueba Nilegrpc.nile.trongrid.io:50051grpc.nile.trongrid.io:50061Las definiciones de protocol buffers están publicadas en github.com/tronprotocol/protocol. El SDK Trident-java envuelve la interfaz gRPC para aplicaciones Java.
Elegir la Interfaz Adecuada
Sección titulada «Elegir la Interfaz Adecuada»| Caso de uso | Interfaz recomendada |
|---|---|
| Frontend de DApp, scripts, uso general | tronweb sobre HTTP |
| Migración desde herramientas EVM de Ethereum | JSON-RPC |
| Aplicaciones backend en Java | Trident-java sobre gRPC |
| Aplicaciones backend en Go | gotron-sdk |
| Indexación de alto volumen | gRPC directamente |
| Monitoreo de eventos de contratos | API extendida de TronGrid (/v1/contracts/...) |