Что такое Entry Point в криптовалютах?
В контексте криптовалют Entry Point обычно означает контракт, функцию или интерфейс, через который пользователь начинает операцию в блокчейне.В абстракции аккаунтов под Entry Point обычно подразумевают центральный смарт-контракт EntryPoint, определенный в ERC-4337.Контракт EntryPoint координирует проверку, выполнение, оплату газа, развертывание аккаунтов и расчет по операциям, отправленным смарт-аккаунтами.В официальной спецификации ERC-4337 описана система, в которой пользователи отправляют объекты под названием UserOperation вместо того, чтобы напрямую посылать обычные транзакции с внешних аккаунтов (EOA).
Специальные участники сети, называемые бандлерами, собирают эти UserOperation и отправляют их в контракт EntryPoint в составе обычной блокчейн-транзакции.Затем EntryPoint проверяет, авторизована ли каждая операция, определяет способ оплаты газа, вызывает соответствующий смарт-аккаунт и рассчитывает окончательную стоимость газа.EntryPoint — это не кошелек, токен, блокчейн, приватный ключ или отдельная криптовалютная сеть.Это общая инфраструктура смарт-контрактов, используемая совместимыми кошельками с абстракцией аккаунтов, бандлерами, фабриками аккаунтов, пеймастерами и приложениями.Что такое ERC-4337?
ERC-4337 — стандарт абстракции аккаунтов, который позволяет создавать программируемые смарт-аккаунты без необходимости вводить новый тип транзакций Ethereum на уровне консенсуса.Внешние аккаунты (EOA) используют заданные протоколом правила подписей и nonce.Смарт-аккаунт ERC-4337 может использовать код контракта для определения собственной логики авторизации.Это позволяет реализовать подтверждение с несколькими подписями, ключи доступа (Passkey), механизмы восстановления, временные разрешения, лимиты расходов, пакетные операции и другие программируемые функции кошелька.ERC-4337 вводит отдельный процесс обработки UserOperation, при этом операции в конечном счете исполняются через обычные транзакции, включенные в блоки.В обзоре абстракции аккаунтов Ethereum объясняется, что ERC-4337 обеспечивает функциональность смарт-аккаунтов без изменения базовых правил консенсуса Ethereum.
EntryPoint — это общий ончейн-контракт, который объединяет различные компоненты этой системы.Почему контракт называется EntryPoint?
Контракт называется EntryPoint, поскольку служит основным доверенным шлюзом, через который операции ERC-4337 поступают в смарт-аккаунт.Совместимый смарт-аккаунт обычно принимает вызовы проверки и выполнения ERC-4337 только с адреса EntryPoint, которому он доверяет.Бандлеры не вызывают произвольные функции выполнения кошелька так, будто являются его владельцами.Вместо этого они отправляют UserOperation в EntryPoint, который просит каждый смарт-аккаунт проверить собственную операцию.Такая структура отделяет сторону, оплачивающую и отправляющую блокчейн-транзакцию, от аккаунта, который авторизует лежащее в ее основе действие.Она также предоставляет бандлерам единый стандартизированный интерфейс контракта для обработки множества разных типов смарт-аккаунтов.Какая версия EntryPoint является актуальной?
По состоянию на 16 июля 2026 года в официальном репозитории абстракции аккаунтов в качестве последнего релиза указана EntryPoint v0.9.0.На официальной странице релизов абстракции аккаунтов адрес EntryPoint v0.9 указан как
Почему существует несколько версий EntryPoint?
EntryPoint развернут как смарт-контракт, поэтому, если развертывание неизменяемо, его код нельзя просто отредактировать на месте.Как правило, новую версию выпускают, развертывая новый контракт EntryPoint по новому детерминированному адресу.Кошельки и инфраструктура могут перейти на нее после проверки контракта и добавления поддержки его поведения.Такой подход не позволяет одному администратору получить неограниченные полномочия по замене кода существующего синглтона.Это также означает, что в периоды перехода инфраструктура абстракции аккаунтов может быть разделена между разными версиями.UserOperation, предназначенную для одной версии EntryPoint, нельзя отправлять так, будто она предназначена для другой.Выбранный адрес EntryPoint включен в важные вычисления безопасности, в том числе в хеш операции.Что такое UserOperation?
UserOperation — это структурированный запрос, описывающий действие, которое хочет выполнить смарт-аккаунт.Иногда его сокращенно называют UserOp.UserOperation не является обычной транзакцией Ethereum, хотя бандлер в конечном счете включает ее в обычную транзакцию, отправляемую в EntryPoint.Ее поля указывают смарт-аккаунт, nonce, данные для выполнения, лимиты газа, лимиты комиссий, подпись, необязательные данные для развертывания аккаунта и необязательную информацию о пеймастере.В актуальных версиях при передаче данных ончейн используется упакованное представление
Основные поля UserOperation
Поле
Поле
Поле
Поле
Как UserOperation попадает в EntryPoint
Сначала кошелек формирует UserOperation, описывающую запрошенное действие в блокчейне.Кошелек получает правильное значение nonce и оценивает необходимые для операции параметры газа.Система авторизации смарт-аккаунта подписывает операцию или иным образом ее одобряет.Кошелек отправляет ее бандлеру через метод RPC для абстракции аккаунтов.Прежде чем принять операцию, бандлер моделирует выполнение логики проверки.Принятые операции могут попасть в специализированный мемпул UserOperation.Бандлер выбирает несколько операций и отправляет их в EntryPoint в составе одной блокчейн-транзакции.EntryPoint проверяет и выполняет операции в соответствии с правилами ERC-4337.После выполнения EntryPoint перечисляет выбранному бенефициару бандлера средства, собранные с аккаунтов или пеймастеров за газ.Что такое бандлер?
Бандлер — участник системы абстракции аккаунтов, который собирает, проверяет, объединяет и отправляет UserOperation.При отправке пакетной транзакции в блокчейн бандлер платит сетевую комиссию в нативной валюте сети.Он рассчитывает, что EntryPoint возместит расходы на обработку операций из депозитов смарт-аккаунтов или пеймастеров.Это создает важное экономическое требование: бандлеры должны отклонять операции, которые могут расходовать газ, не обеспечивая его оплату.Обычно бандлер несколько раз моделирует выполнение операции, поскольку состояние блокчейна меняется между ее первоначальным получением и окончательной отправкой.Стандартизированный интерфейс JSON-RPC ERC-7769 определяет методы, с помощью которых кошельки и бандлеры могут обмениваться UserOperation и получать информацию об их статусе.
Бандлер не является владельцем смарт-аккаунта и не должен иметь возможности авторизовать операцию, отклоненную аккаунтом.Функция handleOps
Основная функция EntryPoint называется
Проверка и выполнение — отдельные этапы
В ERC-4337 проверка отделена от основного выполнения операции.На этапе проверки EntryPoint определяет, авторизует ли аккаунт операцию и можно ли оплатить расходы на газ.На этапе выполнения смарт-аккаунт совершает запрошенные вызовы.Это различие важно, поскольку операция может пройти проверку авторизации, но завершиться ошибкой при вызове приложения.Например, смарт-аккаунт может корректно авторизовать перевод токена, который впоследствии не удастся выполнить из-за недостаточного баланса токенов.За проверку и неудачное выполнение газ все равно расходуется.Поэтому с аккаунта или пеймастера могут списать средства, даже если запрошенное действие в приложении не выполнено.Функция validateUserOp
Смарт-аккаунт ERC-4337 реализует функцию
Почему смарт-аккаунт должен доверять точному адресу EntryPoint
EntryPoint получает разрешение вызывать чувствительные пути проверки и выполнения в смарт-аккаунте.Поэтому смарт-аккаунту следует отклонять вызовы от недоверенного контракта, выдающего себя за EntryPoint.Доверие неверному адресу может позволить вредоносному контракту обойти предположения о работе с nonce, учете газа, личности вызывающей стороны или порядке выполнения.Реализация кошелька должна определять, как распознавать одобренную версию EntryPoint.Некоторые аккаунты используют один фиксированный адрес, а обновляемые или модульные аккаунты могут поддерживать контролируемый процесс миграции.Добавление нового EntryPoint следует считать чувствительным с точки зрения безопасности обновлением кошелька, а не обычной настройкой интерфейса.Хеш UserOperation и защита от повторного выполнения
Хеш UserOperation привязывает операцию к важным данным, используемым при авторизации.Хеш включает адрес EntryPoint и ID блокчейн-сети.Это мешает автоматически использовать действительную операцию, предназначенную для одного EntryPoint или сети, в другой.Сама подпись исключена из базового хеша операции, чтобы аккаунт мог проверить предоставленные данные авторизации относительно этого хеша.В актуальных схемах подписи пеймастера его отдельная подпись также может исключаться из хеша, что позволяет кошельку и пеймастеру подписывать данные параллельно.Разработчикам необходимо соблюдать точные правила хеширования для выбранной версии EntryPoint.Неправильное разделение доменов может создать риск повторного выполнения или сделать невозможной проверку действительных операций.Управление nonce в EntryPoint
EntryPoint управляет nonce, чтобы предотвратить повторное выполнение одной и той же UserOperation.В ERC-4337 используется двухчастный nonce: 192-битный ключ и 64-битное последовательное значение.Каждый ключ может обозначать отдельный упорядоченный канал операций для одного смарт-аккаунта.Это позволяет разделять обычные операции, административные операции или другие категории, не объединяя все действия в одну общую последовательность.Функция
Контрфактическое развертывание смарт-аккаунта
Адрес кошелька ERC-4337 часто можно вычислить до развертывания контракта смарт-аккаунта.Такой адрес называется контрфактическим.До первой операции с абстракцией аккаунтов на вычисленный адрес кошелька можно отправлять криптоактивы.Первая UserOperation содержит данные о развертывании аккаунта, включая адрес фабрики и данные инициализации.EntryPoint использует вспомогательный контракт SenderCreator для вызова фабрики и создания смарт-аккаунта по ожидаемому адресу.Развернутый адрес должен совпадать со значением поля
EntryPoint v0.9 и initCode
В EntryPoint v0.9 изменена обработка данных развертывания, если аккаунт отправителя уже существует.В более ранних версиях непустое
Версия 0.9 может игнорировать данные развертывания, если контракт отправителя уже существует, и генерировать событие
Предварительное финансирование газа
Бандлер оплачивает сетевую комиссию за транзакцию, вызывающую EntryPoint.Поэтому EntryPoint должен убедиться, что каждая UserOperation сможет возместить максимальную ожидаемую стоимость.На этапе проверки он рассчитывает необходимое предварительное финансирование на основе лимитов газа и параметров комиссий операции.Для этой цели смарт-аккаунт может хранить депозит в EntryPoint.Если депозита аккаунта недостаточно, при проверке аккаунт может перевести в EntryPoint дополнительные средства в нативной валюте.Если операцию спонсирует пеймастер, используется его депозит.При недостаточном предварительном финансировании операцию нельзя включить в блок.Депозиты в EntryPoint
EntryPoint хранит депозиты для оплаты будущих расходов на газ UserOperation.Смарт-аккаунты и пеймастеры могут пополнять эти депозиты нативной валютой.Функция
Функция
Уполномоченная сущность может использовать
Что такое пеймастер?
Пеймастер — необязательный смарт-контракт, который соглашается покрывать расходы на газ для выбранных UserOperation.Это позволяет приложению субсидировать действия пользователей или использовать другую схему комиссий.Пеймастер размещает нативную валюту на своем депозите в EntryPoint.Во время проверки EntryPoint вызывает
Если пеймастер возвращает контекстные данные, после выполнения EntryPoint может вызвать его функцию
Депозиты пеймастера и стейк
Депозит пеймастера и его стейк выполняют разные функции.Из депозита оплачиваются расходы на газ UserOperation.Стейк блокируется как часть защиты системы от атак типа «отказ в обслуживании» и злоупотребления репутацией.Функция
Сначала пеймастер должен вызвать
Функция
Подписи пеймастера в EntryPoint v0.9
EntryPoint v0.9 добавляет поддержку отдельного значения
Стейкинг и репутация в EntryPoint
Проверка ERC-4337 может включать фабрики аккаунтов, пеймастеры, агрегаторы подписей и другие контракты.Злоумышленники могут пытаться напрасно расходовать ресурсы бандлеров или делать операции недействительными после их попадания в мемпул.Стейкинг позволяет некоторым сущностям получать более широкий доступ к хранилищу во время проверки, одновременно подвергая их последствиям для репутации.Бандлеры могут отслеживать сущности, которые неоднократно вызывают сбои пакетных операций или ведут себя недобросовестно.Конкретные офчейн-правила репутации могут различаться у разных реализаций бандлеров.Стейкинг снижает стимулы к некоторым атакам, но не доказывает надежность пеймастера или фабрики.Что такое симуляция UserOperation?
Симуляция — офчейн-процесс, с помощью которого бандлер прогнозирует, пройдет ли UserOperation проверку EntryPoint.Бандлер выполняет вызовы и трассировки с учетом текущего состояния блокчейна, не сохраняя изменения.Симуляция проверяет создание аккаунта, действительность nonce, авторизацию аккаунта, подтверждение пеймастера, наличие средств на газ и ограничения для логики проверки.Обычно бандлер проводит симуляцию при первоначальном получении операции, еще раз при отборе в пакет и еще раз перед отправкой пакета.Повторная симуляция необходима, поскольку до включения операции другая транзакция может изменить балансы, депозиты, nonce, код контракта или другие важные данные.Успешная симуляция не гарантирует успешного выполнения самого действия в приложении.Правила проверки ERC-7562
Программируемая проверка создает риски атак типа «отказ в обслуживании», отличающиеся от рисков, связанных с обычными подписями аккаунтов.Вредоносный аккаунт может сделать проверку зависимой от нестабильного состояния или заставить бандлер потратить много ресурсов.Правила проверки ERC-7562 ограничивают опкоды, доступ к хранилищу и другие виды поведения при проверке UserOperation в публичном мемпуле.
Бандлеры применяют эти правила офчейн до включения операций.Ограничения распространяются на проверку, а не на каждое действие, выполняемое аккаунтом на основном этапе исполнения.Для операции, принятой в частном или альтернативном мемпуле, могут действовать правила, отличные от правил общего канонического мемпула.Выполнение UserOperation
После успешной проверки EntryPoint вызывает смарт-аккаунт для выполнения запрошенной операции.Аккаунт интерпретирует свое поле
Интерфейс IAccountExecute
Смарт-аккаунт может дополнительно реализовать интерфейс
Этот интерфейс предоставляет функцию
Функция getCurrentUserOpHash
В EntryPoint v0.9 добавлена функция
Расчет газа и бенефициар
EntryPoint измеряет газ, затраченный на обработку каждой UserOperation.Он списывает расходы с соответствующего аккаунта или пеймастера с учетом фактической стоимости и лимитов комиссий операции.Собранные комиссии перечисляются бенефициару, указанному в вызове
Может ли одна неудачная операция нарушить работу всего пакета?
Сбой проверки может привести к исключению операции или отмене всей пакетной транзакции — в зависимости от того, когда обнаружена проблема и какая функция EntryPoint используется.Именно поэтому бандлеры многократно моделируют операции перед отправкой пакета.Даже после успешной проверки операция приложения может завершиться ошибкой.Обычно сбой выполнения фиксируется как неудачная UserOperation, при этом газ все равно подлежит оплате.Бандлерам необходимо тщательно формировать пакеты, чтобы изменение состояния не сделало неожиданно недействительной следующую операцию.Приложениям следует проверять квитанции UserOperation и события успеха, а не считать, что включение в пакет гарантирует успешное выполнение запрошенного вызова.События EntryPoint
EntryPoint генерирует события, позволяющие отслеживать активность UserOperation.Событие UserOperation может содержать хеш операции, отправителя, пеймастера, nonce, статус выполнения, фактическую стоимость газа и использованный газ.События развертывания аккаунта могут указывать на созданные смарт-аккаунты и их фабрики.События пополнения и вывода фиксируют изменения предварительно внесенных средств на газ.События стейкинга отражают внесение, разблокировку и вывод стейка.В новых версиях могут добавляться события для функций, специфичных для версии, например для игнорирования данных развертывания или инициализации EIP-7702.Индексаторам необходимо использовать определения событий, соответствующие отслеживаемой версии EntryPoint.EntryPoint и EIP-7702
EIP-7702 позволяет внешнему аккаунту авторизовать делегирование полномочий кода смарт-контракту.Актуальные версии ERC-4337 могут использовать это делегирование, чтобы добавить функции абстракции аккаунтов к существующему адресу.В официальной спецификации EIP-7702 определен механизм авторизации на уровне транзакции.
Бандлер ERC-4337 может включить необходимые данные авторизации при отправке совместимого пакета UserOperation.EntryPoint включает цель делегирования в соответствующую логику хеширования и инициализации.EIP-7702 не отменяет необходимости защищать реализацию делегированного аккаунта, процесс авторизации и интеграцию с EntryPoint.Диапазоны действия EntryPoint v0.9
Смарт-аккаунты и пеймастеры могут ограничивать период действия UserOperation.В более ранних версиях EntryPoint эти ограничения задавались метками времени.В версии 0.9 также поддерживаются диапазоны действия, заданные номерами блоков, если используется соответствующий флаг кодировки.Это может быть полезно приложениям, чьи разрешения или действия уже определены относительно высоты блока.Бандлеры должны корректно интерпретировать кодировку и не включать операции, которые еще недействительны или могут истечь до включения.Детерминированное развертывание EntryPoint
В официальных развертываниях EntryPoint используются детерминированные методы создания контрактов, чтобы одна и та же версия могла иметь одинаковый адрес в поддерживаемых совместимых сетях.Это может упростить настройку кошельков и бандлеров.В документации по контракту EntryPoint объясняется, как официальный репозиторий использует фиксированную соль развертывания для локальных и совместимых развертываний.
Совпадение адреса само по себе не подтверждает подлинность: в другой сети могут быть другие код и история развертывания.Разработчикам следует проверять байткод и хеш кода по этому адресу в каждой поддерживаемой сети.EntryPoint и смарт-аккаунт
EntryPoint — общая инфраструктура, используемая многими смарт-аккаунтами.Смарт-аккаунт — это контракт конкретного пользователя, в котором хранятся активы и определены правила авторизации.Обычно EntryPoint не хранит балансы токенов пользователя и не заменяет адрес смарт-аккаунта.Смарт-аккаунт решает, авторизована ли UserOperation.EntryPoint обеспечивает общую структуру обработки, управления nonce, развертывания, учета газа и расчетов.Уязвимость смарт-аккаунта может повлиять на этот аккаунт, даже если EntryPoint работает корректно.Уязвимость в широко используемой версии EntryPoint может затронуть множество аккаунтов и пеймастеров, которые ей доверяют.EntryPoint и бандлер
EntryPoint — ончейн-контракт.Бандлер — офчейн-участник, который получает UserOperation и отправляет транзакцию в EntryPoint.Бандлер выполняет симуляцию и оплачивает первоначальную сетевую комиссию за транзакцию.EntryPoint проводит авторитетную ончейн-проверку и расчеты.Бандлер не может сделать действительной подпись смарт-аккаунта, которая недействительна.Однако бандлер может задержать операцию или отказаться ее включать, поэтому кошелькам полезно иметь доступ к нескольким совместимым способам отправки.EntryPoint и пеймастер
EntryPoint обрабатывает операции и рассчитывает расходы на газ.Пеймастер по желанию соглашается оплатить эти расходы для выбранных пользователей или действий.Пеймастер определяет собственные правила спонсирования в рамках ограничений проверки ERC-4337.У него должен быть достаточный депозит; кроме того, может потребоваться стейк.EntryPoint не обязывает пеймастера спонсировать каждую действительную операцию.Сбой пеймастера или отказ по его правилам может остановить спонсируемую операцию, даже если сам смарт-аккаунт действителен.EntryPoint и фабрика аккаунтов
Фабрика аккаунтов развертывает смарт-аккаунты.Если еще не развернутый отправитель содержит корректные данные для создания аккаунта, EntryPoint вызывает фабрику через механизм SenderCreator.Фабрика должна создать аккаунт по ожидаемому адресу.Она также должна ограничивать чувствительные пути создания согласно требованиям безопасности ERC-4337.EntryPoint не определяет реализацию смарт-аккаунта, его владельцев, модули или правила восстановления.Эти свойства задаются фабрикой и данными инициализации.Преимущества модели EntryPoint
EntryPoint предоставляет бандлерам единый интерфейс для множества типов смарт-аккаунтов.Он позволяет аккаунтам задавать программируемую авторизацию вместо использования одной фиксированной модели подписей.Он поддерживает контрфактическое развертывание аккаунта в рамках первой UserOperation.Он позволяет пеймастерам спонсировать газ, применяя программируемые правила.Он поддерживает объединение нескольких действий пользователей в одну базовую транзакцию.Он отделяет авторизацию пользователя от аккаунта, который оплачивает сетевую комиссию за транзакцию.Его можно развернуть в совместимых сетях без изменения уровня консенсуса.Ограничения модели EntryPoint
EntryPoint добавляет дополнительные контракты, методы RPC, симуляции, параметры газа и роли инфраструктуры.Кошельку необходимо взаимодействовать с совместимым бандлером и, возможно, пеймастером.Разные версии EntryPoint могут разделять ликвидность, инструменты и поддержку мемпула.Программируемая проверка создает риски атак типа «отказ в обслуживании», для снижения которых нужны строгие офчейн-правила.Оценка газа сложнее, чем для обычной транзакции аккаунта.Спонсируемая операция может завершиться неудачно, если пеймастер недоступен или отклоняет запрос.Абстракция аккаунтов повышает гибкость кошельков, но не устраняет фишинг, вредоносные приложения, небезопасные подтверждения или ошибки смарт-контрактов.Риски безопасности EntryPoint
EntryPoint является критически важной общей зависимостью, поскольку смарт-аккаунты и пеймастеры предоставляют ему специальные полномочия.Ошибка в проверке, расчетах газа, депозитах, стейкинге, создании аккаунтов или выполнении может иметь широкие последствия.Разработчикам следует использовать проверенные официальные развертывания, а не вносить произвольные изменения в основной контракт.Кошелькам необходимо проверять адрес и версию доверенного EntryPoint.Бандлеры должны последовательно применять правила проверки и репутации.Аккаунты и пеймастеры должны проверять, что чувствительные обратные вызовы поступают от доверенного EntryPoint.Фабрики должны проверять вызовы со стороны правильного контракта SenderCreator.Риски подписи и авторизации
Абстракция аккаунтов поддерживает гибкие подписи, но сама по себе гибкость не гарантирует безопасную авторизацию.Слабая проверка Passkey, неверный порог мультиподписи, раскрытый сессионный ключ или ошибочный модуль восстановления могут разрешить нежелательные UserOperation.Аккаунт должен привязывать авторизацию к правильным хешу операции, ID сети, EntryPoint, nonce, периоду действия и запрошенным вызовам.Перед запросом подтверждения интерфейсы кошельков должны четко показывать вызовы, содержащиеся в пакете.Действительная подпись смарт-аккаунта может разрешить сразу несколько действий, в том числе подтверждения и переводы токенов.Риски пеймастера
Пеймастер может применять ограничительные или централизованные правила спонсирования.Он может прекратить спонсирование, если его депозит уменьшился, сервис недоступен или политика изменилась.Из-за ошибок проверки или учета средств неправильно реализованный пеймастер может потерять депозит.Вредоносный пользователь может попытаться израсходовать ресурсы пеймастера, не совершив полезных действий.Злоумышленник, получивший контроль над ключом подписанта пеймастера, может одобрять операции вне предусмотренной политики.Пользователям не следует считать, что спонсирование газа делает операцию безопасной или исключает другие комиссии.Риски бандлера
Бандлер может подвергать UserOperation цензуре, задерживать, неправильно оценивать или отклонять ее.Он также может предоставлять неточные оценки газа или устаревшую информацию о статусе.Ончейн-проверка защищает смарт-аккаунт, однако при ненадежной работе выбранного бандлера пользовательский процесс все равно может завершиться неудачно.Кошелькам следует предусмотреть обработку тайм-аутов, замену операций, изменение комиссий и отправку через альтернативного бандлера, если она поддерживается.Пользователям следует проверять окончательные ончейн-квитанции, а не полагаться только на ответ бандлера о незавершенной операции.Риски оценки газа
В UserOperation задаются отдельные лимиты газа для проверки, выполнения, действий пеймастера и накладных расходов бандлера.Слишком низкий лимит может привести к сбою проверки или выполнения.Необоснованно высокий лимит может потребовать большего предварительного финансирования, хотя окончательный расчет должен учитывать фактическую стоимость согласно правилам протокола.На
Повторный вход и внешние вызовы
EntryPoint вызывает смарт-аккаунты, фабрики, пеймастеры, агрегаторы подписей и контракты приложений.Эти внешние вызовы могут выполнять произвольный код контракта.При реализации необходимо учитывать, что внешний код может завершиться ошибкой, израсходовать газ или попытаться повторно вызвать контракт.Смарт-аккаунты и модули должны защищать собственные критические данные при выполнении, инициированном EntryPoint.Логика пеймастера после выполнения не должна исходить из того, что запрошенное действие аккаунта завершилось успешно.Пользовательские расширения абстракции аккаунтов требуют независимого анализа безопасности, даже если они используют прошедший аудит EntryPoint.Как разработчикам интегрировать EntryPoint
Сначала следует выбрать поддерживаемую версию EntryPoint и проверить ее официальное развертывание в каждой сети.Затем необходимо настроить смарт-аккаунт так, чтобы он доверял только одобренным адресам EntryPoint.Третий шаг — реализовать
Как пользователи взаимодействуют с EntryPoint
Большинству пользователей не нужно вручную вызывать EntryPoint.Кошелек со смарт-аккаунтом формирует и отправляет UserOperation в фоновом режиме.До создания базовой блокчейн-транзакции пользователь может увидеть хеш операции с абстракцией аккаунтов.После включения обозреватель блокчейна может показать транзакцию с вызовом
Пример транзакции EntryPoint
Предположим, Алиса использует смарт-аккаунт и хочет одним действием подтвердить использование токена и внести его в криптовалютное хранилище.Ее кошелек формирует UserOperation, содержащую оба вызова.Логика авторизации аккаунта одобряет операцию с помощью настроенного Алисой способа аутентификации.Пеймастер соглашается спонсировать сетевой газ в соответствии со своей политикой.Кошелек отправляет операцию совместимому бандлеру.Бандлер моделирует проверку аккаунта и пеймастера.Затем он включает операцию Алисы вместе с другими UserOperation в вызов функции
Распространенные ошибки при работе с EntryPoint
Частая ошибка — путать EntryPoint со смарт-аккаунтом пользователя.Другая ошибка — отправлять UserOperation бандлеру, поддерживающему другую версию EntryPoint.Третья ошибка — доверять адресу EntryPoint, не проверив развернутый код.Четвертая ошибка — считать, что включение пакета в блок доказывает успешное выполнение вызова приложения.Пятая ошибка — путать депозит для оплаты газа со стейком пеймастера.Шестая ошибка — не включать ID сети и адрес EntryPoint в логику авторизации.Седьмая ошибка — считать успешную симуляцию гарантией успешного выполнения.Восьмая ошибка — позволять чувствительным функциям аккаунта принимать вызовы от любого контракта, выдающего себя за EntryPoint.Девятая ошибка — считать, что спонсируемая транзакция не может повлечь списание токенов или другую комиссию.Десятая ошибка — переходить на новый EntryPoint, не изучив поведение версии и отчеты о безопасности.Часто задаваемые вопросы
Что такое Entry Point в ERC-4337?
EntryPoint — центральный смарт-контракт, который проверяет и выполняет UserOperation, а также рассчитывает связанные с ними расходы для совместимых кошельков с абстракцией аккаунтов.EntryPoint — это кошелек?
Нет. Это общая инфраструктура, используемая кошельками со смарт-аккаунтами, бандлерами, фабриками и пеймастерами.EntryPoint — это криптовалюта?
Нет. EntryPoint — программное обеспечение в виде смарт-контракта, которому не нужен собственный токен.Какая версия EntryPoint является последней?
По состоянию на 16 июля 2026 года в официальном репозитории абстракции аккаунтов последним релизом указана EntryPoint v0.9.0.Какой адрес у EntryPoint v0.9?
В официальном релизе v0.9 указан адрес
Могут ли существовать несколько версий EntryPoint?
Да. Старые и новые версии могут работать одновременно, пока кошельки, бандлеры и пеймастеры переходят на новые.Что такое UserOperation?
UserOperation — структурированный запрос на выполнение операции с абстракцией аккаунтов. Он содержит отправителя, nonce, вызовы, параметры газа, данные авторизации и необязательные данные о развертывании или спонсировании.UserOperation — это транзакция Ethereum?
Нет. Бандлер объединяет одну или несколько UserOperation в обычную блокчейн-транзакцию, отправляемую в EntryPoint.Что делает handleOps?
Функция проверяет и выполняет пакет UserOperation, а затем выплачивает выбранному бенефициару собранные расходы на газ.Кто вызывает EntryPoint?
При отправке пакета UserOperation ончейн EntryPoint обычно вызывает бандлер.Кто авторизует UserOperation?
Ее авторизует смарт-аккаунт с помощью собственной логики
Может ли бандлер расходовать средства без одобрения аккаунта?
Корректно реализованный смарт-аккаунт отклоняет операции, не соответствующие его правилам авторизации.Что такое депозит в EntryPoint?
Это предварительно внесенная в EntryPoint нативная валюта для оплаты будущих расходов на газ UserOperation.Что такое стейк в EntryPoint?
Это заблокированная нативная валюта, используемая некоторыми сущностями, особенно пеймастерами, для защиты от атак типа «отказ в обслуживании» и для поддержания репутации.Депозит пеймастера — это то же самое, что стейк?
Нет. Из депозита оплачивается газ, а стейк блокируется отдельно, с периодом ожидания перед выводом.Что такое пеймастер?
Пеймастер — контракт, который соглашается покрывать расходы на газ для выбранных UserOperation.Освобождает ли пеймастер от оплаты за все операции?
Нет. Он может отклонять операции, применять правила допуска или использовать другие способы возмещения расходов.Что такое симуляция UserOperation?
Это офчейн-процесс, с помощью которого бандлер прогнозирует, пройдет ли операция проверку EntryPoint перед отправкой.Гарантирует ли успешная симуляция выполнение операции?
Нет. Выполнение приложения все еще может завершиться ошибкой, а состояние блокчейна может измениться до включения операции.Почему адрес EntryPoint включен в хеш операции?
Это помогает предотвратить повторное использование авторизации, предназначенной для одной версии EntryPoint, через другой контракт.Почему в хеш операции включен ID сети?
Это помогает предотвратить автоматическое повторное использование одной и той же подписанной операции в другой блокчейн-сети.Может ли EntryPoint развернуть смарт-аккаунт?
Если аккаунт отправителя еще не существует, EntryPoint может координировать его развертывание с помощью данных создания аккаунта и фабрики.Что такое контрфактический смарт-аккаунт?
Это адрес смарт-аккаунта, вычисленный до развертывания его контракта.Хранит ли EntryPoint токены пользователей?
Обычно токены хранятся в смарт-аккаунте пользователя, а EntryPoint хранит только депозиты и стейки, связанные с обработкой газа.Может ли одна транзакция EntryPoint включать операции нескольких пользователей?
Да. Вызов
Может ли неудачная UserOperation расходовать газ?
Да. Проверка и неудачное выполнение расходуют газ, который все равно может быть списан с соответствующего аккаунта или пеймастера.Поддерживает ли EntryPoint аккаунты EIP-7702?
В актуальных версиях EntryPoint поддерживаются совместимые процессы авторизации EIP-7702 и делегированных аккаунтов.Что изменилось в EntryPoint v0.9?
К основным изменениям относятся параллельные подписи пеймастера, диапазоны действия по номеру блока, обновленная обработка данных развертывания, запросы текущего хеша UserOperation и дополнительные улучшения наблюдаемости.Следует ли проекту развертывать собственный EntryPoint?
Производственные кошельки обычно используют проверенное каноническое развертывание, а собственные развертывания преимущественно нужны для тестирования и разработки.Безопасен ли EntryPoint?
Официальный контракт тщательно проверен, однако безопасность по-прежнему зависит от конкретного развертывания, версии, смарт-аккаунта, бандлера, пеймастера, фабрики, модулей и интеграционного кода.Заключение
EntryPoint — центральный ончейн-шлюз абстракции аккаунтов ERC-4337.Он получает пакетные UserOperation, координирует проверку смарт-аккаунтов, при необходимости развертывает аккаунты, проверяет наличие средств на газ, выполняет одобренные вызовы и рассчитывает комиссии.Бандлеры отправляют операции в EntryPoint, а смарт-аккаунты сохраняют контроль над собственными правилами авторизации.Пеймастеры могут спонсировать газ, поддерживая депозиты и принимая операции согласно программируемым правилам проверки.EntryPoint также управляет каналами nonce, депозитами, стейками, событиями операций и другими общими функциями абстракции аккаунтов.По состоянию на 16 июля 2026 года в официальном репозитории абстракции аккаунтов последним релизом указана версия v0.9.0.Для совместимости кошельки, бандлеры, пеймастеры, фабрики и реализации аккаунтов должны использовать одну и ту же версию EntryPoint.Разработчикам необходимо проверять адрес и байткод, защищать проверку доверенных вызывающих сторон, соблюдать точные правила хеширования, моделировать операции и проверять каждый подключенный контракт.Пользователям следует помнить, что спонсирование газа и программируемые кошельки повышают удобство, но не устраняют фишинг, сбои выполнения, риски подтверждения операций и уязвимости смарт-контрактов.Понимание EntryPoint помогает пользователям криптовалют отличать общий контракт обработки ERC-4337 от смарт-аккаунта, бандлера, пеймастера и действий приложений, связанных с этой инфраструктурой.Вам также может быть интересно
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
В тренде
Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка
ТОП по объему
Криптовалюты с наибольшим объемом торгов
Недавно добавленные
Криптовалюты недавно внесенные в листинг и доступные для торговли

