Сектор блокчейна залучає значну увагу завдяки постійному розвитку технологій блокчейн, Біткойну, Ефіріуму, криптовалютам і ICO. Це змусило мене написати цей посібник, перший з серії, призначеної для допомоги особам розуміти, як використовувати технологію блокчейну та криптовалюти для створення впливових додатків.
У цьому навчальному посібнику я маю на меті провести вас через весь процес, від налаштування вашого облікового запису до випуску вашого першого токена на тестовій мережі Ethereum за допомогою одного смарт-контракту та Metamask. Цей токен буде працювати як стандартний токен ERC20 в тестовій мережі Ethereum, оснащений основними функціями, які можуть служити універсальною основою для більш складних додатків поза простими переказами.
Перед тим, як створити свій власний токен ERC20, вам потрібно підготувати наступне:
ERC означає Ethereum Request for Comment, де 20 - це номер ідентифікації пропозиції. Метою ERC-20 є покращення мережі Ethereum. Це один з найважливіших стандартів ERC і став технічним каркасом для створення токенів на блокчейні Ethereum за допомогою смарт-контрактів. ERC-20 визначає набір правил, яким повинні відповідати всі токени на основі Ethereum, визначаючи їх як активи на блокчейні, які можна відправляти та отримувати, мають вартість, працюють на блокчейні 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 визначає шість обов'язкових та три необов'язкових функції, які повинні реалізувати смарт-контракти.
Ось необхідні функції та їх описи:
Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить удобство использования токена:
Якщо ви знайомі з об'єктно-орієнтованою програмуванням, ви можете уявити ERC-20 як інтерфейс. Щоб зробити ваш токен токеном ERC-20, вам потрібно реалізувати інтерфейс ERC-20, що вимагає включення цих шести основних функцій. По суті, інтерфейс ERC-20 служить шаблоном, і будь-який контракт, який має бути класифікований як токен ERC-20, повинен проектувати та реалізувати свої функції, використовуючи цей шаблон.
Для початку розгортання вашого контракту на тестовій мережі Ethereum Sepolia вам потрібно встановити MetaMaskрозширення браузера або використовуйте інший гаманець Web3, наприклад, Phantom, або будь-який гаманець, сумісний з WalletConnect. Після налаштування гаманця вам знадобиться деякий тестовий ETH. Ви можете отримати його зКран Ethereum Sepolia, яка спеціально призначена для тестової мережі Ethereum Sepolia. Отримати тестовий ETH просто: просто відвідайте веб-сайт крану, підключіть свою адресу гаманця або введіть свою адресу, й слідуйте інструкціям. Ви також можете поділитися твітом для отримання додаткових винагород, або можете вибрати опцію «Ні, дякую, просто надішліть мені 0,05 ETH» для отримання тестового ETH безпосередньо. Однак пам'ятайте, що вам потрібно мати принаймні 0,001 ETH на своєму рахунку в основній мережі Ethereum, щоб скористатися краном тестових монет QuickNode.
На Ethereum blockchain наразі працюють багато токенів, які відповідають стандарту ERC20, розробленому різними групами. Ці реалізації відрізняються; деякі фокусуються на мінімізації витрат на газ, тоді як інші надають пріоритет покращенню безпеки. Для створення міцного та безпечного токена багато розробників вибирають стандарт ERC20 від OpenZeppelin. OpenZeppelin - це добре протестована та спільнотою переглянута бібліотека повторно використовуваних розумних контрактів, яка включає надійну та безпечну рамку для токенів ERC20. Вона гарантує дотримання та безпеку розробки токенів, тому є вибором багатьох розробників токенів сьогодні.
Для зручності та безпеки ми будемо використовувати 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 для розгортання. Натомість натисніть кнопку Розгорнути, щоб розгорнути свій контракт.
Якщо ви не впевнені, як перейти на інші мережі, відкрийте розширення MetaMask, клацніть селектор мережі у верхньому лівому куті та виберіть Sepolia. Якщо його не видно, переконайтеся, що опція “Показати тестові мережі” увімкнена. Щоб отримати інструкції з додавання URL RPC QuickNode до MetaMask, будь ласка, перевірте Посібник QuickNode.
Крок 3: Підтвердіть транзакцію в MetaMask:
Вітаємо! Ваш контракт токенів успішно розгорнутий на тестовій мережі Ethereum Sepolia, і ви офіційно володієте своїм першим токеном!
Сектор блокчейна залучає значну увагу завдяки постійному розвитку технологій блокчейн, Біткойну, Ефіріуму, криптовалютам і ICO. Це змусило мене написати цей посібник, перший з серії, призначеної для допомоги особам розуміти, як використовувати технологію блокчейну та криптовалюти для створення впливових додатків.
У цьому навчальному посібнику я маю на меті провести вас через весь процес, від налаштування вашого облікового запису до випуску вашого першого токена на тестовій мережі Ethereum за допомогою одного смарт-контракту та Metamask. Цей токен буде працювати як стандартний токен ERC20 в тестовій мережі Ethereum, оснащений основними функціями, які можуть служити універсальною основою для більш складних додатків поза простими переказами.
Перед тим, як створити свій власний токен ERC20, вам потрібно підготувати наступне:
ERC означає Ethereum Request for Comment, де 20 - це номер ідентифікації пропозиції. Метою ERC-20 є покращення мережі Ethereum. Це один з найважливіших стандартів ERC і став технічним каркасом для створення токенів на блокчейні Ethereum за допомогою смарт-контрактів. ERC-20 визначає набір правил, яким повинні відповідати всі токени на основі Ethereum, визначаючи їх як активи на блокчейні, які можна відправляти та отримувати, мають вартість, працюють на блокчейні 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 визначає шість обов'язкових та три необов'язкових функції, які повинні реалізувати смарт-контракти.
Ось необхідні функції та їх описи:
Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить удобство использования токена:
Якщо ви знайомі з об'єктно-орієнтованою програмуванням, ви можете уявити ERC-20 як інтерфейс. Щоб зробити ваш токен токеном ERC-20, вам потрібно реалізувати інтерфейс ERC-20, що вимагає включення цих шести основних функцій. По суті, інтерфейс ERC-20 служить шаблоном, і будь-який контракт, який має бути класифікований як токен ERC-20, повинен проектувати та реалізувати свої функції, використовуючи цей шаблон.
Для початку розгортання вашого контракту на тестовій мережі Ethereum Sepolia вам потрібно встановити MetaMaskрозширення браузера або використовуйте інший гаманець Web3, наприклад, Phantom, або будь-який гаманець, сумісний з WalletConnect. Після налаштування гаманця вам знадобиться деякий тестовий ETH. Ви можете отримати його зКран Ethereum Sepolia, яка спеціально призначена для тестової мережі Ethereum Sepolia. Отримати тестовий ETH просто: просто відвідайте веб-сайт крану, підключіть свою адресу гаманця або введіть свою адресу, й слідуйте інструкціям. Ви також можете поділитися твітом для отримання додаткових винагород, або можете вибрати опцію «Ні, дякую, просто надішліть мені 0,05 ETH» для отримання тестового ETH безпосередньо. Однак пам'ятайте, що вам потрібно мати принаймні 0,001 ETH на своєму рахунку в основній мережі Ethereum, щоб скористатися краном тестових монет QuickNode.
На Ethereum blockchain наразі працюють багато токенів, які відповідають стандарту ERC20, розробленому різними групами. Ці реалізації відрізняються; деякі фокусуються на мінімізації витрат на газ, тоді як інші надають пріоритет покращенню безпеки. Для створення міцного та безпечного токена багато розробників вибирають стандарт ERC20 від OpenZeppelin. OpenZeppelin - це добре протестована та спільнотою переглянута бібліотека повторно використовуваних розумних контрактів, яка включає надійну та безпечну рамку для токенів ERC20. Вона гарантує дотримання та безпеку розробки токенів, тому є вибором багатьох розробників токенів сьогодні.
Для зручності та безпеки ми будемо використовувати 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 для розгортання. Натомість натисніть кнопку Розгорнути, щоб розгорнути свій контракт.
Якщо ви не впевнені, як перейти на інші мережі, відкрийте розширення MetaMask, клацніть селектор мережі у верхньому лівому куті та виберіть Sepolia. Якщо його не видно, переконайтеся, що опція “Показати тестові мережі” увімкнена. Щоб отримати інструкції з додавання URL RPC QuickNode до MetaMask, будь ласка, перевірте Посібник QuickNode.
Крок 3: Підтвердіть транзакцію в MetaMask:
Вітаємо! Ваш контракт токенів успішно розгорнутий на тестовій мережі Ethereum Sepolia, і ви офіційно володієте своїм першим токеном!