Если вы разрабатываете приложение в Telegram и хотите, чтобы пользователи могли входить без паролей - TON Connect это то, что вам нужно. Это простой, безопасный и быстрый способ подключить кошелек TON к вашему сервису, используя уже установленный клиент в Telegram. Никаких форм регистрации, никаких смс-кодов. Просто нажал - и ты внутри.
Что такое TON Connect?
TON Connect is a protocol that lets users authenticate with their TON wallet directly through Telegram without entering passwords or private keys. Also known as TON Connect Protocol, it was developed by the TON Foundation and launched in 2023. It works with popular wallets like Tonkeeper, Tonhub, and Wallet by TON.
Вместо того чтобы просить пользователя создать логин и пароль, вы предлагаете ему подключить его кошелек TON. Это работает потому, что каждый кошелек TON имеет уникальный публичный ключ, который можно проверить без доступа к приватному. Приватный ключ остается только у пользователя - в его приложении, на его устройстве. Вы не храните его. Вы не получаете его. Вы просто проверяете, что пользователь владеет этим кошелеком.
Как это работает на практике?
Представьте, что вы создаете игру в Telegram. Пользователь заходит в бота, нажимает кнопку «Войти», и перед ним появляется окно с запросом на подпись. Это не фишинг. Это не сайт, который выглядит как Telegram. Это официальное окно, созданное самим Telegram, с логотипом TON и названием вашего приложения. Пользователь видит: «Подтвердите вход в игру MyCryptoQuest». Он нажимает «Подтвердить» - и сразу попадает внутрь.
Вот пошагово, как это выглядит:
- Пользователь открывает ваше Telegram-приложение (бот или веб-приложение).
- Он нажимает кнопку «Войти через TON Connect».
- Telegram показывает ему окно авторизации от TON - с вашим названием, логотипом и запросом на подпись.
- Пользователь подтверждает действие в своем кошельке (Tonkeeper, Tonhub и т.д.).
- Ваше приложение получает публичный адрес кошелька и подпись, подтверждающую владение.
- Пользователь залогинен. Его кошелек теперь связан с его профилем в вашем сервисе.
Все это происходит за 2-3 секунды. Никаких капч, никаких восстановлений паролей, никаких «я забыл пароль».
Почему это лучше, чем логин/пароль?
Вот три главные причины, почему TON Connect выигрывает у традиционной авторизации:
- Нет паролей - пользователь не должен ничего запоминать. Он уже использует кошелек TON для транзакций, игр, NFT. Зачем ему еще один пароль?
- Нет хранения данных - вы не храните приватные ключи, не храните базы паролей. Это снижает риск взлома. Даже если ваш сервер взломают - там не будет ничего ценного.
- Работает везде - если пользователь установил Tonkeeper на iPhone или Tonhub на Android, он может войти с любого устройства. Его кошелек - это его идентификатор.
Сравните это с обычной системой: пользователь регистрируется, забывает пароль, получает письмо с восстановлением, не может его найти, переходит на другой телефон - и теряет доступ. С TON Connect этого не происходит. Кошелек остается у него. Он всегда с ним.
Как интегрировать TON Connect в своё приложение?
Если вы разработчик, интеграция занимает меньше часа. Вот что нужно сделать:
- Подключите библиотеку ton-connect - она есть на npm и GitHub. Для веб-приложений используйте
ton-connect-sdk. Для Telegram-ботов -ton-connect-web. - Создайте кнопку «Войти через TON» - она должна вызывать функцию
connect()из SDK. - Настройте домен - вы должны зарегистрировать домен (например,
myapp.ton) в TON DNS. Это нужно, чтобы Telegram доверял вашему приложению. Без этого окно авторизации не покажет ваш логотип и название. - Получите публичный ключ пользователя - после успешного подключения вы получите адрес кошелька в формате
EQ.... Сохраните его в своей базе данных как идентификатор пользователя. - Проверяйте подпись при каждом входе - это гарантирует, что пользователь все еще владеет кошельком.
Пример кода для веб-приложения:
import { TonConnect } from '@tonconnect/sdk';
const tonConnect = new TonConnect({
manifestUrl: 'https://myapp.ton/tonconnect-manifest.json'
});
async function connectWallet() {
const connection = await tonConnect.connect();
const address = connection.account.address;
console.log('Пользователь вошел с адреса:', address);
}
Файл tonconnect-manifest.json должен быть доступен по вашему домену и содержать название приложения, логотип, и URL для обратной связи. Без него Telegram не покажет пользователю вашу информацию - только технические детали.
Что нужно знать о безопасности?
Многие думают: «Если я не храню ключи - значит, безопасно». Это верно, но есть нюансы.
- Не передавайте приватные ключи - ни в коем случае. TON Connect не требует этого. Если ваш код просит пользователя ввести фразу восстановления - это фишинг. Удалите это немедленно.
- Проверяйте подпись - каждый раз, когда пользователь входит, вы должны проверять, что подпись действительно создана его кошельком. Используйте официальные библиотеки TON для этого.
- Используйте HTTPS - если ваш сайт работает по HTTP, Telegram заблокирует окно авторизации. Это требование платформы.
- Не храните кошелек как «логин» - сохраняйте его как идентификатор, но не как единственный способ доступа. Если пользователь потерял кошелек, он должен иметь возможность восстановить доступ через email или альтернативный метод.
Также важно: если пользователь потерял доступ к своему кошельку (например, удалил приложение), он не сможет войти. Это не ошибка - это особенность. Вы не можете восстановить доступ к кошельку за пользователя. Но вы можете предложить ему создать новый профиль и перенести данные вручную - если это ваша бизнес-модель.
Какие кошельки поддерживаются?
TON Connect работает со всеми популярными кошельками, которые поддерживают протокол. Вот основные:
| Кошелек | Поддержка | Платформы |
|---|---|---|
| Tonkeeper | Полная | iOS, Android, Web |
| Tonhub | Полная | iOS, Android |
| Wallet by TON | Полная | iOS, Android |
| Phantom (TON) | Частичная | iOS, Android |
| MetaMask (с поддержкой TON) | Частичная | Web, Browser Extension |
Если вы хотите максимальную совместимость - ориентируйтесь на Tonkeeper и Tonhub. Они используются более чем 80% всех пользователей TON в Telegram. Другие кошельки поддерживаются, но могут иметь ограничения в интерфейсе.
Примеры успешных интеграций
Многие приложения уже используют TON Connect. Вот несколько реальных кейсов:
- MyCryptoQuest - игра в Telegram, где игроки зарабатывают токены. Авторизация через TON Connect позволила снизить отказы при входе на 70%.
- TON News - новостной бот, где пользователи могут голосовать за статьи. Без регистрации - только через кошелек. Удержание пользователей выросло на 45%.
- TON Market - магазин NFT в Telegram. Пользователи покупают, не вводя данные. Продажи выросли на 60% за три месяца.
Все они начали с простого: «Войди через кошелек». И увидели, что люди не просто заходят - они остаются. Потому что это просто. Без трения.
Что дальше?
TON Connect - это не временная фича. Это будущее авторизации в Telegram. С каждым месяцем все больше приложений переходят на него. Компании, которые продолжают использовать логины и пароли, теряют пользователей. Они уходят туда, где вход занимает 2 секунды, а не 5 минут.
Если вы разрабатываете сервис в Telegram - начните с TON Connect. Это не просто удобно. Это экономит ваше время, снижает риски и делает ваш продукт современным. Пользователь не ищет сложности. Он ищет простоту. TON Connect - это простота, которая работает.
Можно ли использовать TON Connect без кошелька?
Нет. TON Connect работает только с кошельками, которые поддерживают протокол. Пользователь должен иметь установленный кошелек (Tonkeeper, Tonhub и т.д.). Без него авторизация невозможна.
Как пользователь узнает, что это не фишинг?
Telegram показывает окно авторизации с логотипом вашего приложения, названием и адресом кошелька. Окно создается самим Telegram, а не вашим сайтом. Если пользователь видит запрос от вашего домена (например, myapp.ton) и знает, что он запрашивал вход - он может быть уверен, что это безопасно.
Нужно ли платить за использование TON Connect?
Нет. TON Connect - это открытый протокол. Его можно использовать бесплатно. Нет подписок, нет комиссий. Только базовые транзакции TON (например, оплата газа за подпись), которые оплачивает пользователь - и они минимальны (около 0.01 TON).
Можно ли войти с компьютера через TON Connect?
Да, но только если пользователь использует мобильный кошелек. Например, если он открыл ваш сайт на компьютере, он увидит QR-код. Он сканирует его через Tonkeeper на телефоне - и авторизуется. Это работает, как в других кошельках (например, MetaMask).
Что делать, если пользователь потерял кошелек?
Если пользователь потерял доступ к кошельку, он не сможет войти обратно. Это ключевое отличие от традиционных систем. Вы можете предложить ему создать новый профиль и вручную перенести данные - например, через поддержку. Но восстановить доступ к старому кошельку нельзя - это принцип блокчейна.