---
title: "Стандарт токенів ERC-777"
description: "Дізнайтеся про ERC-777, покращений стандарт взаємозамінних токенів із хуками, хоча для безпеки рекомендується використовувати ERC-20."
lang: uk
---

## Попередження {#warning}

**ERC-777 важко реалізувати належним чином через його [вразливість до різних форм атак](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2620). Замість нього рекомендується використовувати [ERC-20](/developers/docs/standards/tokens/erc-20/).** Ця сторінка залишається як історичний архів.

## Вступ? {#introduction}

ERC-777 — це стандарт взаємозамінних токенів, який покращує існуючий стандарт [ERC-20](/developers/docs/standards/tokens/erc-20/).

## Передумови {#prerequisites}

Щоб краще зрозуміти цю сторінку, ми рекомендуємо спочатку прочитати про [ERC-20](/developers/docs/standards/tokens/erc-20/).

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

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

### Хуки {#hooks}

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

Хуки реєструються та виявляються за допомогою стандарту [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820).

#### Чому хуки — це чудово? {#why-are-hooks-great}

1. Хуки дозволяють надсилати токени на контракт і сповіщати контракт однією транзакцією, на відміну від [ERC-20](https://eips.ethereum.org/EIPS/eip-20), який вимагає подвійного виклику (`approve`/`transferFrom`) для досягнення цього.
2. Контракти, які не зареєстрували хуки, несумісні з ERC-777. Контракт-відправник перерве транзакцію, якщо контракт-отримувач не зареєстрував хук. Це запобігає випадковим переказам на смарт-контракти, що не підтримують ERC-777.
3. Хуки можуть відхиляти транзакції.

### Десяткові знаки {#decimals}

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

### Зворотна сумісність з ERC-20 {#backwards-compatibility-with-erc-20}

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

## Подальше читання {#further-reading}

[EIP-777: Стандарт токенів](https://eips.ethereum.org/EIPS/eip-777)