TRC20-адрес: формат, контракт против кошелька и получение через API
Почему адреса TRON начинаются с T, чем адрес контракта TRC20 отличается от адреса кошелька, и как создавать и отслеживать депозитные адреса TRC20 через REST.
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-адреса
Готовы интегрировать TRON?
Создайте аккаунт и сгенерируйте тестовый TRC20-адрес уже сегодня — 7-дневный пробный период, без карты, без KYC. Полный справочник эндпоинтов — в документации TRON API, либо охватите все семь сетей с помощью multi-chain blockchain API.