Основні висновки

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

  • Токени ERC-20 існують всередині смарт-контрактів, а не зберігаються безпосередньо в акаунтах користувачів; контракт веде список балансів і обробляє передачі, коли користувачі подають транзакції.

  • Звичайні типи токенів ERC-20 включають стейблкоїни, утилітні токени, токени управління та токени ліквідності (LP), які використовуються в протоколах DeFi.

  • Токени ERC-20 не можуть бути видобуті; нові токени карбуються під час розгортання контракту, зазвичай розподіляються під час таких подій, як первинні розміщення монет (ICO) або події генерації токенів.

Binance Academy courses banner

Вступ

Ethereum був заснований Віталіком Бутеріним у 2014 році, позиціонуючи себе як відкриту платформу для запуску децентралізованих додатків (DApps). Багато з мотивацій Бутеріна для створення нової блокчейн-системи виникли внаслідок відсутності гнучкості в протоколі Bitcoin.

З моменту свого запуску блокчейн Ethereum привабив розробників, бізнеси та підприємців, створюючи зростаючу екосистему смарт-контрактів та розподілених додатків.

Ця стаття охоплює стандарт ERC-20: важливу основу для створення фунгібільних токенів на Ethereum. Хоча він був розроблений спеціально для мережі Ethereum, ця структура також надихнула стандарти токенів на інших блокчейнах, таких як BEP-20 на BNB Smart Chain.

Що таке стандарт ERC-20?

В Ethereum ERC - це запит на коментарі Ethereum. Це технічні документи, які описують стандарти програмування на Ethereum. Ви можете запитати, що ж таке пропозиції вдосконалення Ethereum (EIPs)? EIP - це формальний документ, який використовується для пропозицій нових функцій або змін у мережі Ethereum. ERC - це підмножина EIP, що зосереджується на стандартах смарт-контрактів, і вони пропонують поліпшення самого протоколу. ERC, натомість, має на меті встановити конвенції, які спростять взаємодію додатків та контрактів.

Автори Віталік Бутерін та Фабіан Вогельштеллер у 2015 році запропонували відносно простий формат для токенів на базі Ethereum. Дотримуючись цієї структури, розробники не повинні винаходити велосипед. Натомість вони можуть будувати на основі, яка вже використовується в галузі.

Після створення нових токенів ERC-20 вони автоматично стають сумісними з сервісами та програмним забезпеченням, що підтримують стандарт ERC-20, включаючи програмні гаманці, апаратні гаманці та біржі.

Зверніть увагу, що ERC-20 пізніше був формалізований у EIP (зокрема, EIP-20). Це сталося через кілька років після першої пропозиції внаслідок його широкого впровадження. Однак назва "ERC-20" залишилася загальноприйнятим посиланням.

Швидкий підсумок про токени Ethereum

На відміну від ETH (рідної криптовалюти Ethereum), токени ERC-20 не зберігаються безпосередньо в акаунтах. Токени існують лише всередині контракту, який функціонує як самостійна база даних. Він визначає правила для токенів (включаючи назву, символ та ділимість) та веде список, що відображає баланси користувачів на їх адреси Ethereum.

Щоб перемістити токени, користувачі повинні надіслати транзакцію до контракту, просячи його виділити частину їхнього балансу кудись ще. Наприклад, якщо Аліса хоче надіслати 5,000 токенів Бобу, вона викликає функцію всередині смарт-контракту токена, щоб це зробити.

Її виклик міститься в тому, що виглядає як звичайна транзакція Ethereum, яка сплачує 0 ETH контракту токена. Виклик включено в додаткове поле транзакції, яке вказує, що Аліса хоче зробити. Навіть якщо вона не надсилає ефір, їй все ще потрібно сплатити плату за транзакцію в ETH, щоб її транзакцію включили в блок. Якщо в неї немає ETH, їй потрібно отримати деяку кількість перед тим, як вона зможе передати токени.

Як створюються токени ERC-20?

Щоб відповідати стандарту ERC-20, контракт має включати шість обов'язкових функцій: totalSupply, balanceOf, transfer, transferFrom, approve та allowance. Крім того, ви можете вказати необов'язкові функції, такі як name, symbol та decimal.

totalSupply

function totalSupply() public view returns (uint256)

Коли ця функція викликається, вона повертає загальну кількість токенів, які утримує контракт.

balanceOf

function balanceOf(address _owner) public view returns (uint256 balance)

