Интеграция 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 тысяч пользователей, протестировали совместимость с 30+ dApp и обеспечиваем стабильность соединения на уровне 99.9%. Такая интеграция снижает затраты на поддержку и ускоряет выход на рынок, окупаясь в среднем за полгода.

Как устроен транспорт 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 и кошелёк были на одном устройстве.

Транспорт Преимущества Недостатки
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, etc.).
  • Написание 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 в ваш кошелёк — получите стабильное решение с гарантией.