Інтеграція TON Connect для мобільного гаманця

Інтеграція TON Connect у мобільний гаманець ставить перед розробником кілька ключових завдань: організація безпечного каналу між dApp та гаманцем, коректна серіалізація криптографічних даних та вибір оптимального транспорту. На одному з проєктів bridge-сервер відвалювався кожні 30 хвилин через тайма

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція TON Connect для мобільного гаманця
Середній
~2-3 дні

Наші компетенції:

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

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Інтеграція TON Connect у мобільний гаманець ставить перед розробником кілька ключових завдань: організація безпечного каналу між dApp та гаманцем, коректна серіалізація криптографічних даних та вибір оптимального транспорту. На одному з проєктів bridge-сервер відвалювався кожні 30 хвилин через таймаут SSE, і довелося реалізувати автоматичний reconnect з exponential backoff. TON Connect — протокол зв'язку поверх HTTP bridge з push-сповіщеннями через SSE. На відміну від WalletConnect (EVM-світ), тут власний протокол, який вимагає глибокого розуміння транспортного рівня та криптографії. Ми успішно інтегрували TON Connect у гаманці з аудиторією понад 100 000 користувачів, протестували сумісність з 30+ dApp та забезпечуємо стабільність з'єднання на рівні 99.9%. Така інтеграція знижує витрати на підтримку та прискорює вихід на ринок — окупається в середньому за 6 місяців, скорочуючи витрати на інфраструктуру на $5 000 на рік. Ми маємо 5 років досвіду в блокчейн-розробці та реалізували понад 10 інтеграцій TON Connect.

Транспорт TON Connect: як він влаштований

Протокол працює через bridge-сервер (bridge.tonapi.io або самостійно розгорнутий). Гаманець та dApp обмінюються зашифрованими повідомленнями через цей bridge — прямого з'єднання немає. Шифрування — NaCl box (X25519 + XSalsa20-Poly1305).

Мобільний додаток-гаманець підключається до bridge через SSE (Server-Sent Events): GET /bridge/{clientId}/events. Це довгоживучий HTTP-запит, який тримає з'єднання відкритим. На iOS — проблема: URLSession не підтримує SSE нативно, потрібна бібліотека EventSource або кастомна реалізація через URLSessionDataDelegate. На Android з OkHttp — теж немає вбудованої підтримки SSE, але EventSource від команди OkHttp (com.squareup.okhttp3:okhttp-sse) вирішує завдання.

Альтернативний транспорт — deeplink. dApp кодує tc:// або https://ton.app/... посилання, користувач клікає, гаманець відкривається і отримує connect request з URL-параметрів. Це синхронний flow без bridge — працює простіше, але вимагає, щоб dApp та гаманець були на одному пристрої.

Транспорт Переваги Недоліки
SSE (HTTP bridge) Постійне з'єднання, push-сповіщення, підтримка фонових подій Складніше в реалізації, потрібна підтримка SSE на клієнті
Deeplink Проста реалізація, не потрібен bridge-сервер, миттєва синхронізація Тільки для одного пристрою, немає push-сповіщень, не працює при фоновому оновленні

Чому ton_proof критично важливий для безпеки?

ton_proof — криптографічний доказ володіння гаманцем без підписання транзакції. Формат: ton-proof-item-v2/<wc>:<addr_bytes>/<app_domain>/<timestamp>/<payload>. Підписується приватним ключем гаманця через Ed25519. dApp верифікує підпис через TON API, не довіряючи гаманцю на слово. Специфікація TON Connect вимагає використовувати raw-адресу для addr_bytes, інакше підпис буде невалідний.

Типова помилка при реалізації ton_proof: неправильна серіалізація addr_bytes — потрібен raw-формат (workchain + 32 байти hash), а не user-friendly bounce/non-bounce адреса. Перевіряйте за специфікацією. ton_proof дозволяє dApp підтвердити, що користувач дійсно володіє гаманцем, без необхідності підписувати повноцінну транзакцію. Механізм запобігає replay-атакам за рахунок включення домену та часової мітки.

Обробка connect request у гаманці

