
Введение
Концепция абстракции учетной записи изменила то, как мы смотрим на дизайн цифрового кошелька. Абстракция учетной записи, как ее первоначально предложил Виталик Бутерин в 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, делает интерфейс более удобным для пользователей.
Постоянное улучшение
Постоянный мониторинг должен включать:
- Выявление и решение проблем
- Улучшения структуры
- Поддержка пользователей, если у них есть вопросы или проблемы
- Регулярно обновляйте все, основываясь на отзывах пользователей
Постоянное обновление на основе отзывов пользователей поможет кошельку оставаться актуальным и удовлетворять постоянно меняющиеся потребности пользователей.
Не забывайте о безопасности, соответствии и технических особенностях реализации и внимательно следите за этим на протяжении всего цикла разработки.
Эффективное планирование, команды разработчиков из опытных специалистов и постоянное внимание к безопасности и удобству пользователей — вот что нужно для успеха.


