Сектор блокчейна залучає значну увагу завдяки постійному розвитку технологій блокчейн, Біткойну, Ефіріуму, криптовалютам і ICO. Це змусило мене написати цей посібник, перший з серії, призначеної для допомоги особам розуміти, як використовувати технологію блокчейну та криптовалюти для створення впливових додатків.
У цьому навчальному посібнику я маю на меті провести вас через весь процес, від налаштування вашого облікового запису до випуску вашого першого токена на тестовій мережі Ethereum за допомогою одного смарт-контракту та Metamask. Цей токен буде працювати як стандартний токен ERC20 в тестовій мережі Ethereum, оснащений основними функціями, які можуть служити універсальною основою для більш складних додатків поза простими переказами.
У 2015 році німецький розробник Фабіан Фогельстеллер зробив свій внесок у історію Ethereum, залишивши коментар на GitHub-сторінці проекту. Це був його 20-й коментар, під час якого він вперше згадав про ERC-20. З поступом Ethereum ERC-20 був введений як рішення до проблем масштабованості мережі.
Офіційне визнання та прийняття ERC-20 як пропозиції щодо поліпшення Ethereum (EIP-20), співавторами якого є Vogelsteller та співзасновник Ethereum Віталік Бутерін, сталося наприкінці 2017 року.
Перед прийняттям стандарту ERC-20 творцям токенів доводилося починати з нуля, що призводило до неузгодженості серед різних токенів. Розробникам потрібно було повністю розуміти код розумного контракту інших токенів через відсутність стандартизованої структури, що ускладнювало справи для гаманців та бірж, які мусили переглядати код кожного токена для підтримки. Додавання нових токенів до додатків стало складним завданням.
З введенням стандарту ERC-20 його стандартизовані функції, взаємодія та передаваність дозволили гаманцям та біржам інтегрувати кілька токенів та легко обмінюватися між ними. Розумні контракти, що застосовуються в токенах ERC-20, можуть автоматично виконувати та забезпечувати складні фінансові транзакції, що є важливим для платформ DeFi. На цих платформах токени можуть представляти різні фінансові інструменти, такі як позики або частки в ліквіднісних пулах.
Стандарт ERC-20 визначає шість обов'язкових та три необов'язкових функції, які повинні реалізувати смарт-контракти.
Ось необхідні функції та їх описи:
totalSupply: Метод, який визначає загальний обсяг токенів; якщо цей ліміт досягнуто, смарт-контракт не створить нові токени.- balanceOf: Метод, який повертає кількість токенів, які володіє певна адреса гаманця.- transfer: Метод, який віднімає вказану кількість токенів від загальної кількості та виділяє їх користувачеві.- transferFrom: Альтернативний метод передачі токенів між користувачами.- approve: Метод для перевірки того, чи дозволяє розумний контракт виділити певну кількість токенів користувачеві, враховуючи загальну кількість.- дозвіл: Схоже на метод затвердження, але перевіряє, чи у користувача достатньо балансу, щоб надіслати певну кількість токенів іншому користувачу.Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить удобство использования токена:
назва: Метод, який повертає назву токена.- symbol: Метод, який повертає символ токена.- decimals: Метод, який вказує кількість десяткових знаків для токена. Це визначає найменшу одиницю токена. Наприклад, якщо ERC-20 токен має значення decimals рівне 6, це означає, що токен можна поділити на шість десяткових знаків.Якщо ви знайомі з об'єктно-орієнтованою програмуванням, ви можете уявити ERC-20 як інтерфейс. Щоб зробити ваш токен токеном ERC-20, вам потрібно реалізувати інтерфейс ERC-20, що вимагає включення цих шести основних функцій. По суті, інтерфейс ERC-20 служить шаблоном, і будь-який контракт, який має бути класифікований як токен ERC-20, повинен проектувати та реалізувати свої функції, використовуючи цей шаблон.
Mask](https://metamask.io/)розширення браузера або використовуйте інший гаманець Web3, наприклад, Phantom, або будь-який гаманець, сумісний з WalletConnect. Після налаштування гаманця вам знадобиться деякий тестовий ETH. Ви можете отримати його зКран Ethereum Sepolia, яка спеціально призначена для тестової мережі Ethereum Sepolia. Отримати тестовий ETH просто: просто відвідайте веб-сайт крану, підключіть свою адресу гаманця або введіть свою адресу, й слідуйте інструкціям. Ви також можете поділитися твітом для отримання додаткових винагород, або можете вибрати опцію «Ні, дякую, просто надішліть мені 0,05 ETH» для отримання тестового ETH безпосередньо. Однак пам'ятайте, що вам потрібно мати принаймні 0,001 ETH на своєму рахунку в основній мережі Ethereum, щоб скористатися краном тестових монет QuickNode.
Для зручності та безпеки ми будемо використовувати OpenZeppelin ERC-20контракт для створення нашого токена в цьому посібнику. З OpenZeppelin нам не потрібно писати весь інтерфейс ERC-20; ми просто імпортуємо контракт бібліотеки та використовуємо його функції. У цьому випадку ми випустимо 1 мільйон токенів ERC-20 з назвою MNT.
Далі перейдіть доEthereum RemixIDE (інтегроване середовище розробки для Ethereum, яке підтримує мову програмування Solidity) та створити новий файл Solidity, наприклад - MyNewToken.sol.

Будь ласка, вставте наступний код у ваш новий скрипт Solidity:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20;
import “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
контракт MyNewToken є ERC20 { constructor() ERC20(“MyNewToken”, “MNT”) { _mint(msg.sender, 1000000* (10 **uint256(decimals())); } }

Ось, що робить код:
Коментар SPDX-License-Identifier вказує на ліцензію, за якою випущено контракт.
Директива pragma визначає версію компілятора, яка буде використана.
Контракт ERC20 імпортується з OpenZeppelin та служить основою для вашого токена.
MyNewToken - це назва вашого контракту, який успадковує контракт ERC20.
функція-конструктор ініціалізує ваш токен з іменем (“MyNewToken”) та символом (“MNT”).
Функція _mint у межах конструктора створює початковий запас токенів. У цьому випадку створюється 1 мільйон токенів та призначається адресі, яка розгортає контракт. Загальна кількість токенів коригується відповідно до значення десяткових знаків, яке за замовчуванням дорівнює 18 в реалізації OpenZeppelin.
Оскільки ми імпортували смарт-контракт ERC20 з OpenZeppelin, а контракт MyNewToken успадковує його, немає потреби визначати всі функції самостійно. Усі функції, визначені в контракті ERC20, включені в контракт MyNewToken. Якщо ви хочете побачити більш детальну версію повного коду ERC-20, ви можете звернутися доцей файл.
Тепер візьміть деякий час, щоб налаштувати розумний контракт під свої потреби. Ви також можете змінити назву токена та символ, змінивши цей розділ: ERC20 («МійНовийТокен», «МНТ»).
Крок 1: Клацніть кнопку Solidity Compiler. Перевірте версію компілятора та переконайтеся, що вибрано правильний контракт. Оскільки ваш розумний контракт включає рядок pragma solidity ^0.8.20;, версія компілятора повинна бути щонайменше 0.8.20. Далі клацніть кнопку Compile MyNewToken.sol. Якщо все успішно, на кнопці компіляції ви побачите зелену позначку галочки.
Компілюйте розумний контракт
Успішна компіляція (зелений галочка)
Крок 2: Перейдіть до вкладки Розгорнути та виконайте транзакції. У розділі Середовище виберіть опцію Injected Provider для розгортання. Перш ніж продовжити, переконайтеся, що ваш MetaMask налаштований на тестову мережу Sepolia і що ви вибрали контракт MyNewToken для розгортання. Натомість натисніть кнопку Розгорнути, щоб розгорнути свій контракт.
Виберіть Injected Provider як свій локальний гаманець Web3 (MetaMask)
Підключіть свій гаманець Web3
Підтвердити розгортання контракту та вибрати мережу (Це тестова мережа)
Якщо ви не впевнені, як перейти на інші мережі, відкрийте розширення MetaMask, клацніть селектор мережі у верхньому лівому куті та виберіть Sepolia. Якщо його не видно, переконайтеся, що опція “Показати тестові мережі” увімкнена. Щоб отримати інструкції з додавання URL RPC QuickNode до MetaMask, будь ласка, перевірте Посібник QuickNode.

Вітаємо! Ваш контракт токенів успішно розгорнутий на тестовій мережі Ethereum Sepolia, і ви офіційно володієте своїм першим токеном!
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.





