Що таке ERC-20: стандарт токенів Ethereum

ERC-20 — стандарт взаємозамінних токенів у мережі Ethereum, який визначає єдиний набір функцій для переказів і балансів.

ERC-20 з’явився в Ethereum як домовленість про те, як має виглядати токен: функції totalSupply, balanceOf, transfer, approve, transferFrom і allowance, а також події Transfer та Approval. Завдяки цьому будь-який гаманець, біржа чи платіжний сервіс працює з новим токеном без окремої інтеграції. USDT і USDC в Ethereum — токени ERC-20.

Кожен токен має параметр decimals — кількість знаків після коми. Для USDT і USDC в Ethereum це 6, для багатьох інших токенів — 18. Блокчейн зберігає баланс як ціле число, тож 1 USDT у контракті — це 1 000 000 одиниць. Помилка в decimals — класична причина некоректного зарахування.

Комісія за переказ ERC-20 сплачується в ETH, а не в токені. Переказ токена дорожчий за простий переказ ETH, бо виконує код контракту. Під час завантаження мережі ціна gas зростає, і невеликі платежі в ERC-20 стають невигідними для клієнта — тому для дрібних сум частіше обирають TRON, BSC чи Solana.

З approve пов’язаний поширений вид шахрайства: користувача змушують підписати дозвіл на списання токенів для чужого контракту, після чого кошти виводять. Мерчанту не потрібно просити клієнта про approve — для оплати достатньо звичайного transfer на адресу. Якщо платіжна сторінка вимагає «підключити гаманець і підтвердити дозвіл», варто насторожитися.

Moonvex приймає в Ethereum ETH, USDT і USDC. Сервіс сам поповнює gas на адресах платежів і збирає кошти, тому мерчанту не потрібно тримати ETH на кожній адресі.

Часті запитання

Чому комісія за переказ USDT ERC-20 іноді така висока?

Комісія залежить від ціни gas, а вона зростає при завантаженні мережі Ethereum. Переказ токена потребує більше gas, ніж переказ ETH, тому в пікові години він може коштувати помітно.

Чи можна надіслати ERC-20 токен на адресу в BSC?

Адреси Ethereum і BSC мають однаковий формат, тому гаманець дозволить це зробити, але токен лишиться в мережі Ethereum. Отримувач побачить його, лише якщо контролює ту саму адресу в Ethereum.

Що таке approve і чи потрібен він для оплати?

Approve дає іншому контракту право списувати ваші токени. Для звичайної оплати він не потрібен — вистачає transfer на адресу продавця.

Де це знадобиться

Пов’язані терміни

Почніть приймати оплату вже сьогодні

Обліковий запис і перший проєкт за хвилину, без абонентської плати.

Створити обліковий запис