Предпродажа $EX5 — уровень Seed · 500M фиксированная эмиссия · 50% сжигание · регистрация на portal.ex5.comУЧАСТВОВАТЬ →
Обновлено

ERC-777

Кратко: ERC-777 — это стандарт торгуемых токенов, созданный на основе ERC-20. Он добавляет новые возможности, сохраняя обратную совместимость, поэтому кошельки и…

ERC-777 — это стандарт торгуемых токенов, созданный на основе ERC-20. Он добавляет новые возможности, сохраняя обратную совместимость, поэтому кошельки и приложения, созданные для ERC-20, по-прежнему могут подключаться к контракту токена ERC-777 и работать с ним как обычно.

Почему это важно

ERC-777 был задуман, чтобы сгладить некоторые шероховатости ERC-20. Он вводит «операторов» (operators) — адреса, которым владелец разрешает отправлять токены от своего имени, — и «хуки» (hooks) — функции, которые срабатывают при отправке или получении токенов. Хуки позволяют принимающему контракту отреагировать на входящий перевод в той же транзакции или отклонить нежелательные токены. Кроме того, переводы могут содержать дополнительные данные, например назначение платежа. Хуки опираются на общий ончейн-реестр ERC-1820, в котором адреса указывают, какие контракты обрабатывают их токены. Обратная сторона — сложность. Поскольку хуки выполняют внешний код посреди перевода, протоколы, которые этого не ожидали, становились жертвами эксплойтов повторного входа (re-entrancy). В результате ERC-777 встречается гораздо реже, чем обычный ERC-20.

Пример

Интернет-магазин принимает токен ERC-777. Покупатель отправляет токены, приложив к ним номер заказа в виде данных. Контракт магазина получает перевод через свой хук, считывает номер заказа и отмечает заказ как оплаченный — всё в рамках одной транзакции. С обычным токеном ERC-20 магазину понадобился бы дополнительный шаг одобрения, либо пришлось бы сопоставлять платежи с заказами уже после их поступления.

Связанные термины