Інтеграція WalletConnect у мобільний криптододаток

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Інтеграція WalletConnect у мобільний криптододаток
Середній
~3-5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Інтеграція WalletConnect у мобільні крипто-додатки

WalletConnect — відкритий протокол для з'єднання мобільних гаманців з DApp. Користувачі сканують QR-код або переходять за deep link, щоб встановити безпечне зашифроване з'єднання між гаманцем і веб-додатком без зберігання приватних ключів на сервері DApp.

WalletConnect v2: що змінилось

WalletConnect v1 був позначений як deprecated у 2023 році. v2 (тепер називається Web3Modal SDK / AppKit) використовує централізований relay-сервер, але зберігає end-to-end криптографію. Ключові відмінності від v1:

  • Підтримка декількох мереж в одній сесії
  • Обов'язковий Project ID з cloud.walletconnect.com
  • Sign API v2 протокол замість Legacy API
  • Namespace-based запити: eip155:1 для Ethereum mainnet, solana:mainnet для Solana

Реалізація на iOS (Swift)

Офіційний SDK — WalletConnectSwiftV2. Встановіть через SPM:

// Package.swift або Xcode Package Manager
.package(url: "https://github.com/WalletConnect/WalletConnectSwift-v2", from: "1.9.0")

Ініціалізація:

Networking.configure(
    groupIdentifier: "group.com.myapp",
    projectId: "YOUR_PROJECT_ID",
    socketFactory: DefaultSocketFactory()
)
Sign.configure(crypto: DefaultCryptoProvider())

Обробка вхідних пропозицій сесії:

Sign.instance.sessionProposalPublisher
    .receive(on: DispatchQueue.main)
    .sink { [weak self] proposal in
        // Показуємо користувачу список запрошених методів і мереж
        self?.showApprovalAlert(proposal: proposal)
    }
    .store(in: &cancellables)

При одобренні створіть namespace об'єкт з підтримуваними методами (eth_sendTransaction, personal_sign, eth_signTypedData) і викличте Sign.instance.approve(proposalId:namespaces:).

Обробка запитів на підпис

Після встановлення сесії DApp відправляє запити. Найпоширеніший — personal_sign:

Sign.instance.sessionRequestPublisher
    .receive(on: DispatchQueue.main)
    .sink { [weak self] request in
        switch request.method {
        case "personal_sign":
            let params = try? request.params.get([String].self)
            let message = params?[0] ?? ""
            // Показуємо користувачу що підписується
            self?.showSignRequest(message: message, request: request)
        case "eth_sendTransaction":
            // Показуємо деталі трансакції
            break
        default:
            // Відхиляємо невідомі методи
            Task { try await Sign.instance.respond(
                topic: request.topic,
                requestId: request.id,
                response: .error(.methodNotFound)
            )}
        }
    }
    .store(in: &cancellables)

Важливо: ніколи не підписуйте автоматично — кожен запит на підпис потребує явного підтвердження користувача.

Deep link для мобільного використання

WalletConnect підтримує два режими: QR-коди (для desktop DApp) та Universal Link / Custom URL Scheme (для мобільних DApp). Для wallet-to-wallet з'єднання користувачі натискають кнопку в мобільному браузері DApp, який перенаправляє їх через deep link з wc:// URI.

Обробляйте URI в SceneDelegate / @main App:

.onOpenURL { url in
    if url.scheme == "wc" {
        Task { try await Sign.instance.pair(uri: WalletConnectURI(string: url.absoluteString)!) }
    }
}

Android

Для Android використовуйте WalletConnect Android Core (com.walletconnect:android-core) та sign бібліотеку. API подібний, але event-driven через CoreClient.Wallet.setWalletDelegate(delegate).

Тестування

WalletConnect надає тестовий DApp на lab.web3modal.com — корисний інструмент для тестування всіх методів підпису без реального блокчейну. Для трансакцій використовуйте тестові мережі (Sepolia, Mumbai).

Період: базова інтеграція WalletConnect v2 з personal_sign та eth_sendTransaction — 1–2 тижні. Повна підтримка multi-chain, eth_signTypedData v4, відзиву сесій та UI станів підключення — 3–4 тижні.