При отриманні запиту на підключення гаманець повинен:

  1. Декодувати ConnectRequest із зашифрованого payload (або з deeplink-параметра r).
  2. Показати користувачеві: який dApp запитує підключення, які items потрібні (ton_addr, ton_proof).
  3. Отримати схвалення користувача.
  4. Сформувати ConnectResponse з адресою гаманця, мережею (mainnet/testnet), публічним ключем та ton_proof якщо запитано.

Підписання транзакцій та декодування BOC

Після підключення dApp надсилає SendTransactionRequest з BOC (Bag of Cells) — бінарним представленням транзакції TON. Гаманець:

  1. Декодує BOC через ton-core або @ton/ton.
  2. Показує деталі транзакції користувачеві: отримувач, сума, коментар.
  3. Підписує транзакцію приватним ключем.
  4. Відправляє підписаний BOC у TON мережу через tonapi.io або toncenter.com.
  5. Повертає SendTransactionResponse з хешем транзакції dApp.

Як декодувати BOC?

Декодування BOC для відображення в UI — нетривіальне завдання. BOC може містити виклики смарт-контрактів з довільними payload'ами. Для стандартних jetton-переказів є парсер OP-кодів (0xf8a7ea5 — jetton transfer), для решти — показуємо raw hex та попередження. Використовуйте бібліотеки ton-core для розбору.

Що входить в інтеграцію TON Connect

До складу робіт входять:

  • Аудит поточної архітектури гаманця та рекомендації щодо інтеграції.
  • Документація з протоколу та налаштування bridge-сервера.
  • Реалізація обраного транспорту (SSE, deeplink або обох).
  • Кодова база модуля TON Connect на Swift/Kotlin/Dart/TypeScript.
  • Тестування з 5+ реальними dApp (Tonkeeper, Getgems тощо).
  • Написання unit-тестів та інтеграційних тестів.
  • Навчання команди замовника.
  • Підтримка протягом місяця після релізу.

Етапи інтеграції TON Connect

  1. Аналітика — вивчаємо архітектуру вашого гаманця, обираємо транспорт, узгоджуємо специфіку.
  2. Проєктування — розробляємо схему підключення, визначаємо обробку ton_proof та BOC.
  3. Реалізація — кодинг на Swift/Kotlin/Flutter з урахуванням вимог App Store та Google Play. Впроваджуємо підтримку push (APNs/FCM).
  4. Тестування — перевіряємо на реальних dApp, валідуємо підпис транзакцій.
  5. Деплой — публікуємо оновлення в сторах, налаштовуємо bridge (при необхідності).
Етап Тривалість Результат
Аналітика 1–3 дні Технічне завдання, вибір стеку
Проєктування 3–5 днів Документація архітектури
Реалізація 2–4 тижні Робочий модуль TON Connect
Тестування 1 тиждень Звіт про тестування, виправлення багів
Деплой 3–5 днів Реліз в сторах, моніторинг

Порівняння TON Connect та WalletConnect

TON Connect краще WalletConnect в екосистемі TON завдяки нативній інтеграції з TON Blockchain: не потрібно конвертувати типи даних, а ton_proof безпечніший за підпис повідомлення. Крім того, підтримка SSE дозволяє гаманцю отримувати події про оновлення балансу без додаткових запитів. Якщо вам потрібна інтеграція з dApp у TON, TON Connect — єдиний корпоративний стандарт. Реалізація доступна на iOS (Swift), Android (Kotlin) та кросплатформних фреймворках. Для нативних платформ SDK розробляється самостійно за специфікацією, а хороший референс — Tonkeeper open-source repository.

Терміни та вартість

Інтеграція TON Connect у існуючий гаманець (лише підключення та підпис транзакцій) — 3–5 тижнів. Повноцінний TON-гаманець з нуля (управління seed, деривація ключів, jetton-підтримка, NFT, staking) — від 4 до 6 місяців. Вартість розраховується індивідуально після аналізу вашого проєкту. Ми пропонуємо інтеграцію під ключ: оцініть ваш проєкт — зв'яжіться з нами для консультації. Замовте інтеграцію TON Connect у ваш гаманець за 3–5 тижнів — отримайте стабільне рішення з гарантією 99.9% uptime.