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

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

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

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

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

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

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

Етапи розробки

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

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

TON Connect — протокол взаємодії між dApp і гаманцем у екосистемі TON Blockchain. На відміну від WalletConnect (EVM-світ), тут власний протокол поверх HTTP-bridge з push-сповіщеннями через SSE. Реалізація в мобільному додатку вимагає розуміння не лише SDK, але й того, як працює транспортний рівень.

Як влаштований транспорт 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 team (com.squareup.okhttp3:okhttp-sse) вирішує задачу.

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

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

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

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

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

Типова помилка реалізації: неправильна серіалізація addr_bytes — потрібен raw-формат (workchain + 32 байти hash), не user-friendly bounce/non-bounce адреса.

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

Після підключення 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 для відображення в UI — нетривіальна задача. BOC може містити виклики smart-контрактів з довільними payload'ами. Для стандартних jetton-переводів є парсер OP-кодів (0xf8a7ea5 — jetton transfer), для решти — показуємо raw hex і попередження.

TON Connect SDK для мобіля

Офіційний @tonconnect/sdk написаний для JavaScript/TypeScript — у React Native працює з polyfills (react-native-crypto, buffer). Для нативних платформ офіційного SDK немає — реалізуємо протокол самостійно по специфікації або використовуємо community-бібліотеки (TonSdk.NET для MAUI, ton-kotlin для Android).

Tonkeeper — open source, відмінна референція для розуміння реальної реалізації TON Connect на мобілі.

Орієнтири за часом

Інтеграція TON Connect в існуючий гаманець (лише підключення та підпис транзакцій) — 3–5 тижнів. Повноцінний TON-гаманець з нуля (управління seed, деривація ключів, jetton-підтримка, NFT, staking) — 4–6 місяців.