На відміну від totalSupply, balanceOf приймає параметр (адресу). Коли викликається, вона повертає баланс токенів цієї адреси. Оскільки акаунти в Ethereum є публічними, ви можете запитати баланс будь-якого користувача, якщо знаєте їх адресу.

transfer

function transfer(address to, uint256 value) public returns (bool success)

transfer переміщує токени від одного користувача до іншого. Ви вказуєте адресу призначення та суму для передачі. Коли викликається, transfer активує подію Transfer, яка повідомляє блокчейну включити посилання на транзакцію. Подія Transfer, разом з подією Approval, яка є журналом затвердження, повинна бути включена в токен.

transferFrom

function transferFrom(address from, address to, uint256 _value) public returns (bool success)

transferFrom є корисною альтернативою transfer, яка дозволяє більше програмування в децентралізованих додатках. Як і transfer, вона переміщує токени, але ці токени не обов'язково повинні належати особі, що викликає контракт. Іншими словами, ви можете уповноважити іншу адресу (або контракт) переміщувати кошти від вашого імені. Звичайний випадок використання включає підписні послуги, де програма автоматично обробляє повторювані платежі замість того, щоб вимагати ручної транзакції щоразу.

approve

function approve(address spender, uint256 value) public returns (bool success)

approve дозволяє обмежити кількість токенів, які смарт-контракт може зняти з вашого балансу. Без цього несправний або експлуатований контракт може висмоктати ваш повний баланс. Наприклад, якщо підписка коштує один токен на тиждень, а ви затверджуєте ліміт у двадцять токенів, DApp може обробити до 20 тижнів платежів. Якщо DApp намагається зняти більше, або якщо виявлено помилку, ваш потенційний збиток обмежується затвердженою сумою.

allowance

function allowance(address owner, address spender) public view returns (uint256 remaining)

allowance використовується разом з approve. Після того, як ви надали контракту дозвіл управляти вашими токенами, ви можете використовувати allowance, щоб перевірити, скільки він ще може зняти. Наприклад, якщо підписка використала дванадцять з ваших двадцяти затверджених токенів, виклик allowance повертає вісім.

Необов'язкові функції

Функції вище є обов'язковими. З іншого боку, name, symbol та decimal є необов'язковими, але вони роблять ваш ERC-20 контракт більш зручним для користувачів. Відповідно, вони дозволяють вам додати зрозумілу назву, встановити символ акцій та вказати, на скільки десяткових частин токени діляться. Токени, що використовуються як валюти, можуть виграти від більшої ділимісті, ніж токени, які представляють власність на фізичний актив.

Події

Існує дві події, які будуть активовані раніше згаданими функціями:

  • Подія Transfer: це відбувається щоразу, коли токени передаються, створюються або знищуються.

event Transfer(address indexed from, address indexed to, uint256 _value)
  • Подія Approval: це активується щоразу, коли потрібне затвердження. Коли користувач затверджує DeFi платформу (таку як Uniswap) для використання своїх токенів, активується подія Approval, що інформує платформу дозволити угоду.

event Approval(address indexed owner, address indexed spender, uint256 _value)

Що можуть робити токени ERC-20?

Велика частина привабливості токенів ERC-20 полягає в їхній гнучкості. Стандарт встановлює конвенції без обмеження розвитку, тому проекти можуть реалізувати додаткові функції та встановити специфічні параметри, щоб відповідати своїм потребам. У 2025 році токени ERC-20 живлять кілька категорій децентралізованих фінансових (DeFi) додатків, від протоколів кредитування та запозичення до децентралізованих бірж та платформ для фермерства доходу.

Стейблкоїни

