TRON Справочник по HTTP API: основные конечные точки для разработчиков
Полные узлы TRON предоставляют API JSON-over-HTTP, аналогичный по духу JSON-RPC Ethereum, но ориентированный на методы — wallet/getaccount, wallet/createtransaction, wallet/triggersmartcontract и десятки других. TronGrid содержит конечные точки с балансировкой нагрузки, поэтому большинство разработчиков никогда не запускают собственный узел.
В этом справочнике перечислены конечные точки, которые вы будете использовать ежедневно для балансов, транзакций, вызовов контрактов и индексации событий.
Базовые URL-адреса
| Сеть | TronGrid базовый URL |
|---|---|
| Основная сеть | https://api.trongrid.io |
| Тестовая сеть Шаста | https://api.shasta.trongrid.io |
| Тестовая сеть Нила | ⟦Т10⟧ |
Ко всем путям добавляются /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
⟦Т1⟧
Балансы TRC-20 используют вызовы контракта или API версии 1 — запрос баланса TRC-20.
Конечные точки транзакции
| Конечная точка | Цель |
|---|---|
wallet/createtransaction | Сборка TRX переноса |
wallet/broadcasttransaction | Отправить подписанную передачу |
wallet/gettransactionbyid | Необработанная транзакция по txid |
wallet/gettransactioninfobyid | Квитанция, комиссия, логи, результат |
wallet/gettransactioncountbyblocknum | Блокировать количество передач |
Проверка потока: проверить API транзакции.
⟦Т2⟧
Конечные точки смарт-контракта
| Конечная точка | Цель |
|---|---|
wallet/triggersmartcontract | Звонок, меняющий состояние |
wallet/triggerconstantcontract | Вызов только для чтения |
wallet/deploycontract | Развертывание байт-кода |
wallet/getcontract | Метаданные контракта |
Руководство: триггерный смарт-контракт.
v1 REST API
REST более высокого уровня в /v1/:
| Путь | Цель |
|---|---|
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:
⟦Т3⟧
Конечные точки событий
⟦Т4⟧
Отфильтруйте на стороне клиента адрес to или используйте фильтры меток времени блокировки.
Прослушиватели событий шаблоны.
Блокировать конечные точки
| Конечная точка | Цель |
|---|---|
wallet/getnowblock | Последний блок |
wallet/getblockbynum | Блокировать по номеру |
wallet/getblockbyid | Блокировать по хешу |
Полезно для подсчета подтверждений в платежных системах — принимать платежи USDT.
Рабочий процесс подписи
Типичный процесс работы сервера:
createtransactionилиtriggersmartcontract→ беззнаковая передача- Войдите с помощью закрытого ключа (TronWeb
trx.sign) broadcasttransaction→ txid
TronWeb охватывает все три — TronWeb введение.
Ограничения скорости и ошибки
| HTTP-код | Значение |
|---|---|
| 429 | Ограничение скорости — отсрочка, ключ обновления |
| 503 | Перегрузка узла — повторить попытку |
| 400 | Неверный запрос — проверьте visible и формат адреса |
Производство: чтение кэша, альтернативы веб-сокетам ограничены — дисциплинированный опрос.
TronWeb против необработанного HTTP
| Используйте TronWeb | Использовать необработанный HTTP |
|---|---|
| Node.js/браузерное децентрализованное приложение | Сервисы Python, Go, Rust |
| Кодировка ABI | Пользовательские микросервисы |
| Быстрое прототипирование | Строгий контроль зависимостей |
Безопасность
- Никогда не отправляйте закрытые ключи на TronGrid.
- Подпишите локально или HSM
- Ключ API не является секретным, как закрытый ключ, но не передается в Git.
- Проверьте все адреса на стороне сервера — проверьте действительный адрес
Различия в тестовой сети
Те же пути к конечным точкам, другой базовый URL-адрес. USDT Адрес контракта отличается в тестовой сети — используйте токены сборщика.
Контрольный список устранения неполадок
Если что-то пойдет не так на TRON, отнеситесь к этому как к проблеме структурированной отладки: подтвердите точный txid в цепочке, проверьте адрес целевого контракта и только затем решите, можно ли устранить сбой. В TRON многие «загадочные» проблемы — это просто одна из следующих: неправильная сеть (основная сеть или тестовая сеть), неправильный контракт токена (поддельный USDT / токены с одинаковым названием), недостаточность ресурсов (OUT_OF_ENERGY / пропускная способность) или задержка пользовательского интерфейса/индексатора между кошельком и проводником.
Начните с этих цепочек проверок:- Всегда копируйте полный txid/хэш из своего кошелька или проводника.
- Подтвердите статус результата передачи на TronScan (SUCCESS, REVERT, OUT_OF_ENERGY или все еще в ожидании).
- Проверьте, соответствует ли адрес получателя/договора тому, что вы намеревались отправить.
- Если это вызов контракта, убедитесь, что селектор функций и параметры соответствуют стандарту токена, который, по вашему мнению, вы используете (TRC-20 vs TRC-10 vs BEP-20 на BSC).
Затем примените путь исправления для вашей категории:
- Подтвердите статус и параметры транзакции.
- Проверка адресов (контракт токена, получатель, маршрутизатор/отправитель).
- Добавляйте или делегируйте ресурсы (энергию/пропускную способность), если сбой связан с ресурсами.
Распространенные ошибки
Эти шаблоны вызывают большинство сбоев на уровне пользователя:
- Использование адресов основной сети в тестовой сети (или наоборот).
- Копирование символа токена вместо фактического адреса контракта TRC-20.
- Подписание неправильного адреса одобрения/платежа, поскольку ссылка пользовательского интерфейса является вредоносной или устаревшей.
- Повторная попытка без изменения ошибочного ввода (например, REVERT продолжает возвращаться до тех пор, пока вы не исправите параметр).
Если вы не уверены, не «просто отправьте еще раз». Внесите одно контролируемое изменение, проверьте на TronScan, затем продолжайте.
Часто задаваемые вопросы
Как узнать, действительно ли транзакция подтверждена?
Используйте TronScan и проверьте статус результата передачи. Ярлыки кошелька «ожидающие» могут отставать; Статус цепочки является источником истины. Скопируйте txid и проверьте SUCCESS/REVERT/OUT_OF_ENERGY, а не только текст пользовательского интерфейса.
Почему пользовательский интерфейс отличается от TronScan?
Некоторые кошельки и децентрализованные приложения используют разные индексаторы или уровни кэша. Короткая задержка между трансляцией и индексированием является нормальной; сравните txid и подождите, пока цепочка стабилизируется, прежде чем сделать вывод об ошибке.
Что мне делать после REVERT?
Остановитесь и декодируйте неудачный вызов. Большинство ошибок REVERT вызваны неверными параметрами, неправильным адресом контракта, отсутствием одобрений или несоответствием между стандартом токена и методом. Устраните причину и подпишите заново.
Безопасно ли подписывать неограниченное разрешение?
Неограниченное одобрение безопасно только для проверенных вами адресов доверенных отправителей (проверенный источник, правильный маршрутизатор и ожидаемый контракт токена). Для тестирования отдавайте предпочтение ограниченному утверждению и отзыву после завершения.
Какие ресурсы требуются TRON для вызовов по контракту?
Выполнение смарт-контракта в основном потребляет энергию, а байты транзакций потребляют пропускную способность. Если вы получили OUT_OF_ENERGY, добавьте/заморозьте/делегируйте Энергию. Если полоса пропускания исчерпана, сосредоточьтесь на том, чтобы сохранить достаточно жидкости TRX для байтов и распределения ресурсов.
Как я могу уменьшить количество обращений в службу поддержки?
Покажите пользователям четкое сообщение «что произошло» на основе статуса цепочки и дайте прямую ссылку на соответствующее руководство (ожидание, сбой, отсутствие энергии или проверка). Сохраните txid, чтобы можно было быстро выполнить согласование.
Похожие руководства {#связанные}
- TronGrid Руководство по API
- API запроса баланса TRC-20
- Отправить USDT программно
- TronScan руководство
Часто задаваемые вопросы
Каков базовый URL-адрес API основной сети TRON?
https://api.trongrid.io вместо TronGrid. Самостоятельные узлы используют те же пути на вашем хосте.
Нужен ли мне ключ API для TronGrid?
Рекомендуется для производства — более высокие ограничения скорости через заголовок TRON-PRO-API-KEY.
Это TRON API REST или JSON-RPC?
Гибрид — устаревший кошелек/* POST JSON плюс ресурсы REST v1. Не идентичен Ethereum JSON-RPC.
Как мне получить баланс USDT через API?
триггерконстантконтракт balanceOf(address) или v1 trc20 конечные точки списка токенов учетной записи.
Где официальная документация по API?
Документация TronGrid на сайтах Developers.tron.network и trongrid.io — в этой статье обобщаются общие конечные точки.
Спасибо — ваш фидбек помогает улучшать документацию.