KyberSwap — это децентрализованная торговая платформа, DEX-агрегатор которой обработал транзакции на сумму более 150 млрд долларов США для более чем 5 млн пользователей. Когда команда перевела фронтенд на Wagmi v3 и Viem, она заменила самописный код для обнаружения MetaMask официальным коннектором metaMask() из MetaMask Connect. В этом кейсе рассказываем, почему KyberSwap сделал этот шаг, что изменилось в мобильной веб-версии и как интеграция Connect сочетается с отдельной ролью KyberSwap, который предоставляет пользователям MetaMask курсы обмена.
Задача KyberSwap — лучший курс для каждой сделки
DEX Aggregator от KyberSwap — это децентрализованное торговое решение, созданное для того, чтобы обеспечивать лучшие курсы и надёжное исполнение каждой сделки. Он работает на Smart Settlement — алгоритме умной маршрутизации, который максимизирует результат и минимизирует проскальзывание благодаря доступу к глубокой ликвидности в разных сетях. Вокруг этого ядра построены лимитные ордера, кроссчейн-обмены в 23 сетях и Kyber Earn для доходных возможностей.
Платформа, ориентированная на качество исполнения, предъявляет простое требование к своей «входной двери»: подключение кошелька не должно требовать раздумий.
Самописный код для кошельков — это постоянные расходы на поддержку
Прежняя конфигурация KyberSwap сочетала Wagmi v2 с ethers.js и самописным слоем injected-коннекторов, включая собственный код для обнаружения MetaMask и подключения к нему. При переходе на Wagmi v3 и Viem команда решила отказаться от этого кода в пользу официального коннектора MetaMask Connect.
Решение продиктовали три причины. Теперь один коннектор охватывает и расширение для браузера на десктопе, и сценарий с deep link и relay в мобильной веб-версии. Меньше собственного кода для обнаружения кошельков, который нужно поддерживать. А следование поддерживаемому MetaMask пути позволяет KyberSwap оставаться в русле EIP-6963 и MetaMask Wallet Protocol (MWP), которые становятся стандартным способом взаимного обнаружения кошельков и dapp.
До | С MetaMask Connect |
Wagmi v2, ethers.js и самописная конфигурация injected-коннекторов | Wagmi v3 и Viem с официальным коннектором metaMask() |
Самописный код обнаружения и подключения MetaMask, который нужно поддерживать | Обнаружение и подключение выполняет коннектор |
В мобильной веб-версии использовался QR-код WalletConnect | Нативное подключение к приложению MetaMask через deep link и relay MWP |
Собственный код для отслеживания стандартов обнаружения кошельков | Соответствие EIP-6963 и MWP благодаря поддерживаемому MetaMask пути |
Как сделать мобильный переход безупречным
В мобильной веб-версии QR-код — неудобный способ: пользователь уже находится на своём телефоне. MetaMask Connect даёт KyberSwap сценарий подключения через deep link, который открывает приложение MetaMask через relay MWP, так что трейдер с телефона подключается, ничего не сканируя.
KyberSwap уделил особое внимание переходу на iOS. Цель состояла в том, чтобы пользователи попадали сразу на экран подтверждения в MetaMask, без лишних шагов между нажатием кнопки подключения и подтверждением. В итоге подключение выглядит одинаково, приходит ли трейдер через расширение на десктопе или через мобильное приложение.
Стек технологий
Уровень | Компоненты |
Трейдинг | KyberSwap DEX Aggregator, Smart Settlement, лимитные ордера, кроссчейн-обмены (23 сети), Kyber Earn |
Фронтенд | Wagmi v3, Viem |
Подключение кошелька | MetaMask Connect (connect-evm), коннектор metaMask() |
Обнаружение и передача данных | EIP-6963, relay MetaMask Wallet Protocol |
Кошелёк | Расширение MetaMask для браузера (десктоп), мобильное приложение MetaMask |
Результаты на данный момент
С момента внедрения MetaMask Connect в KyberSwap сообщают, что подключение работает для пользователей надёжно, запуск прошёл гладко с первого дня, а жалоб и проблем не поступало.
По словам KyberSwap, для пользователей результат заключается в том, что подключение и торговля теперь ощущаются как один шаг. Трейдер подключается через MetaMask и сразу переходит к обмену по лучшему курсу, без промежуточных действий. MetaMask Connect отвечает за «входную дверь» этого процесса, а Smart Settlement — за всё остальное.
Две интеграции — одно партнёрство
Интеграция Connect — лишь одна половина отношений KyberSwap с MetaMask. Вторая половина работает в обратном направлении: KyberSwap Aggregator API предоставляет пользователям MetaMask курсы обмена и исполнение сделок в разных сетях. MetaMask Connect приводит пользователей MetaMask в KyberSwap, а Aggregator API приносит маршрутизацию KyberSwap в MetaMask.
«MetaMask был ценным партнёром сразу в двух направлениях. MetaMask Connect упростил подключение трейдеров к KyberSwap, обеспечив им надёжный и единообразный опыт — через расширение или мобильное приложение. В то же время KyberSwap Aggregator API предоставляет пользователям MetaMask лучшие доступные курсы обмена и исполнение сделок в разных сетях. Это партнёрство построено на принципе, который для нас важнее всего: делать торговлю в DeFi проще, удобнее и эффективнее для каждого.» — Кен Тран, менеджер по развитию бизнеса, KyberSwap
Совет от KyberSwap для разработчиков
Опирайтесь на официальную документацию. Так ваша интеграция будет соответствовать стандарту, а переход пройдёт проще, чем при работе по устаревшим примерам или с самописной логикой подключения.
Переносите подключение кошелька в рамках более масштабной чистки стека. KyberSwap заменила свой код MetaMask при переходе на Wagmi v3 и Viem, поэтому смена коннектора была частью запланированной консолидации, а не отдельным проектом.
Протестируйте мобильный переход от начала до конца. Для пользователей важно, куда они попадают после нажатия кнопки подключения. KyberSwap проверила, что пользователи iOS сразу попадают на экран подтверждения в MetaMask.
Сопоставьте это со своей архитектурой. Для KyberSwap миграция прошла гладко, но у каждой команды свой стек, и правильное решение зависит от потребностей вашего продукта.
Создавайте продукты с MetaMask Connect: одна интеграция, которая подходит каждому пользователю, каким бы способом он ни подключался.