Стандарт токенов ERC-777
Последнее обновление страницы: 21 августа 2025 г.
Предупреждение
ERC-777 трудно реализовать должным образом из-за его подверженности различным формам атак (opens in a new tab). Вместо этого рекомендуется использовать ERC-20. Эта страница оставлена в качестве исторического архива.
Введение? Введение
ERC-777 — это стандарт взаимозаменяемых токенов, улучшающий существующий стандарт ERC-20.
Предварительные условия
Чтобы лучше понять эту страницу, мы рекомендуем вам сначала прочитать об ERC-20.
Какие именно улучшения над ERC-20 предлагает ERC-777?
ERC-777 обеспечивает следующие усовершенствования по сравнению с ERC-20.
Перехватчики
Перехватчики — это функция, описанная в коде умного контракта. Перехватчики вызываются при отправке или получении токенов через контракт. Это позволяет умному контракту реагировать на входящие или исходящие токены.
Перехватчики регистрируются и обнаруживаются с помощью стандарта ERC-1820 (opens in a new tab).
Чем хороши перехватчики?
- Перехватчики позволяют отправлять токены в контракт и уведомлять контракт в рамках одной транзакции, в отличие от ERC-20 (opens in a new tab), который для этого требует двойного вызова (
approve/transferFrom). - Контракты, в которых не зарегистрированы перехватчики, несовместимы с ERC-777. Отправляющий контракт прервет транзакцию, если в принимающем контракте не зарегистрирован перехватчик. Это предотвращает случайные переводы на умные контракты, несовместимые с ERC-777.
- Перехватчики могут отклонять транзакции.
Десятичные знаки
Этот стандарт также решает проблему путаницы вокруг decimals, вызванную в ERC-20. Эта ясность улучшает опыт разработчика.
Обратная совместимость с ERC-20
С контрактами ERC-777 можно взаимодействовать так, будто бы они — контракты ERC-20.