Address Format
Способы записи адреса контракта в TON: raw (0:hash), friendly base64 (EQ.../UQ...), URI ton://. Каждый формат служит своей задаче.
Синонимы: формат адреса, ton address forms, address forms
Address Format — это способы записи адреса контракта TON. В отличие от Ethereum, где адрес — это просто 0x плюс 40 hex-символов, в TON используется несколько вариантов представления, каждый со своей ролью.
Основные форматы
| Формат | Пример | Где видно |
|---|---|---|
| Raw | 0:abc… | API, SDK, отладка |
| Friendly bounceable | EQ… | Кошельки, dApp UI, по умолчанию |
| Friendly non-bounceable | UQ… | Адреса для новых кошельков |
| Friendly testnet | kQ… / 0Q… | Тестовая сеть |
| TON URI | ton://transfer/EQ…?amount=… | Диплинки, QR-коды |
Все они кодируют один и тот же объект — пару (workchain, hash). Различаются дополнительные флаги и наличие CRC-проверки.
Какой использовать когда
- Сохраняете адрес в коде или БД — raw. Универсально, нет неоднозначности.
- Показываете пользователю — friendly, причём bounceable/non-bounceable выбирается по статусу адресата.
- Делаете ссылку «отправить» — TON URI. Кошельки по deep-link открываются на форму перевода с заполненными полями.
- Передаёте между сервисами — обычно friendly, но обязательно фиксируйте формат: одно и то же значение в EQ и UQ — это разные строки.
Конвертация
Все основные SDK конвертируют форматы туда-обратно:
import { Address } from '@ton/core';
const addr = Address.parse('EQAbc…');
addr.toRawString(); // 0:abc…
addr.toString({ bounceable: false }); // UQ…
Эксплореры (TonViewer, TonScan) показывают сразу все форматы на странице контракта — удобно для отладки. Главное — не смешивать форматы между собой в одной системе: это типичный источник багов в интеграциях.