Адреса TRON

TRC20-адрес: формат, контракт против кошелька и получение через API

Почему адреса TRON начинаются с T, чем адрес контракта TRC20 отличается от адреса кошелька, и как создавать и отслеживать депозитные адреса TRC20 через REST.

7 дней бесплатно — для начала не нужна карта и KYC Некастодиальный — приватные ключи остаются под вашим контролем Тарифы от 49 €/мес (490 €/год) — посмотреть тарифы и лимиты запросов

TRC20-адрес — это идентификатор аккаунта для TRX и TRC-20-токенов, таких как USDT, в блокчейне TRON — строка Base58Check, начинающаяся с буквы T. Строите ли вы кассу, принимающую USDT-TRC20, или просто пытаетесь отличить адрес кошелька от адреса контракта, эта страница описывает формат и то, как генерировать и отслеживать TRC20-адреса через API. Полный технический разбор форм hex и Base58 — в руководстве по TRC20-адресам в блоге.

Что такое TRC20-адрес и что такое tron-адрес в целом?

У каждого аккаунта TRON, TRC20 или нет, есть один адрес, записываемый в двух эквивалентных формах: строка Base58Check, начинающаяся с T (форма, которую видят пользователи, например TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t), и hex-форма, начинающаяся с 41, используемая внутренне TVM — движком смарт-контрактов TRON. Tron-адрес не привязан к одному токену — на одном и том же адресе хранятся TRX, каждый TRC-10-токен и каждый TRC-20-токен, с которым взаимодействовал аккаунт, поскольку балансы TRC-20 хранятся в контракте каждого токена, с ключом в виде адреса, а не в самом адресе.

Адрес контракта против адреса кошелька

Две разные вещи используют один и тот же формат T... в TRON, и путаница между ними — распространённая ошибка интеграции. Адрес кошелька принадлежит пользователю или вашему собственному горячему кошельку и может отправлять и получать средства. Адрес trc20-контракта — например, TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t у USDT — идентифицирует смарт-контракт, который определяет конкретный токен и отслеживает баланс каждого держателя; вы никогда не отправляете на него средства напрямую как на цель депозита, вы указываете его как параметр при вызове перевода. Когда интеграция запрашивает «tron trc20 contract address», имеется в виду именно этот, второй тип — идентификатор токена, а не адрес назначения.

TRC10 против TRC20: два разных стандарта токенов

Токены TRC10 — это нативные протокольные активы: при их перемещении не выполняется смарт-контракт, поэтому перевод стоит только Bandwidth. Токены TRC20 живут в смарт-контракте, концептуально повторяют интерфейс ERC-20 и дополнительно расходуют Energy при каждом переводе, потому что контракт выполняет код для обновления таблицы балансов. USDT и почти любой коммерчески значимый токен TRON — это TRC20. Сравнение TRC10 и TRC20 подробно описывает механические и ценовые различия, если вы выбираете, по какому стандарту выпустить новый токен, — это актуально, если вы планируете создать собственный TRC20-токен, а не просто принимать существующие.

TRON — это не EVM: почему запрос «tron evm» неточен

Движок смарт-контрактов TRON, TVM, построен так, чтобы быть широко совместимым с контрактами Solidity, написанными для EVM Ethereum, поэтому код Solidity часто разворачивается в TRON с минимальными изменениями. Но TVM — это собственная среда выполнения, а не сам EVM: опкоды, эквивалентный gas учёт ресурсов (Energy и Bandwidth вместо gas) и кодирование адресов (Base58Check T-адреса вместо 0x) — всё это различается. «TRON EVM» как буквальное утверждение неточно; «на практике совместим с EVM для многих контрактов» — точная формулировка.

Создание и отслеживание TRC20-адреса через REST

ЭндпоинтЧто он делает
POST /api/v2/tron/addressesСгенерировать новый адрес TRON
POST /api/v2/tron/addresses/importИмпортировать приватный ключ, чтобы API мог подписывать от имени этого адреса
POST /api/v2/tron/webhooksЗарегистрировать вебхук для депозитов TRX, TRC-10 или TRC-20 на адрес
POST /api/v2/tron/transactions/trc20Отправить TRC-20-токен, например USDT, с адреса

Это охватывает то, как получить адрес TRC20-кошелька программно при любом объёме, необходимом вашей интеграции, без генерации адресов вручную в приложении-кошельке и копирования их в базу данных.

Строите кассу или бэкенд биржи, которым нужны TRC20-адреса в масштабе? Создайте бесплатный аккаунт и сгенерируйте пакет в testnet — 7-дневный пробный период, без карты, без KYC.

FAQ: TRC20-адреса

Идентификатор аккаунта для TRX и TRC-20-токенов в TRON, записанный как строка Base58Check, начинающаяся с T. На одном и том же адресе хранятся TRX и каждый TRC-10- или TRC-20-токен, полученный аккаунтом.

Адрес смарт-контракта, определяющего конкретный TRC-20-токен, — у USDT это TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Это идентификатор токена, который вы передаёте как параметр, а не адрес назначения, на который вы отправляете депозиты напрямую.

POST /api/v2/tron/addresses создаёт его через API. Регистрация вебхука на нём означает, что ваш бэкенд получит HMAC-подписанное уведомление в момент поступления депозита TRX, TRC-10 или TRC-20, без опроса.

Токены TRC10 — это нативные протокольные активы без выполнения контракта, поэтому их перемещение стоит только Bandwidth. Токены TRC20 работают через смарт-контракт и дополнительно расходуют Energy при каждом переводе. USDT в TRON — это TRC20.

Да — TRC20 является открытым стандартом, и развёртывание контракта, следующего ему, — это то, как появился любой TRC20-токен, включая USDT. После развёртывания адрес его контракта работает с тем же эндпоинтом POST /api/v2/tron/transactions/trc20, что и любой другой TRC-20-токен.

Нет. Среда выполнения TVM в TRON построена так, чтобы запускать большую часть кода Solidity, написанного для EVM Ethereum, но это отдельная реализация со своим собственным учётом ресурсов (Energy и Bandwidth) и собственным форматом адресов (Base58Check, а не 0x).

Готовы интегрировать TRON?

Создайте аккаунт и сгенерируйте тестовый TRC20-адрес уже сегодня — 7-дневный пробный период, без карты, без KYC. Полный справочник эндпоинтов — в документации TRON API, либо охватите все семь сетей с помощью multi-chain blockchain API.