Перейти до основного вмісту
Change page

Стандарт токенів ERC-777

Попередження

ERC-777 важко реалізувати належним чином через його вразливість до різних форм атак (opens in a new tab). Замість нього рекомендується використовувати ERC-20. Ця сторінка залишається як історичний архів.

Вступ?

ERC-777 — це стандарт взаємозамінних токенів, який покращує існуючий стандарт ERC-20.

Передумови

Щоб краще зрозуміти цю сторінку, ми рекомендуємо спочатку прочитати про ERC-20.

Які покращення пропонує ERC-777 порівняно з ERC-20?

ERC-777 забезпечує такі покращення порівняно з ERC-20.

Хуки

Хуки — це функції, описані в коді смарт-контракту. Хуки викликаються, коли токени надсилаються або отримуються через контракт. Це дозволяє смарт-контракту реагувати на вхідні або вихідні токени.

Хуки реєструються та виявляються за допомогою стандарту ERC-1820 (opens in a new tab).

Чому хуки — це чудово?

  1. Хуки дозволяють надсилати токени на контракт і сповіщати контракт однією транзакцією, на відміну від ERC-20 (opens in a new tab), який вимагає подвійного виклику (approve/transferFrom) для досягнення цього.
  2. Контракти, які не зареєстрували хуки, несумісні з ERC-777. Контракт-відправник перерве транзакцію, якщо контракт-отримувач не зареєстрував хук. Це запобігає випадковим переказам на смарт-контракти, що не підтримують ERC-777.
  3. Хуки можуть відхиляти транзакції.

Десяткові знаки

Стандарт також вирішує плутанину навколо decimals, спричинену в ERC-20. Ця ясність покращує досвід розробників.

Зворотна сумісність з ERC-20

З контрактами ERC-777 можна взаємодіяти так, ніби це контракти ERC-20.

Подальше читання

EIP-777: Стандарт токенів (opens in a new tab)