Разработка мультичейн-кошелька с поддержкой EVM, Solana, Cosmos

Разработка криптокошелька, поддерживающего несколько сетей, — это не просто «подключить несколько сетей». Это комплексная система, которая должна корректно обрабатывать принципиально разные блокчейн-архитектуры: EVM-совместимые цепи (Ethereum, Arbitrum, Polygon, BSC), EVM-несовместимые (Solana, Sui,

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

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

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

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

Разработка криптокошелька, поддерживающего несколько сетей, — это не просто «подключить несколько сетей». Это комплексная система, которая должна корректно обрабатывать принципиально разные блокчейн-архитектуры: EVM-совместимые цепи (Ethereum, Arbitrum, Polygon, BSC), EVM-несовместимые (Solana, Sui, Aptos), Bitcoin с UTXO-моделью, Cosmos экосистему с IBC. Каждая имеет свою криптографию, формат транзакций, fee-механизм и модель аккаунтов. Без грамотной абстракции поддержка каждой новой сети превращается в переписывание половины кодовой базы — именно так рождаются баги и затягиваются сроки. Дополнительно встают вопросы gas optimization: в EVM-сетях стоимость транзакции зависит от газа, а в Solana — от приоритета, что требует разных стратегий оценки комиссии.

Мы решаем эту проблему с помощью Chain Abstraction Layer — единого интерфейса для всех сетей. Это позволяет добавить новую цепь за 1-2 недели вместо 2-3 месяцев. На практике это означает экономию до 40% на каждой интеграции. Такой подход в 3 раза быстрее ручной реализации. Оценим ваш проект за 2 дня — свяжитесь с нами.

Как работает деривация ключей в мультичейн кошельке?

Все современные мультичейн кошельки строятся на BIP-32/BIP-39/BIP-44 стандартах. Одна seed-фраза (12-24 слова) → один мастер ключ → дерево дочерних ключей для каждой сети. Стандарт BIP-44 определяет путь деривации: m / purpose' / coin_type' / account' / change / index. Путь состоит из 5 уровней: purpose (фиксирован 44'), coin_type (например, 0 для Bitcoin, 60 для Ethereum, 501 для Solana), account, change (0 для внешних, 1 для сдачи), index (адреса). Это позволяет восстанавливать все ключи из одной seed-фразы.

import { HDNodeWallet, Mnemonic } from 'ethers'; import { derivePath } from 'ed25519-hd-key'; import * as bip39 from 'bip39'; const mnemonic = Mnemonic.fromEntropy(crypto.getRandomValues(new Uint8Array(16))); const seed = await bip39.mnemonicToSeed(mnemonic.phrase); const evmWallet = HDNodeWallet.fromSeed(seed).derivePath("m/44'/60'/0'/0/0"); console.log('EVM address:', evmWallet.address); const solanaPath = "m/44'/501'/0'/0'"; const { key: solanaPrivKey } = derivePath(solanaPath, seed.toString('hex')); 

Что такое Chain Abstraction Layer?

Архитектура мультичейн кошелька строится на адаптерах — объектах, единообразно работающих с разными сетями. Это ключевая абстракция, скрывающая различия в криптографии, форматах транзакций и RPC.

interface ChainAdapter { chainId: string; chainName: string; getAddress(publicKey: Uint8Array): string; getBalance(address: string): Promise<bigint>; buildTransaction(params: TxParams): Promise<UnsignedTx>; signTransaction(tx: UnsignedTx, privateKey: Uint8Array): Promise<SignedTx>; broadcastTransaction(tx: SignedTx): Promise<string>; getTransactionStatus(txHash: string): Promise<TxStatus>; estimateFee(tx: UnsignedTx): Promise<FeeEstimate>; } class EVMAdapter implements ChainAdapter { private client: PublicClient; constructor(rpcUrl: string, public chainId: string, public chainName: string) { this.client = createPublicClient({ transport: http(rpcUrl) }); } async getBalance(address: string): Promise<bigint> { return this.client.getBalance({ address: address as `0x${string}` }); } async buildTransaction(params: TxParams): Promise<UnsignedTx> { const nonce = await this.client.getTransactionCount({ address: params.from as `0x${string}` }); const feeData = await this.client.estimateFeesPerGas(); return { to: params.to, value: params.value ?? 0n, data: params.data ?? '0x', nonce, maxFeePerGas: feeData.maxFeePerGas, maxPriorityFeePerGas: feeData.maxPriorityFeePerGas, chainId: BigInt(this.chainId), }; } } 

