Интеграция TON Connect: dApp и Telegram Mini App

Подключение TON Connect в dApp и Telegram Mini App Мы интегрируем TON Connect в ваше dApp или Telegram Mini App — не просто «кошелёк для TON», а полноценный протокол связи между приложением и кошельком через bridge-сервер. В отличие от EVM, где `window.ethereum` инжектируется в страницу, TON-коше

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1451
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1270
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1011

Подключение TON Connect в dApp и Telegram Mini App

Мы интегрируем TON Connect в ваше dApp или Telegram Mini App — не просто «кошелёк для TON», а полноценный протокол связи между приложением и кошельком через bridge-сервер. В отличие от EVM, где window.ethereum инжектируется в страницу, TON-кошельки (Tonkeeper, MyTonWallet, Telegram Wallet) работают как отдельные приложения и общаются с dApp через зашифрованный канал. Это архитектурное различие критически важно для корректной интеграции. По данным TON (The Open Network) TON Connect используется более чем в 200 dApp, а время подключения кошелька сокращается на 40% по сравнению с прямым RPC.

Чем TON Connect отличается от EVM-кошельков?

Основное отличие — асинхронное соединение. В EVM кошелёк встроен в браузер, а в TON подключение устанавливается через QR-код или deeplink (в Telegram — напрямую). Протокол использует bridge-сервер для обмена сообщениями, что повышает безопасность: dApp никогда не получает приватный ключ. TON также поддерживает множественные сообщения в одной транзакции — это позволяет делать сложные вызовы смарт-контрактов за один шаг.

Параметр TON Connect EVM (MetaMask)
Механизм подключения Bridge-сервер Провайдер в браузере
Количество сообщений Несколько Одно
Время интеграции в React 15–30 минут 5–10 минут
Безопасность Приватный ключ не покидает кошелёк Приватный ключ не покидает кошелёк

Как настроить TON Connect в React dApp за 15 минут?

Установка библиотеки и инициализация:

npm install @tonconnect/ui-react 

Манифест — JSON-файл, который кошелёк показывает пользователю при подключении. Должен быть доступен по HTTPS:

// public/tonconnect-manifest.json { "url": "https://yourapp.com", "name": "Your dApp", "iconUrl": "https://yourapp.com/icon.png" } 

Обёртка приложения и готовая кнопка:

// main.tsx import { TonConnectUIProvider } from '@tonconnect/ui-react' root.render( <TonConnectUIProvider manifestUrl="https://yourapp.com/tonconnect-manifest.json"> <App /> </TonConnectUIProvider> ) // Компонент с кнопкой и кастомным UI import { TonConnectButton, useTonConnectUI, useTonAddress, useTonWallet } from '@tonconnect/ui-react' function WalletInfo() { const address = useTonAddress() const rawAddress = useTonAddress(false) const wallet = useTonWallet() const [tonConnectUI] = useTonConnectUI() return ( <div> <TonConnectButton /> <p>Адрес: {address}</p> <p>Кошелёк: {wallet?.device.appName}</p> <button onClick={() => tonConnectUI.disconnect()}>Disconnect</button> </div> ) } 

TON-адреса бывают двух форматов: user-friendly (EQD... или UQD...) и raw (0:abc...). User-friendly включает bounceable/non-bounceable. Для отправки на смарт-контракты используйте bounceable (EQ), для кошельков — non-bounceable (UQ).

Как отправить транзакцию и обработать ошибки?

TON Connect отправляет сообщения (messages). Одна транзакция может содержать несколько сообщений:

import { useTonConnectUI } from '@tonconnect/ui-react' import { toNano } from '@ton/ton' import { beginCell } from '@ton/ton' // Отправка транзакции function SendTon() { const [tonConnectUI] = useTonConnectUI() async function sendTransaction() { const transaction = { validUntil: Math.floor(Date.now() / 1000) + 360, messages: [ { address: 'EQD...contractAddress', amount: toNano('0.05').toString(), payload: 'te6ccgEBAQEAAgAAAA==', // base64 BOC } ] } const result = await tonConnectUI.sendTransaction(transaction) // result.boc — BOC подписанной транзакции } } // Построение payload для вызова jetton transfer const body = beginCell() .storeUint(0xf8a7ea5, 32) .storeUint(0, 64) .storeCoins(toNano('10')) .storeAddress(destinationAddress) .storeAddress(responseAddress) .storeBit(false) .storeCoins(toNano('0.01')) .storeBit(false) .endCell() 

payload — это BOC (Bag of Cells), сериализованная структура для вызова контракта. Типичная ошибка — неправильный bounceable флаг, что приводит к Invalid boc. Всегда проверяйте формат адреса и используйте toNano для конвертации.

Как восстановить сессию и работать с событиями?

TON Connect автоматически восстанавливает сессию из localStorage. Подписка на изменения статуса:

import { useTonConnectUI } from '@tonconnect/ui-react' const [tonConnectUI] = useTonConnectUI() useEffect(() => { const unsubscribe = tonConnectUI.onStatusChange((wallet) => { if (wallet) { console.log('Connected:', wallet.account.address) } else { console.log('Disconnected') } }) return unsubscribe }, [tonConnectUI]) 

В Telegram Mini App TON Connect работает через Telegram Wallet напрямую — без QR-кода. TonConnectUIProvider автоматически определяет контекст и показывает правильный UI. Перед рендером провайдера вызовите window.Telegram.WebApp.ready().

Почему стоит интегрировать TON Connect через нас?

Мы провели более 20 успешных интеграций TON Connect — от простых dApp до сложных DeFi-протоколов. Наш опыт показывает, что правильно настроенный TON Connect повышает конверсию подключений на 30-50% за счёт удобного UX и поддержки всех популярных кошельков. Мы гарантируем корректную работу на Tonkeeper, MyTonWallet, Telegram Wallet, а также на мобильных и десктопных устройствах.

Наш процесс интеграции TON

Этап Длительность Результат
Аналитика 1-2 дня Архитектурная схема, спецификация кошельков
Проектирование 1-2 дня Дизайн UI, подготовка манифеста
Реализация 3-7 дней Интеграция провайдера, кнопок, BOC-логики
Тестирование 2-3 дня Проверка на testnet, всех кошельках, обработка ошибок
Деплой 1 день Запуск на mainnet, мониторинг
Поддержка по договорённости Исправление багов, доработки

Сроки — от 5 до 15 дней в зависимости от сложности. Стоимость рассчитывается индивидуально. Точную оценку получите после консультации.

Что входит в работу

В стоимость входит: документация по интеграции, настройка manifest-файла, разработка кастомного UI подключения, тестирование на всех популярных кошельках (Tonkeeper, MyTonWallet, Telegram Wallet), обучение команды, пост-релизная поддержка.

Типичные ошибки при интеграции TON Connect

  • Неправильный bounceable флаг: для контрактов используйте EQ, для кошельков UQ. Иначе транзакция упадёт с ошибкой.
  • Invalid boc: проверяйте сериализацию payload через beginCell(), особенно storeCoins с toNano.
  • Истечение времени validUntil: ставьте запас 5-10 минут, иначе кошелёк отклонит транзакцию.
  • Отсутствие HTTPS для манифеста: кошелёк не подключается к dApp без HTTPS.

Как заказать интеграцию TON Connect?

Свяжитесь с нами для консультации — получите предварительный план внедрения и точную оценку стоимости. Закажите интеграцию TON Connect уже сегодня и обеспечьте своим пользователям безопасный и удобный вход в мир TON.

Согласно спецификации TON Connect Protocol, протокол поддерживает все современные кошельки TON и продолжает развиваться.