Что такое конвертер Tron-адресов?
Конвертер Tron-адресов переводит один 20-байтовый аккаунт между тремя его написаниями: форма Base58Check T…, которую показывают кошельки (байт префикса 0x41, затем 20 байт, затем 4-байтовая контрольная сумма двойного SHA-256), 42-символьная hex-форма 41…, используемая API нод и сырыми транзакциями, и форма 0x…, используемая EVM-инструментами. Все три обозначают один и тот же аккаунт.
Три формы подробно
- Base58 (T…): 34 символа, в mainnet всегда начинается с T. Именно её показывают и принимают TronLink, Trust Wallet, Binance и OKX. Содержит 4-байтовую контрольную сумму двойного SHA-256.
- Hex (41…): 42 hex-символа: версионный байт 0x41, за которым следует 20-байтовый аккаунт. Используется в REST-ответах TronGrid, внутри
tronwebи в сырых транзакциях. - В стиле EVM (0x…): те же 20 байт с префиксом 0x, как в логах контрактов TVM и инструментах Solidity. Здесь показывается в вариантах с контрольной суммой EIP-55 и в нижнем регистре.
Как выполняется преобразование
- Base58 → hex: декодировать Base58, проверить и отбросить последние 4 байта контрольной суммы, вывести оставшийся 21 байт в hex.
- Hex → Base58: взять 41 + 40 hex, добавить первые 4 байта SHA-256(SHA-256(байты)), закодировать в Base58.
- 0x → Tron: добавить 41 перед 40 hex-символами и закодировать, как описано выше.
Пример
Контракт USDT TRC-20 в Base58 — TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Декодирование даёт 21-байтовую полезную нагрузку 41a614f803b6fd780986a42c78ec9c7f77e6ded13c плюс 4 байта контрольной суммы. Отбросив префикс 41 и добавив 0x, получаем EVM-форму 0xa614f803b6fd780986a42c78ec9c7f77e6ded13c — именно так этот контракт выглядит в логах событий TVM.
Форматы кратко
| Форма | Длина | Контрольная сумма | Где используется |
|---|---|---|---|
| Base58 T… | 34 символа | да, 4 байта | кошельки, биржи, QR-коды |
| Hex 41… | 42 hex-символа (21 байт) | нет | TronGrid, tronWeb, protobuf-транзакции |
| EVM 0x… | 42 символа (20 байт) | необязательный регистр EIP-55 | логи TVM, инструменты Solidity |
Типичные применения
- Запросы к эндпоинтам API вида
/v1/accounts/<hex>, принимающим только hex. - Декодирование параметра
toвызова TRC-20transferиз данных контракта. - Проверка, что присланный клиентом адрес депозита — корректный Tron-адрес, прежде чем зачислять вывод.
Создайте код для получения на проверенный адрес в генераторе QR-кода USDT TRC-20.