Що таке bounceable і non-bounceable адреса в TON

Bounceable-адреса в TON — форма запису адреси з прапорцем, який просить повернути переказ, якщо отримувач не зміг його обробити.

Акаунт у TON визначається workchain і 256-бітним хешем — це «сира» адреса виду 0:abc…. Для людей її записують у user-friendly формі base64 з прапорцями та контрольною сумою. Два основні варіанти: bounceable (зазвичай починається з EQ) і non-bounceable (зазвичай UQ). Є також варіанти для тестової мережі. Важливо: усе це один і той самий акаунт, змінюється лише запис і поведінка переказу.

Прапорець bounce визначає, що станеться, якщо повідомлення не вдалося обробити. Якщо контракт отримувача не розгорнуто або він завершився помилкою, bounceable-переказ повертається відправнику за вирахуванням комісії. Для смарт-контрактів, які точно існують, це корисний захист.

З гаманцями користувачів усе навпаки. Новий гаманець у TON — неініціалізований контракт, доки з нього не відправлять першу транзакцію. Якщо надіслати на такий гаманець bounceable-переказ, кошти можуть повернутися. Тому гаманці рекомендують давати для звичайних гаманців non-bounceable адресу (UQ…), і саме її сучасні гаманці показують за замовчуванням.

Для розробника головне — нормалізувати адреси: порівнювати їх у «сирій» формі, а не як рядки, інакше EQ… і UQ… однієї адреси вважатимуться різними, і платіж не знайдеться. Також варто перевіряти прапорець testnet, щоб не прийняти тестову адресу в основній мережі.

Moonvex видає для оплати в TON окрему адресу на кожен платіж і самостійно зіставляє всі форми запису, тож клієнт може платити з будь-якого гаманця.

Часті запитання

EQ і UQ — це різні гаманці?

Ні, це один і той самий акаунт у різних формах запису. Відрізняється лише прапорець bounce.

Яку адресу TON давати клієнту для оплати?

Для звичайного гаманця — non-bounceable (UQ…), особливо якщо гаманець ще не ініціалізований. Для смарт-контрактів часто використовують bounceable.

Чому мій переказ TON повернувся?

Найімовірніше, ви надіслали bounceable-переказ на неініціалізований гаманець або контракт отримувача повернув помилку. Кошти повертаються за вирахуванням комісії.

Де це знадобиться

Пов’язані терміни

Почніть приймати оплату вже сьогодні

Обліковий запис і перший проєкт за хвилину, без абонентської плати.

Створити обліковий запис