Стейблкоїни (токени, прив'язані до фіатних валют) часто використовують стандарт ERC-20. Для типової стейблкоїн, який підтримується фіатом, емітент утримує резерви доларів, євро або інших валют. За кожну одиницю в їхньому резерві вони випускають відповідний токен. Якщо в резерві утримується $10,000, емітент може створити 10,000 токенів, кожен з яких обмінюється на $1. Користувачі можуть витрачати ці токени на товари та послуги, використовувати їх у DApps або обмінювати їх у емітента. Коли токени обмінюються, емітент знищує повернені токени (перетворюючи їх у назавжди непридатні) та випускає еквівалентний фіат з резервів.

Токени управління

Токени управління надають тримачам права голосу щодо рішень протоколу, таких як структури зборів, оновлення або розподіл скарбниці. Вони широко використовуються в протоколах DeFi та децентралізованих автономних організаціях (DAO). Переносимість та стандартний інтерфейс ERC-20 роблять токени управління легкими для інтеграції з системами голосування в блокчейні.

Токени ліквідності (LP)

Коли користувачі вносять активи в ліквідний пул DeFi, вони отримують токени LP, що представляють їх частку в пулі. Ці токени ERC-20 можна обміняти на основні активи плюс будь-які накопичені збори. Токени LP є одним з найпоширеніших типів токенів ERC-20, які активно використовуються в DeFi станом на 2025 рік.

Токени безпеки

Токени безпеки схожі на стейблкоїни на рівні контракту. Різниця виникає на рівні емітента: токени безпеки представляють цінні папери, такі як акції, облігації або фізичні активи, і часто надають тримачеві частку в бізнесі чи активі. Нові стандарти, такі як ERC-1400 та ERC-3643, будуються на ERC-20, щоб додати функції відповідності, необхідні для регульованих цінних паперів.

Утилітні токени

Утилітні токени є одним з найпоширеніших типів токенів. На відміну від токенів, що підтримуються активами, вони не підкріплені жодним зовнішнім активом. Вони можуть слугувати як внутрішня валюта гри, паливо для децентралізованих додатків, бали лояльності або доступ до конкретних послуг.

Чи можна добувати токени ERC-20?

Ви можете заробляти ефір (ETH) через стейкінг, але токени ERC-20 не підлягають видобутку. Ми кажемо, що вони карбуються, коли створюються нові. Коли контракт розгортається, розробники розподіляють початкову кількість відповідно до своїх планів і дорожньої карти. Це зазвичай робиться через первинне розміщення монет (ICO), первинне розміщення на біржі (IEO) або пропозицію токенів безпеки (STO). В наш час аірдропи також є поширеним методом розподілу. Інвестори надсилають ефір на адресу контракту та отримують нові токени в обмін. Виручка зазвичай використовується для фінансування подальшого розвитку.

Розподіли токенів не обов'язково повинні бути автоматизованими. Багато краудфандингових подій приймають ряд цифрових валют, при цьому баланси токенів потім розподіляються на адреси, надані учасниками.

Плюси та мінуси токенів ERC-20

Плюси

  • Фунгібільність: токени ERC-20 є фунгібільними, що означає, що кожна одиниця є взаємозамінною з іншою. Це ідеально підходить для валют, стейблкоїнів і токенів управління, де окремі одиниці не повинні мати відмінних характеристик.

  • Гнучкість: токени ERC-20 є високонастроювальними і можуть бути адаптовані до багатьох різних застосувань, від внутрішньоігрової валюти та програм лояльності до інструментів DeFi та представлення реальних активів (RWA).

  • Сумісність: широке використання ERC-20 означає, що більшість криптовалютних гаманців, бірж та смарт-контрактів вже сумісні з новими запущеними токенами. Документація для розробників та інструменти є обширними.

Мінуси

  • Масштабованість: базовий рівень Ethereum обробляє обмежену кількість транзакцій на секунду, а затори можуть призвести до високих зборів та затримок. Рішення другого рівня, такі як Arbitrum, Optimism та zkSync, вирішили багато з цього, обробляючи транзакції поза ланцюгом, поки вони врегульовуються в Ethereum, але додавання другого рівня вводить додаткову складність для емітентів токенів та користувачів.

  • Шахрайства: простота запуску токена ERC-20 є подвійною перевагою. Мінімальні технічні зусилля потрібні, що означає, що шахрайські проекти можуть випускати токени так само легко, як і легітимні. Завжди проводьте своє власне дослідження (DYOR) перед участю в будь-якій пропозиції токенів, щоб дійти власних висновків про те, чи є можливість легітимною.

ERC-20, ERC-721, ERC-1155 та ERC-404: у чому різниця?

ERC-20 був першим стандартом токенів Ethereum і залишається найвикористовуванішим. З тих пір з'явилося кілька інших, які або пропонують поліпшення, або вирішують різні випадки використання.

ERC-721 є стандартом для невзаємозамінних токенів (NFT): кожен токен має унікальний ідентифікатор, що робить його невзаємозамінним з будь-яким іншим. ERC-721 живить цифрове мистецтво, колекційні предмети та ігрові предмети, де індивідуальна унікальність має значення.

ERC-1155 підтримує як фунгібільні, так і невзаємозамінні токени в одному контракті. Один контракт ERC-1155 може керувати кількома типами токенів одночасно, що робить його ефективним для ігрових застосувань, які залучають як валюти, так і унікальні предмети.

ERC-404, експериментально введений на початку 2024 року, намагається поєднати фунгібільність ERC-20 з унікальністю ERC-721 для створення "напів-фунгібільних" токенів. Він не був формально прийнятий як EIP і не має широкої підтримки екосистеми, але ілюструє, як структура ERC-20 продовжує надихати нові підходи.

Інші стандарти, такі як ERC-223, спрямовані на додавання заходів безпеки, що запобігають випадковим передачам токенів, вирішуючи відому обмеженість оригінального дизайну ERC-20.

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

Що таке токен ERC-20?

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

Чим ERC-20 відрізняється від ERC-721?

Токени ERC-20 є фунгібільними: кожна одиниця є ідентичною та взаємозамінною, що робить стандарт придатним для валют, стейблкоїнів і токенів управління. Токени ERC-721 є невзаємозамінними: кожен має унікальний ідентифікатор, що робить їх придатними для цифрового мистецтва, колекційних предметів і ігрових предметів, де потрібна індивідуальна унікальність.

Чи можна добувати токени ERC-20?

Ні. Токени ERC-20 карбуються (створюються) під час розгортання смарт-контракту, а не видобуваються. Загальна кількість та початковий розподіл встановлюються розробниками контракту. Нові токени зазвичай розподіляються через механізми, такі як ICO, IEO або програми видобутку ліквідності.

Чому транзакції ERC-20 вимагають ETH?

Переводи ERC-20 — це операції, що виконуються в мережі Ethereum. Усі операції в Ethereum вимагають плати за транзакцію (яка називається газом), яка сплачується в ETH. Навіть якщо ви передаєте нуль ETH, вам все ще потрібен ETH у вашому гаманці, щоб покрити витрати на газ для виклику контракту токена.

Для чого використовується функція approve в ERC-20?

Функція approve дозволяє тримачу токена встановити ліміт витрат для конкретної адреси або смарт-контракту. Це зазвичай використовується в DeFi: замість того, щоб дозволяти протоколу безмежний доступ до ваших токенів, ви можете обмежити суму, яку він може зняти. Якщо буде виявлено помилку або контракт буде неправильно працювати, ваш потенційний збиток обмежується затвердженою сумою.

Заключні думки

Стандарт ERC-20 залишався домінуючою основою для фунгібільних токенів на Ethereum з моменту свого впровадження. Його простота, широка сумісність та гнучкий дизайн зробили його основою для стейблкоїнів, токенів управління, інструментів DeFi та численних утилітних токенів.

Виклики масштабованості на базовому рівні Ethereum в значній мірі були вирішені зростанням мереж другого рівня, які зараз обробляють більшість нової діяльності DeFi. Тим часом нові стандарти токенів розширюються на більш спеціалізовані випадки використання. Сам ERC-20 не змінився, що є частиною його надійності: простий, аудитований стандарт, який працює надійно в усій екосистемі Ethereum.

Додаткова література

  • Що таке Ethereum і як він працює?

  • Що таке смарт-контракти і як вони працюють?

  • Що таке децентралізовані фінанси (DeFi)?

  • Що таке стейблкоїн?

  • Що таке ICO (початкове розміщення монет)?

Відмова від відповідальності: цей контент надається вам на умовах "як є" для загальної інформації та навчальних цілей, без представлення або гарантії будь-якого роду. Його не слід вважати фінансовою, юридичною чи іншою професійною порадою, а також не має на меті рекомендувати купівлю будь-якого конкретного продукту або послуги. Вам слід звернутися за порадою до відповідних професійних консультантів. Якщо контент надається стороннім автором, будь ласка, зверніть увагу, що висловлені ним погляди належать сторонньому авторові і не обов'язково відображають погляди Binance Academy. Ціни на цифрові активи можуть бути волатильними. Вартість вашої інвестиції може знижуватися або підвищуватися, і ви можете не отримати назад вклади. Ви несете повну відповідальність за свої інвестиційні рішення, і Binance Academy не несе відповідальності за будь-які збитки, які ви можете зазнати. Для отримання додаткової інформації дивіться наші Умови використання, Попередження про ризики та Умови Binance Academy.