Разработка некастодиального кошелька

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка некастодиального кошелька
Средняя
~1-2 недели
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Разработка некастодиального кошелька

Некастодиальный кошелёк — это программа, в которой приватный ключ никогда не покидает устройство пользователя. Никакого промежуточного хранилища, никаких серверов, которые можно взломать или заморозить. Ключи у пользователя — значит, и активы у пользователя.

Архитектурные решения

Выбор архитектуры определяется двумя вопросами: на каком устройстве хранится ключ и как происходит подписание транзакций.

HD-кошелёк (Hierarchical Deterministic) по стандарту BIP-32/BIP-44 — базовая архитектура для большинства современных кошельков. Из одной seed-фразы (BIP-39, 12 или 24 слова) деривируется дерево ключей. Пользователь бэкапит только мнемонику, а кошелёк восстанавливает все аккаунты автоматически.

Дерево деривации для Ethereum: m/44'/60'/0'/0/n, где n — индекс аккаунта. Для Bitcoin разные сети используют разные coin_type: 0 для mainnet, 1 для testnet.

MPC-кошелёк (Multi-Party Computation) — приватный ключ никогда не существует целиком ни у одной стороны. Подписание происходит через протокол threshold signature scheme (TSS), например GG20 или CGGMP21. Это убирает single point of failure, но усложняет реализацию.

Smart contract wallet — EOA (Externally Owned Account) заменяется смарт-контрактом. Стандарт ERC-4337 (Account Abstraction) позволяет реализовать:

  • социальное восстановление
  • batched транзакции
  • gasless операции через Paymaster
  • мультиподпись без отдельного multisig-контракта

Безопасное хранение ключей

Это самая критичная часть. Подходы по платформам:

Платформа Решение Уровень безопасности
iOS Secure Enclave + Keychain Высокий
Android StrongBox / TEE + Keystore Высокий
Desktop OS keychain + AES-256 шифрование файла Средний
Browser Extension SubtleCrypto API + encrypted storage Средний
Hardware Secure Element (HSM) Максимальный

Seed-фраза шифруется через Argon2id (key derivation) с пользовательским паролем до записи в storage. Ни в коем случае не через MD5/SHA1.

Подключение к блокчейну

Web3 провайдеры: ethers.js 6.x или viem для EVM-совместимых сетей. Для мультичейн — wagmi как абстракция поверх.

RPC-эндпоинты: публичные ноды (Infura, Alchemy, QuickNode) для production. Для приватности — собственная нода или поддержка нескольких провайдеров с fallback.

WalletConnect v2 — стандартный протокол для подключения к dApp. Использует relay-сервер только для передачи зашифрованных сообщений, ключи по нему не передаются.

Подписание транзакций

Пользователь инициирует транзакцию → кошелёк показывает детали → пользователь подтверждает → ключ из Secure Storage подписывает данные → подписанная транзакция отправляется в сеть.

EIP-1559 транзакции используют maxFeePerGas и maxPriorityFeePerGas вместо gasPrice. Кошелёк должен получать актуальные данные из eth_feeHistory и предлагать три уровня скорости.

EIP-712 — структурированные данные для подписания (типизированные сообщения). Позволяет пользователю видеть что именно он подписывает, а не просто хеш.

Transaction simulation

Перед подписанием критически важно симулировать транзакцию. Tenderly, Alchemy Simulation API или локальный forked node позволяют:

  • Показать ожидаемые изменения балансов
  • Предупредить о подозрительном approve (unlimited approval)
  • Обнаружить попытку drain кошелька

Поддержка токенов и NFT

Автоматическое обнаружение ERC-20 через события Transfer + Moralis/Alchemy NFT API. Для кастомных токенов — ручной import по адресу контракта с верификацией через Etherscan API.

Что мы разрабатываем

Полный стек некастодиального кошелька: мобильное приложение (React Native или Flutter) или browser extension, HD-деривация с безопасным хранением seed, интеграция WalletConnect v2, поддержка EVM-сетей (Ethereum, BSC, Polygon, Arbitrum, Optimism), базовый token/NFT discovery, transaction simulation перед подписанием. Архитектура — без каких-либо серверных компонентов, хранящих ключи.