ERC-20
"ERC-20 — стандарт токенов в сети Ethereum: USDT, UNI и LINK живут по одним правилам. Как устроен контракт, зачем нужен approve и от чего зависит комиссия."
Обновлено: 2026-09-15
"ERC-20 — стандарт токенов в сети Ethereum: USDT, UNI и LINK живут по одним правилам. Как устроен контракт, зачем нужен approve и от чего зависит комиссия."
Обновлено: 2026-09-15
Я выводила USDT из биржи в сеть Ethereum и заплатила 3,4 $ комиссии. Тот же перевод в сети Tron стоил бы около 0,9 $. Монета одна, тикер один, а правила и цена разные: это два разных токена с одинаковым названием — ERC-20 и TRC-20.
ERC-20 — технический стандарт токенов в сети Ethereum. Это список обязательных функций, которые должен уметь смарт-контракт, чтобы кошельки, биржи и DeFi-протоколы работали с токеном без отдельной интеграции под каждый из них.
Стандарт описывает не токен, а его интерфейс. Если в контракте есть функции transfer, balanceOf и approve с правильными параметрами, токен автоматически считается ERC-20. Кошельку не нужно спрашивать разрешения у разработчика: он просто вызывает знакомые функции по адресу контракта.
Отсюда и главное удобство. MetaMask показывает сотни токенов в одном списке, Uniswap торгует любой парой без правок в коде. Стандарт предложил Фабиан Фогельшталлер в 2015 году, закрепили его как EIP-20 в 2017-м.
Их немного: totalSupply (общий выпуск), balanceOf (баланс адреса), transfer (перевод), transferFrom (списание с чужого адреса), approve и allowance (лимит на списание), плюс name, symbol и decimals. Ещё два события — Transfer и Approval — по ним кошельки и биржи узнают об операциях.
decimals важнее, чем кажется. У USDT — 6 знаков, у большинства токенов — 18. В блокчейне хранятся целые числа, поэтому 1 USDT записан как 1000000, а 1 UNI — как 1000000000000000000. Отсюда ошибки при ручном расчёте сумм.
Самый неочевидный пункт. Чтобы DEX или другой контракт списал ваши монеты, вы даёте разрешение approve с лимитом. Многие интерфейсы по умолчанию ставят максимум uint256 — фактически бесконечный лимит. Если в контракте найдут дыру, он вытащит всё, что вы разрешили.
Я раз в месяц проверяю выданные разрешения и отзываю лишние: это занимает две минуты и стоит пару долларов газа за одну транзакцию.
Tether работает больше чем в десяти сетях: ERC-20 в Ethereum, TRC-20 в Tron, BEP-20 в BNB Chain. Это разные контракты со своими адресами, и балансы между ними не связаны никак. Отправить ERC-20 USDT на адрес Tron нельзя: монеты уйдут в никуда, вернуть их не сможет никто, включая поддержку биржи.
Поэтому перед выводом сверяйте три вещи: сеть в бирже, сеть у получателя и адрес контракта токена. Комиссия тоже разная: перевод ERC-20 стоит 3–8 $, TRC-20 — около 1 $.
decimals различаются: 6 у USDT, 18 у большинства токенов.approve — разрешение на списание ваших монет: ставьте лимит равный сумме сделки, а не максимум.Остались вопросы? Спросите ИИ-ассистента — объяснит другими словами.
Спросить