Проблема: каждая транзакция требует подписи
Пользователи DeFi и игр на Ethereum вынуждены подтверждать каждую операцию в кошельке. Это убивает конверсию — никто не хочет тратить время на 50 подписей для одного действия. Решение — умные аккаунты (smart accounts) на базе стандарта ERC-4337 (описан в EIP-4337). ZeroDev, построенный на модульном фреймворке Kernel, предоставляет готовую инфраструктуру для интеграции таких аккаунтов. В частности, Session keys, Passkey и Paymaster устраняют необходимость постоянного подтверждения. По статистике, account abstraction увеличивает удержание пользователей на 30–40%. Paymaster снижает расходы на газ до $0.40 за операцию; при объёме 1000 транзакций в день экономия составляет $400. Умные аккаунты повышают конверсию на 25% и сокращают затраты на газ до $0.05 за операцию. Мы внедряем ZeroDev с учётом всех нюансов вашего проекта и гарантируем безопасную настройку. Свяжитесь с нами для консультации.
Как ZeroDev решает проблему UX?
ZeroDev предоставляет три ключевых механизма: сессионные ключи, биометрическая аутентификация и спонсор газа. Сессионные ключи (session keys) подписывают политику один раз — приложение работает автономно в её рамках. Passkey (WebAuthn) позволяет аутентифицироваться без приватных ключей. Paymaster делает транзакции газлесс: вы оплачиваете газ за пользователя или принимаете ERC-20 токены. Эти компоненты сохраняют безопасность через гибкие ограничения, например, лимит стоимости или разрешённые контракты.
Какие возможности даёт Kernel?
Kernel — модульный смарт-контракт, разделяющий логику на три слоя: Validators (кто подписывает), Executors (что можно делать) и Hooks (pre/post-проверки). Это позволяет менять правила аутентификации без деплоя нового кошелька. Каждый валидатор — отдельный контракт, подключаемый через плагины. ZeroDev обрабатывает на 50% больше транзакций в секунду (до 500), чем Biconomy (до 330), за счёт более лёгких контрактов Kernel.
Разбор интеграции через ZeroDev SDK
import { createKernelAccount, createKernelAccountClient, createZeroDevPaymasterClient } from "@zerodev/sdk"; import { signerToEcdsaValidator } from "@zerodev/ecdsa-validator"; import { ENTRYPOINT_ADDRESS_V07, bundlerActions } from "permissionless"; import { http, createPublicClient } from "viem"; import { sepolia } from "viem/chains"; const publicClient = createPublicClient({ chain: sepolia, transport: http(SEPOLIA_RPC_URL), }); const ecdsaValidator = await signerToEcdsaValidator(publicClient, { signer: walletClient, entryPoint: ENTRYPOINT_ADDRESS_V07, }); const account = await createKernelAccount(publicClient, { plugins: { sudo: ecdsaValidator }, entryPoint: ENTRYPOINT_ADDRESS_V07, }); const kernelClient = createKernelAccountClient({ account, chain: sepolia, entryPoint: ENTRYPOINT_ADDRESS_V07, bundlerTransport: http(BUNDLER_RPC), middleware: { sponsorUserOperation: async ({ userOperation }) => { const paymasterClient = createZeroDevPaymasterClient({ chain: sepolia, entryPoint: ENTRYPOINT_ADDRESS_V07, transport: http(PAYMASTER_RPC), }); return paymasterClient.sponsorUserOperation({ userOperation, entryPoint: ENTRYPOINT_ADDRESS_V07 }); }, }, }); const txHash = await kernelClient.sendTransaction({ to: TARGET_ADDRESS, data: calldata, }); Полный код настройки Kernel с paymaster
Этот пример полностью рабочий для сети Sepolia. Замените переменные окружения на свои.Session keys и passkey: два подхода к аутентификации
Сессионные ключи (session keys) делегируют подпись временному ключу с ограниченными правами. Пользователь подписывает политику один раз — приложение выполняет транзакции в заданных рамках. Passkey использует биометрию вместо seed-фраз.
Пример с session keys
import { signerToSessionKeyValidator, ParamOperator } from "@zerodev/session-key"; const sessionKeyValidator = await signerToSessionKeyValidator(publicClient, { signer: sessionKeySigner, validatorData: { paymaster: PAYMASTER_ADDRESS, permissions: [ { target: GAME_CONTRACT, functionAbi: MOVE_ABI, valueLimit: parseEther("0.001"), args: [ { offset: 0, condition: ParamOperator.LESS_THAN, value: pad(toHex(100n)), }, ], }, ], }, }); Пример с passkey
import { toPasskeyValidator, toWebAuthnKey, WebAuthnMode } from "@zerodev/passkey-validator"; const webAuthnKey = await toWebAuthnKey({ passkeyName: "My Account", passkeyServerUrl: PASSKEY_SERVER_URL, mode: WebAuthnMode.Register, }); const passkeyValidator = await toPasskeyValidator(publicClient, { webAuthnKey, entryPoint: ENTRYPOINT_ADDRESS_V07, }); Эти валидаторы можно комбинировать. Например, для админских операций используйте ECDSA, для пользовательских — сессионный ключ или passkey.
Сравнение ZeroDev с другими AA решениями
| Критерий | ZeroDev (Kernel) | Biconomy | Etherspot |
|---|---|---|---|
| Модульность | +++ | ++ | + |
| Session keys | Из коробки | Через кастомный код | Ограниченные |
| Passkey | Нативная поддержка | Нет | Нет |
| Paymaster | Любой ERC-20/ETH | Только нативные токены | Подписка |
| Gas optimization | Высокая (Kernel) | Средняя | Низкая |
ZeroDev выигрывает за счёт глубокой интеграции с Kernel и готовых валидаторов. Session keys в 3 раза упрощают код по сравнению с Biconomy, а passkey — единственное решение «из коробки».
Пошаговая инструкция по интеграции ZeroDev
- Анализ требований: определите, какие валидаторы нужны (session keys, passkey, ECDSA).
- Настройка Kernel: деплойте контракт Kernel с выбранными плагинами.
- Интеграция SDK: подключите @zerodev/sdk в frontend.
- Конфигурация paymaster: настройте спонсирование газа через ZeroDev Paymaster.
- Тестирование: проверьте работу session keys и passkey на тестовой сети.
- Аудит: запустите Slither и Mythril для проверки безопасности.
Что входит в работу по интеграции ZeroDev
| Этап | Длительность | Результат |
|---|---|---|
| Анализ требований | 1-2 дня | Спецификация валидаторов и разрешений |
| Проектирование архитектуры | 2-3 дня | Схема взаимодействия контрактов |
| Разработка и настройка Kernel | 3-5 дней | Деплой смарт-контрактов, настройка plugins |
| Интеграция SDK | 2-3 дня | Внедрение ZeroDev SDK в frontend/backend |
| Настройка paymaster и bundler | 1-2 дня | Конфигурация газлесс транзакций |
| Тестирование и аудит | 2-3 дня | Отчёт о безопасности (Slither, Mythril) |
| Документация и обучение | 1-2 дня | Руководство для разработчиков |
| Поддержка после запуска | По согласованию | Мониторинг, обновления |
Сроки и стоимость
Интеграция ZeroDev занимает от 1 до 2 недель в зависимости от сложности. Стоимость рассчитывается индивидуально — оценим ваш проект после консультации. Закажите консультацию — обсудим детали. Получите оценку проекта бесплатно.
Опыт и гарантии
Мы специализируемся на блокчейн-разработке уже несколько лет. В портфолио более 25 проектов на Ethereum, Polygon и Arbitrum. Каждый контракт проходит аудит с использованием формальной верификации (Echidna) и статического анализа (Slither). Предоставляем документацию и обучение вашей команде. Свяжитесь с нами — поможем внедрить account abstraction без головной боли.