Как добавить новую цепь в мультичейн кошелёк?

  1. Реализовать ChainAdapter — описать кривую (secp256k1 или ed25519), формат транзакции, fee-модель.
  2. Добавить путь деривации в BIP-44 — назначить coin_type (для Bitcoin — 0, Ethereum — 60, Solana — 501).
  3. Протестировать подпись и отправку — проверить на testnet, убедиться, что explorer показывает транзакцию.
  4. Утвердить через pull request — код-ревью и автоматические тесты (Slither, фаззинг).

Этот процесс занимает 1–2 недели вместо 2–3 месяцев при ручной реализации. Наш Chain Abstraction Layer сокращает время интеграции в 3 раза.

Безопасное хранение и подпись

На мобильных платформах используем Secure Enclave (iOS) или StrongBox (Android). Ограничение: они не поддерживают secp256k1 напрямую, поэтому seed хранится зашифрованным в Keychain с биометрией. В Web Extension приватные ключи живут только в background service worker — content script не имеет к ним доступа. Производительность подписи на мобильных устройствах выше, чем у браузерных расширений, благодаря аппаратному ускорению.

func storeSeed(_ seed: Data) throws { let query: [String: Any] = [ kSecClass as String: kSecClassGenericPassword, kSecAttrAccount as String: "wallet_seed", kSecValueData as String: seed, kSecAttrAccessible as String: kSecAttrAccessibleWhenUnlockedThisDeviceOnly, kSecAttrAccessControl as String: SecAccessControlCreateWithFlags( nil, kSecAttrAccessibleWhenUnlockedThisDeviceOnly, [.biometryAny, .privateKeyUsage], nil )! ] let status = SecItemAdd(query as CFDictionary, nil) guard status == errSecSuccess else { throw KeychainError.unhandledError(status) } } 

Token discovery и NFT

Автопоиск токенов через Etherscan, Covalent или Solana getParsedTokenAccountsByOwner. NFT — Alchemy NFT API с кэшированием IPFS metadata. Пользователю не нужно добавлять токены вручную.

WalletConnect v2

Стандартный протокол связи с dApp. Подпись транзакций через eth_sendTransaction и personal_sign. Обработка сессий в background.

Сравнение блокчейнов: EVM, Solana, Bitcoin

Параметр EVM (Ethereum) Solana Bitcoin
Кривая подписи secp256k1 ed25519 secp256k1
Тип адреса hex (0x...) base58 bc1... (bech32)
Транзакции nonce-based parallel processing UTXO + script
Fee-модель EIP-1559 (base + priority) signature fee + priority sat/byte
DApp поддержка WalletConnect, MetaMask Phantom, Backpack BIP-322 (limited)

Стек и сроки

Компонент Технологии Срок
Core HD wallet bip39 + ethers.js + @solana/web3.js 2–3 недели
EVM multi-chain viem, 10+ сетей 2–3 недели
Solana интеграция @solana/web3.js + Metaplex 2 недели
Mobile (RN) React Native + Expo SecureStore 4–6 недель
Extension (Chrome) MV3 + chrome.storage 3–4 недели
WalletConnect v2 @walletconnect/web3wallet 1–2 недели
NFT + token discovery Alchemy/Moralis API 2–3 недели
UI/UX (полный) React Native / React 6–10 недель

Минимальный production-ready мультичейн кошелёк (EVM + Solana, mobile-first) — 4–5 месяцев. Добавление Bitcoin (UTXO модель) — ещё 4–6 недель. Расширение на Cosmos — 3–4 недели через cosmjs. Стоимость рассчитывается индивидуально.

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

  • Архитектурная документация и выбор стека
  • Реализация HD-кошелька с BIP-44, BIP-39
  • Интеграция 2+ сетей на выбор
  • Интерфейс управления токенами и NFT
  • Подключение WalletConnect v2
  • Аудит смарт-контрактов (внешний или автоматизированный)
  • Тестирование на реальных устройствах
  • Передача исходников и инструкция по деплою
  • Поддержка в течение 30 дней после релиза

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