
ERC-777 — стандарт токенов Ethereum, который определяет правила передачи токенов, безопасного получения их смарт-контрактами и позволяет пользователям делегировать право перевода токенов другим лицам. Этот стандарт сохраняет совместимость с экосистемой ERC-20 и добавляет функции программируемого получения токенов и делегированных действий на основе операторов.
ERC-777 был предложен через Ethereum Improvement Proposal (EIP-777) и утвержден в 2019 году для устранения недостатков предыдущих стандартов, в первую очередь в части работы с контрактами и расширяемости. Многие реализации поддерживают интерфейсы как ERC-777, так и ERC-20, чтобы обеспечить распознавание и совместимость с кошельками и биржами.
Главная задача ERC-777 — сделать программируемое получение токенов и делегированную авторизацию стандартом, сократить ручные approve/transfer и снизить риск отправки токенов на контракты, которые не могут их принимать.
В начале использования ERC-20 контракты не могли автоматически обнаруживать входящие токены и полагались на дополнительные функции или события. ERC-777 решает эту проблему с помощью обратного вызова при получении, что позволяет сразу обрабатывать переводы — вести учет, предоставлять права или отклонять подозрительные источники.
Основу стандарта составляют “receive hooks” и “interface discovery”. Receive hook — это уведомление для получателя (пользователя или контракта) о поступлении токенов, позволяющее выполнить заранее заданную логику, например, обновить записи или отклонить перевод.
Чтобы отправитель мог определить, поддерживает ли получатель хуки, ERC-777 использует реестр EIP-1820 — блокчейн-реестр интерфейсов, который фиксирует, какие интерфейсы поддерживает адрес. При переводе токенов контракт проверяет реестр; если у адреса получателя зарегистрирован интерфейс receive hook, контракт вызывает этот хук до или после перевода токенов.
Стандарт также вводит операторов — авторизованные аккаунты, которые могут инициировать переводы от вашего имени. Это удобно для кастодиальных сервисов, автоматических платежей или массовых операций в корпоративных сценариях.
Ключевые отличия — программируемое получение токенов и поддержка делегированных переводов. В ERC-777 реализованы receive hooks и операторы, тогда как ERC-20 использует только базовые transfer/approve/transferFrom.
Для совместимости многие токены ERC-777 реализуют интерфейс ERC-20, чтобы их могли распознавать устаревшие кошельки и биржи. Однако поскольку ERC-777 зависит от EIP-1820 для обнаружения интерфейсов, некоторые старые контракты или инструменты могут работать иначе, если не поддерживают этот механизм.
ERC-777 позволяет получателям автоматически обрабатывать входящие переводы, что улучшает пользовательский опыт. Однако хуки требуют повышенного внимания к безопасности и усложняют архитектуру — разработчикам необходимо учитывать риски повторного входа (reentrancy).
Для пользователей работа с токенами ERC-777 схожа с переводом ERC-20: в большинстве кошельков достаточно указать адрес и сумму. Если получателем выступает контракт с поддержкой хуков, получение токенов может автоматически запускать логику, например, обновлять записи или предоставлять доступ.
Шаг 1: Убедитесь, что ваш кошелек или приложение поддерживает токены ERC-777. Изучите документацию токена и инструкции кошелька, чтобы проверить поддержку хуков и корректное отображение.
Шаг 2: Выполните тестовый перевод. Отправьте минимальную сумму на целевой адрес, чтобы проверить корректную обработку получателем, учет и обратную связь.
Шаг 3: Управляйте разрешениями операторов. Если ваше приложение поддерживает управление операторами, делегируйте права только доверенным адресам и регулярно проверяйте или отзывайте ненужные разрешения.
Для бирж всегда проверяйте поддержку стандарта перед вводом или выводом средств. Например, при использовании Gate для депозитов или вывода ознакомьтесь с официальной документацией или обратитесь в поддержку, чтобы уточнить наличие каналов ERC-777. Если поддерживается только ERC-20, следуйте инструкциям по выбору правильной сети и адреса контракта, чтобы избежать потери активов.
ERC-777 оптимален для сценариев, где “получение токенов запускает выполнение”:
На 2025 год ведущие DeFi-протоколы в основном используют ERC-20. Однако для специализированных задач, требующих мгновенной обработки поступлений, ERC-777 обеспечивает более плавное взаимодействие.
Основной риск связан с атаками повторного входа (reentrancy), возможными из-за receive hooks. Если контракт-получатель совершает внешние вызовы из хука, злоумышленник может воспользоваться этим для повторного вывода средств. На практике проблемы reentrancy и совместимости хуков ERC-777 привели к потерям в ряде протоколов (в частности, обсуждались случаи обратных вызовов и reentrancy около 2020 года).
Для пользователей:
Для разработчиков:
Если нужна простая функция “transfer с обратным вызовом”, рассмотрите ERC-1363 (например, transferAndCall). Это экономичный вариант с минимальными изменениями, но с ограниченной поддержкой в экосистеме. Если приоритет — сокращение двухшагового approve/transfer, стандарт ERC-2612 (permit-подписи) широко применяется в рамках ERC-20.
Для комплексных возможностей — хуки, делегирование операторов и обнаружение интерфейсов — при готовности управлять сложностью и требованиями аудита выбирайте ERC-777. В противном случае комбинация ERC-20 + ERC-2612 или использование ERC-1363 может лучше соответствовать существующей инфраструктуре.
На 2025 год распространение ERC-777 ниже, чем у ERC-20. Основные причины — ERC-20 стал де-факто стандартом с развитой инфраструктурой и экспертизой аудита. Несмотря на расширенные возможности, хуки ERC-777 требуют большего внимания к безопасности; многие проекты предпочитают реализовывать permit- или callback-механизмы поверх ERC-20.
На практике ERC-777 используется как “стандарт по требованию” — оптимальный для команд с высокой потребностью в программируемом получении токенов и экспертизой в области безопасности.
ERC-777 значительно улучшает программируемость и удобство получения токенов: хуки позволяют мгновенно обрабатывать поступления, операторы упрощают делегированные платежи, а реестр EIP-1820 облегчает обнаружение интерфейсов. Эти возможности требуют дополнительных мер безопасности и совместимости, что подразумевает тщательное проектирование и тестирование. Для пользователей опыт перевода и хранения токенов схож с ERC-20; при работе на биржах (например, Gate) обязательно уточняйте поддержку сети перед вводом средств, чтобы избежать потери активов. В целом, ERC-777 оптимален для автоматизированных или строго контролируемых приложений, а массовые кейсы продолжают строиться на ERC-20.
В криптовалютах 777 обычно обозначает стандарт ERC-777 — продвинутый протокол Ethereum, расширяющий возможности ERC-20 за счет функций, таких как запуск операций смарт-контрактов при переводах токенов. Проще говоря, ERC-777 обеспечивает более гибкие и интеллектуальные транзакции с токенами.
Главное преимущество ERC-777 — поддержка функций hook, которые автоматически запускают дополнительную логику при переводах, устраняя необходимость в отдельных шагах approve и transfer. Это позволяет создавать сложные приложения, такие как автоматический стейкинг или условные переводы. Пользовательский опыт становится удобнее, но требует внимания к безопасности хуков.
Gate поддерживает ввод и вывод большинства основных токенов, включая некоторые ERC-777. На странице ввода/вывода Gate найдите нужный токен и следуйте инструкциям. Рекомендуется сначала провести тестовую транзакцию на небольшую сумму, чтобы проверить корректность адреса и сети перед крупными переводами и избежать потери активов.
Несмотря на расширенные возможности, сложность и вопросы совместимости ограничивают массовое внедрение ERC-777. Многие устаревшие кошельки и биржи поддерживают его не полностью, а механизм хуков требует дополнительного внимания к безопасности. Поэтому большинство проектов продолжают выбирать стабильный стандарт ERC-20.
Начните с изучения основ стандарта ERC-20, затем освоите разработку смарт-контрактов (например, Solidity). Полезно знать принципы передачи в блокчейне, комиссии за газ, механизмы авторизации. Для пользователей достаточно знать, что это усовершенствованный тип токена; разработчикам необходимо подробно изучить реализацию стандарта.


