Абстракция счета с использованием Biconomy
Обзор
Biconomy Modular SDK - это комплексный набор инструментов для разработки программного обеспечения, созданный специально для децентрализованных приложений (dApps). Построенный на основе ERC4337, он предлагает широкий спектр решений, начиная от ввода пользователя в систему и заканчивая его постоянным вовлечением, улучшая общий пользовательский опыт в вашем dApp. Благодаря использованию модульного подхода SDK обеспечивает расширенную кастомизацию, безопасность и функциональность. Этот SDK работает без ограничений, обеспечивая универсальное решение, сочетающее в себе простоту и функциональность в сфере децентрализованных приложений.
Что стало возможным?
Biconomy SDK предоставляет блокчейн-агностический, похожий на web2 опыт для ваших dApp, не требуя при этом никаких затрат. Вот что вы можете сделать уже сегодня:
Простой ввод пользователей в систему: Упрощает процесс регистрации новых пользователей благодаря социальной авторизации, созданию учетной записи и функции восстановления, что позволяет легко интегрировать пользователей web2 в ваше dApp.
Быстрый выход на рынок: Позволяет пользователям легко и безопасно покупать и продавать криптовалюты в вашем dApp, облегчая переход между привычными и основанными на блокчейне активами.
Безгазовые транзакции: Спонсирует газ для пользовательских операций, делая их такими же простыми, как web2-транзакции, улучшая общий пользовательский опыт.
Оплата газа в токенах ERC20: Позволяет пользователям использовать любой актив ERC20 в своем кошельке для оплаты газа, обеспечивая гибкость и удобство.
Индивидуальное пакетирование транзакций: Предоставление разработчикам возможности создавать методы пакетной обработки транзакций, позволяющие пользователям выполнять несколько действий в рамках одной транзакции, даже в рамках нескольких чейнов. Например, пользователь может одобрить и пополнить счет в рамках одной транзакции, не изменяя ничего в смарт-контрактах dApp.
Как это работает?
В Biconomy SDK кошелек смарт-контрактов (SCW) является основой системы и создается для каждого нового пользователя, присоединившегося к dApp. Адрес SCW генерируется мгновенно при входе пользователя в систему, не требуя развертывания на чейне. Фактический смарт-контракт развертывается вместе с первой транзакцией пользователя.
Кошелек смарт-контракта, также известный как смарт-аккаунт, связан с внешним аккаунтом пользователя (EOA), таким как традиционный аккаунт MetaMask или аккаунт, созданный с помощью социальной авторизации. Он обеспечивает повышенную безопасность по сравнению с EOA, позволяя пользователям безопасно вводить и выводить средства в любое время.
Примечательной особенностью является то, что адрес SCW остается неизменным на разных чейнах блокчейна, что позволяет пользователям не беспокоиться о разных чейнах внутри dApp. Благодаря использованию кошельков смарт-контрактов для объединения транзакций с помощью SDK Biconomy, dApp могут предложить своим пользователям простые и эффективные взаимодействия.
Принцип работы кошельков смарт-контрактов
Biconomy Modular SDK представляет кошельки смарт-контрактов (SCW), которые служат фундаментальным компонентом системы. Каждый кошелек SC Wallet связан с внешним аккаунтом (Externally Owned Account, EOA), который является его владельцем.
Кошелек SC Wallet имеет свойство расширяться за счет поддержки различных модулей, таких как MultiSig, Social Recovery Module, Recurring Transaction Module, Transaction Automation, Session Key Module и др. Эти модули расширяют функциональность кошелька, не требуя его обновления, что позволяет разработчикам адаптировать работу пользователей в соответствии с конкретными требованиями.
Транзакции, осуществляемые через SC Wallet, инициируются EOA с использованием криптографической подписи. Данные о транзакции вместе с подписью передаются ретранслятором, что обеспечивает безопасную и эффективную обработку транзакций.
Стоит заметить, что адрес SC-кошелька пользователя является контрфактическим, то есть он может быть сгенерирован без развертывания кода смарт-контракта на чейне благодаря опкоду CREATE2. Эта особенность позволяет адресу SC Wallet оставаться неизменным на различных чейнах EVM, обеспечивая удобство использования dApp, не зависящего от чейна.
Все взаимодействия внутри dApp, как на одной, так и на нескольких чейнах, осуществляются через SC Wallet. Такой унифицированный подход упрощает взаимодействие пользователей и способствует эффективному кросс-чейн взаимодействию.
Кошелек SC Wallet выполняет функцию заправки для пользователей, позволяя им использовать любой токен, находящийся в кошельке (принятый Paymaster), для оплаты газа в ходе одной и той же транзакции. Эта возможность позволяет dApps осуществлять пакетную обработку транзакций, давая пользователям возможность выполнять несколько действий в рамках одной транзакции, упрощая такие процессы, как подтверждение и пополнение счета.
Быстрый старт с нативной передачей данных смарт-счета
Клонируйте репозиторий быстрого запуска Biconomy
Установите все компоненты
Сначала создадим файл .env в корне нашего проекта. Для этого потребуется приватный ключ любого внешнего аккаунта (Externally Owned Account, EOA), который вы хотели бы использовать в качестве владельца создаваемого смарт-счета. Такой ключ можно получить в таких кошельках, как MetaMask, TrustWallet, Coinbase Wallet и т.д. Во всех этих кошельках есть руководства по экспорту приватного ключа.
Создание роллапа
Вы можете воспользоваться панелью запуска роллапов для создания нового роллапа в течение нескольких минут. После того как вы создали свой роллап, свяжитесь с нами через службу поддержки или с командой Biconomy, чтобы запросить интеграцию с Biconomy. Обратите внимание, что и AltLayer, и Biconomy будут оценивать требования каждой команды в индивидуальном порядке.
Получение информации о чейне роллапа
Перейдите к панели запуска роллапов и выберите "Deployments". Найдите нужный вам роллап.
Для выполнения следующих действий вам потребуется следующая информация
Адрес контракта точки входа EIP4337, который будет предоставлен вам командой AltLayer
URL-адрес Bundler, который можно получить из панели управления Biconomy
Конечная точка Rollup RPC
Идентификатор чейна Rollup
Код ссылки
Далее мы обратимся к примеру официального кода Biconomy для начала работы.
Для приведенного ниже фрагмента кода необходимо заполнить следующие поля
Rollup RPC endpoint: Строка 8
URL-адрес Bundler: Строка 11
Идентификатор чейна: Строки 12 и 17
Адрес контракта точки входа EIP4337: Строка 13
Внедрение Biconomy в ваш роллап
Вы можете заказать звонок с командой Biconomy, чтобы обсудить дальнейшие шаги по поддержке Biconomy в вашем роллапе.
Если вам нужны дополнительные ресурсы для разработчиков, вы можете ознакомиться с документацией по Biconomy.
Last updated