Реалізація кросс-чейн мосту (Bridge) у мобільному криптогаманці
Найчастіший сценарій у мобільному криптогаманці: користувач надсилає USDC з Ethereum у Polygon, а кошти застряють у процесі фіналізації. Без коректного відстеження — паніка та негатив у підтримку. Ми вирішуємо це завдання інтеграцією агрегаторів кросс-чейн мостів з повноцінним моніторингом статусу. За 5 років роботи ми реалізували bridge-функціонал для 15+ криптогаманців, опрацювали сотні тисяч кросс-чейн переказів. Наш досвід дозволяє передбачати типові проблеми: нестача ліквідності в мості, помилки конфігурації destination-мережі, затримки через форки. Кожен такий кейс ми вирішували та документували, щоб користувач ніколи не втратив кошти.
Як працюють агрегатори мостів?
Агрегатори — це middleware, які об'єднують кілька bridge-протоколів в єдиний API. Додаток надсилає запит на переказ, агрегатор прораховує найкращий маршрут за швидкістю, комісією та фінальною сумою. Ми використовуємо перевірені рішення: Li.Fi, Squid Router, Stargate Finance. Кожен має свої сильні сторони. Порівняємо їх:
| Агрегатор | Покриття мереж | Час переказу | Комісія | Особливості |
|---|---|---|---|---|
| Li.Fi | 20+ EVM, Cosmos (через Squid) | 1-20 хв | 0.1-0.5% + фікс. | Вбудоване відновлення |
| Squid Router | EVM, Cosmos, Polkadot | 2-15 хв | 0.3-0.8% | Маршрутизація через Axelar |
| Stargate (LayerZero) | Основні EVM | 3-10 хв | ~$2 фікс. | Тільки стабільні монети |
Li.Fi — найгнучкіший, підтримує recoverTx для завислих переказів. Squid кращий для Cosmos. Stargate — простий та швидкий для USDC/USDT.
Як обрати підходящий бридж для вашого гаманця?
Важливо враховувати: які мережі потрібні користувачам? Які токени? Якщо тільки EVM та стейбли — Stargate достатньо. Якщо потрібні Cosmos або Polkadot — підключаємо Squid через Li.Fi. У будь-якому випадку інтеграція через агрегатор — один API для десятків мостів.
// iOS — маршрути через Li.Fi SDK import LiFi let lifi = LIFI() let routesRequest = RoutesRequest( fromChainId: 1, // Ethereum toChainId: 137, // Polygon fromTokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC toTokenAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", fromAmount: "100000000" // 100 USDC (6 decimals) ) let routes = try await lifi.getRoutes(request: routesRequest) Детальний опис API можна знайти в документації Li.Fi.
Маршрутизація та вибір бриджа
Li.Fi повертає кілька маршрутів з різними параметрами. Показувати користувачу:
| Маршрут | Час | Комісія | Отримаєте |
|---|---|---|---|
| Stargate | ~5 хв | $2.50 | 97.5 USDC |
| Hop Protocol | ~20 хв | $1.80 | 98.2 USDC |
| Across | ~3 хв | $3.10 | 96.9 USDC |
Сортування за замовчуванням — максимальний output. Дати перемикач «швидше» / «дешевше».
Як реалізувати фонове відстеження переказу?
Після відправки транзакції в мережі A користувач отримує txHash у source chain. Кошти з'являться в destination chain через час, що залежить від механізму фіналізації.
Li.Fi надає status API: GET /v1/status?txHash={hash}&fromChain={chainId}&toChain={chainId}&bridge={bridgeName}. Статуси: PENDING → DONE / FAILED.
// Android — polling статусу бриджа suspend fun pollBridgeStatus(txHash: String, fromChain: Int, toChain: Int): BridgeStatus { repeat(180) { // 30 хвилин * 10 сек delay(10_000) val status = lifiBridgeApi.getStatus(txHash, fromChain, toChain) if (status.status == "DONE" || status.status == "FAILED") return status } return BridgeStatus(status = "TIMEOUT") } Polling у фоні — через WorkManager (Android) або BackgroundTasks (iOS), щоб користувач отримав push-сповіщення після завершення, навіть якщо закрив додаток.
Обробка завислих переказів
Деякі бриджі не мають автоматичного повернення при помилці. Li.Fi надає recoverTx API для частини випадків. Потрібно зберігати всю історію bridge-транзакцій локально з можливістю повторної перевірки та посиланням на support бриджа. Ми гарантуємо, що жодна транзакція не залишиться без уваги — всі статуси логуються та доступні в інтерфейсі. Якщо кошти не прийшли протягом 30 хвилин, користувач може ініціювати повторну перевірку. У рідкісних випадках потрібне ручне відновлення через API агрегатора — наші інженери допомагають з цим у рамках підтримки.
Процес роботи над інтеграцією
- Аналіз вимог: підтримка мереж, токенів, сценаріїв використання.
- Вибір агрегатора та архітектури інтеграції.
- Реалізація API виклику та обробки відповідей.
- Фонове відстеження з push-сповіщеннями.
- Тестування на тестових мережах (Rinkeby, Goerli, Mumbai) з реальними транзакціями.
- Деплой у продакшен та моніторинг.
Що входить у роботу
При замовленні інтеграції ми надаємо:
- Документацію з інтеграції агрегатора та архітектури.
- Доступ до API та SDK з прикладами коду для iOS та Android.
- Навчання команди замовника роботі з bridge-функціоналом.
- Супровід на етапі тестування та деплою.
- Гарантійна підтримка після запуску.
Строки
Інтеграція через агрегатор з одним підтримуваним маршрутом — 1–2 тижні. Мультиагрегаторна система з вибором маршрутів, відстеженням у фоні та історією — 3–6 тижнів. Зв'яжіться з нами — оцінимо ваш проект за один робочий день. Ми готові реалізувати кросс-чейн функціонал у вашому гаманці — отримайте консультацію інженера з 10-річним досвідом у мобільній розробці під ключ.







