
Введение
Концепция абстракции учетной записи изменила то, как мы смотрим на дизайн цифрового кошелька. Абстракция учетной записи, как ее первоначально предложил Виталик Бутерин в 2015 году, — это радикальное изменение в управлении учетными записями блокчейна, устраняющее строгие ограничения традиционной структуры учетных записей пользователей.
Эта технология позволит разработчикам создавать более гибкие и удобные кошельки, которые смогут работать в разных блокчейн-сетях.
Основа абстракции учетной записи
Абстракция учетных записей сильно меняет то, как люди взаимодействуют с блокчейн-сетями. Вместо того, чтобы использовать заранее определенные правила в блокчейне, разработчики могут создавать учетные записи смарт-контрактов для хранения активов и управления транзакциями с помощью настраиваемой логики.
В этом проекте кошельки могут:
- •Обрабатывайте транзакции пользователей без необходимости вручную подписывать каждую транзакцию
- •Работайте, не занимаясь физическим управлением приватными ключами
- •Связывайте с другими контрактами через функции смарт-контрактов
- •Обслуживайте много пользователей одновременно
- •Используйте свою бизнес-логику
Смарт-контракты могут взаимодействовать с другими контрактами, обслуживать много пользователей и выполнять особую бизнес-логику, что дает беспрецедентную гибкость в дизайне кошельков.
Пошаговый процесс разработки
Понимание сложностей абстракции учетных записей
Процесс разработки начинается с правильного понимания сложностей абстракции учетных записей, прежде чем переходить к протоколам соединения и системам межсетевого взаимодействия. Это подразумевает понимание того, как можно разработать удобные интерфейсы, не ставя под угрозу безопасность и функциональность традиционных учетных записей блокчейна.
Выбор платформы
Следующим шагом будет выбор подходящей платформы в блокчейне, а потом плавное отделение учетных записей пользователей с прямым подключением к блокчейну, который поддерживает все нужные функции.
Ethereum по-прежнему остается фаворитом, потому что он широко поддерживает предложения по улучшению, такие как ERC-4337, который предлагает стандартную абстракцию реализации учетных записей. Тем не менее, разработчикам нужно будет подумать о разных платформах в зависимости от:
- •Их собственные специфические потребности
- •Требования к встроенным функциям
- •Что можно улучшить и обновить
Настройка среды разработки
Для среды разработки нужно установить нужные инструменты:
- •Node.js для среды выполнения JavaScript
- •Hardhat для разработки смарт-контрактов
- •Truffle для дополнительных инструментов смарт-контрактов
Настройка узлов блокчейна с помощью Ganache или подключение к тестовым сетям, таким как Rinkeby или Ropsten, дает нужную инфраструктуру для тестирования.
Создание смарт-контрактов
Создание смарт-контрактов — это ключ к успешной разработке и тестированию проекта. Разработчикам нужно создавать контракты, которые будут:
- •Эффективно обрабатывайте объемы транзакций
- •Проверяйте пользователей надежно
- •Обеспечьте центральный пункт контакта для связи с контрактами учетных записей
- •Используйте прокси-шаблоны, чтобы безопасно обновлять контракты
Такие контракты должны управлять операциями с несколькими цепочками и обеспечивать безопасный и эффективный уровень в соответствии с требованиями к дизайну.
Дизайн пользовательского интерфейса
Требования к дизайну направлены на создание удобных интерфейсов для разных пользователей. Взаимодействие с пользователями — это ключ к успеху проекта кошелька, так как оно определяет успех любого проекта. Процесс дизайна должен быть больше сосредоточен на простоте, но при этом все необходимые функции должны быть легкодоступными и удобными для пользователей.
Аудит и тестирование безопасности
Нельзя забывать о проверках безопасности и тщательном тестировании. Смарт-контракты тестируются в разных условиях, чтобы найти возможные ошибки и уязвимости. Сторонние аудиторы могут выполнять такие важные задачи, как:
- •Обнаружение и устранение уязвимостей
- •Убедиться, что кошелек действительно безопасен для использования в индустрии
- •Разработка нужных файлов смарт-контрактов
Готовы начать создавать?
Получите экспертные рекомендации по внедрению кошельков с абстракцией учетных записей с помощью нашего комплексного набора инструментов для разработчиков.
Реализация и технические детали
Создание проектов Hardhat
Практическая реализация будет включать создание проектов Hardhat и разработку нужных файлов смарт-контрактов. Стандартный контракт мультицепочечного кошелька содержит:
- •Функции депозита, которые пользователи могут использовать для хранения балансов
- •Отменить функции для доступа к средствам по индивидуальным идентификаторам цепочки
- •Используйте функции для совершения транзакций с другими контрактами, основанными на механизмах аутентификации с помощью подписи
Настройка развертывания
Скрипты развертывания реализованы в каталоге скриптов, обычно называемом deploy.js, который управляет процессом развертывания контракта. Файлы Hardhat.config.js можно настроить для развертывания в любой тип сети:
- •Локальная сеть Hardhat
- •Тестовые сети
- •Публичная основная сеть
Процедура развертывания состоит из выполнения определенных команд, которые выдают адреса контрактов, которые проверяются и с которыми взаимодействуют.
Тестовая среда
Тестовые структуры используются для тщательной проверки работы кошельков:
- •Тесты депозита убедитесь, что пользователи могут вносить Ether и обновлять баланс, а также правильно выдавать события
- •Вывод средств: убедитесь, что есть возможность вывести деньги и заблокируйте доступ к ним, если у вас нет достаточных средств на счете
- •Проведите тесты, чтобы убедиться, что владельцы могут правильно выполнять транзакции и отменять операции с недействительными подписями
Кросс-цепочечная функциональность
Кросс-чейн функциональность — это дополнительный момент, помимо базовой работы контракта. Для связи между блокчейн-сетями можно использовать промежуточные протоколы, такие как Wormhole или LayerZero.
Oracles предоставляют данные, которые нужны для кросс-чейн операций, а средства безопасности защищают от атак, которые могут быть только в мульти-чейн настройках.
Компоненты тестирования кошелька
| Тип теста | Цель | Проверка ключей |
|---|---|---|
| Тесты по депозитам | Депозиты пользовательского фонда | Обновления баланса, события |
| Отменить тесты | Вывод средств | Авторизация, лимиты баланса |
| Запустите тесты | Выполнение транзакции | Права владельца, проверка подписи |
Финансовые соображения и затраты на разработку
Стоимость разработки кошельков с абстракцией учетных записей будет сильно отличаться в зависимости от разных факторов:
Размер команды и опыт
Размер команды разработчиков напрямую влияет на стоимость, потому что специалисты в области блокчейна берут больше. Команда обычно состоит из:
- •Разработчики блокчейна
- •Дизайнеры UI/UX
- •Эксперты по блокчейну
- •Специалисты по безопасности
Каждый вносит свои специальные знания, нужные для успешного завершения проекта.
Сложность функций
Сложность и функциональные требования к функциям будут сильно влиять на стоимость разработки:
- •Простые кошельки имеют минимум функций и требуют минимальных вложений
- •Сложные приложения с высоким уровнем функциональности стоят значительно дороже
- •Индивидуальные особенности напрямую связаны со временем разработки и сложностью
Инвестиции в безопасность
Меры безопасности — это важные и нужные вложения. Более высокие меры безопасности стоят дорого, но обеспечивают необходимую защиту активов пользователей и кошельков. Чем выше стандарты безопасности, тем больше затраты на разработку, но такие вложения дают бесценное спокойствие как разработчикам, так и пользователям.
Расходы на юридические услуги и соблюдение нормативных требований
Есть еще одна затрата, связанная с юридическими требованиями и требованиями по соблюдению норм. Нужно соблюдать местные и международные правила, поэтому:
- •Нужны юридические консультации
- •Нужно делать проверки на соответствие
- •Эти затраты нужно учитывать на начальном этапе проекта
Если на начальных этапах не продумать юридические и нормативные требования, то при разработке проекта могут возникнуть непредвиденные расходы.
Проблемы и ограничения
Есть несколько проблем и ограничений, с которыми сталкиваются кошельки с абстрактными счетами:
Техническая сложность
Технические особенности дизайна сложнее, чем у обычных кошельков, что может повлиять на:
- •Риск ошибок при внедрении
- •Проблемы разработки
- •Кривая обучения для тех, кто привык к традиционным интерфейсам кошельков
Уязвимости безопасности
Уязвимости смарт-контрактов могут привести к таким рискам, как:
- •Атаки повторного входа
- •Разные уязвимости
- •Угрозы безопасности, которые могут привести к финансовым потерям
При внецепочечной подписи нужно особо следить за безопасностью, чтобы не проколоться с секретным ключом.
Проблемы с кросс-чейн
Зависимость от внешних оракулов и мостовых сервисов добавляет больше точек отказа, с которыми нужно быть осторожными. Возможность кросс-чейн транзакций может повлиять на пользовательский опыт, потому что требует:
- •Подтверждения из разных сетей
- •Взаимодействие с несколькими сетями
- •Как быть с разными стандартами и возможностями блокчейна
Соблюдение нормативных требований
Соблюдение нормативных требований стало постоянной проблемой:
- •Требования KYC и AML могут усложнить обеспечение конфиденциальности пользователей
- •Чтобы соблюдать правила в разных странах, нужны большие ресурсы
- •Нужно постоянно следить за изменениями в правилах
Стратегии тестирования и развертывания
Подробные планы тестирования
Полные планы тестирования используют такие фреймворки, как Hardhat или Truffle, в дополнение к тестовым сетям с одной цепочкой поддерживаемых сетей. Процедура тестирования должна включать:
- •Все возможности кошелька (депозиты, снятие средств, кросс-чейн операции)
- •Проверки на уровне безопасности
- •Проведите нагрузочное тестирование, чтобы убедиться, что кошелек выдержит ожидаемый объем транзакций.
Внедрение в производство
Развертывание не только ограничивается простым развертыванием контрактов, но и включает в себя:
- •Настройка серверной среды
- •Настройка производственной среды
- •Установка систем мониторинга для отслеживания производительности
- •Отслеживание успешности
- •Анализ моделей использования
Возможности для будущих улучшений
Можно еще доработать сервисы кошельков, добавив такие новые функции, как:
- •Контроль доступа по ролям для большей безопасности
- •Полная поддержка токенов ERC20 для большей совместимости
- •Системы интенсивного восстановления для лучшего пользовательского опыта
- •Интеграция межсетевого протокола для беспроблемной передачи активов
Разработка пользовательских интерфейсов с помощью современных фреймворков, таких как Web3.js или Ethers.js, делает интерфейс более удобным для пользователей.
Постоянное улучшение
Постоянный мониторинг должен включать:
- •Выявление и решение проблем
- •Улучшения структуры
- •Поддержка пользователей, если у них есть вопросы или проблемы
- •Регулярно обновляйте все, основываясь на отзывах пользователей
Постоянное обновление на основе отзывов пользователей поможет кошельку оставаться актуальным и удовлетворять постоянно меняющиеся потребности пользователей.
Не забывайте о безопасности, соответствии и технических особенностях реализации и внимательно следите за этим на протяжении всего цикла разработки.
Эффективное планирование, команды разработчиков из опытных специалистов и постоянное внимание к безопасности и удобству пользователей — вот что нужно для успеха.


