Ethereum - це блокчейн-платформа, яка дозволяє створювати децентралізовані додатки (dApps). І Bitcoin, і Ethereum є блокчейнами. Однак обидва ці блокчейни дуже відрізняються за своїми технічними характеристиками. Біткоїн пропонує однорангову електронну платіжну систему. Ethereum орієнтований на виконання програмних кодів будь-яких децентралізованих додатків. Популярний блокчейн Ethereum допомагає розгортати токени, які можна купувати, продавати або обмінювати. Ethereum був запущений в 2015 році і з тих пір став рушійною силою популярності криптовалют.
У системі Ethereum токени представляють цифрові права. По суті, криптовалютні одиниці на Ethereum - це смарт-контракти, які автоматично виконують функції, зазначені в коді, і працюють завдяки системі блокчейн. Кожна монета виконує конкретне завдання, покладене на неї. Ніхто не має права втручатися в роботу цих протоколів. Коли був впроваджений стандарт ERC-20, Ethereum забезпечив більш організовану екосистему, щоб токени могли працювати бездоганно і добре взаємодіяти з додатками та біржами.
Що таке токен ERC-20?
Коли справа доходить до створення токенів, більшість підприємців вирішують випускати криптовалютні одиниці ERC-20. Блокчейн Ethereum забезпечує високу гнучкість і безпеку. Тому на Ethereum зручно розробляти криптографічні токени. Вони широко використовуються, оскільки їх можна замінити іншими подібними токенами.
Ethereum Request for Comments - це набір документів, які розробники використовують для розгортання протоколів. Матеріали визначають правила, необхідні для створення токенів в екосистемі Ethereum. Технічні документи зазвичай пишуться розробниками і містять інформацію про специфікації протоколів і описи контрактів. Перш ніж стати стандартом, певний тип запиту на коментарі Ethereum повинен бути розглянутий, прокоментований і прийнятий спільнотою через EIP (Ethereum Improvement Proposal).
Стандарт ERC-20 вирішив цю проблему, надавши структуровану основу, що дозволяє гаманцям і біржам легко підтримувати і взаємодіяти з різними токенами. Ця стандартизація спростила інтеграцію токенів, зробивши їх обмін і управління ними значно простішими.
Токени ERC-20 - це криптовалюти, які виконують певні функції. Ці цифрові одиниці можуть мати вартість і обробляти транзакції та платежі. Спільнота Ethereum створила стандарт ERC-20 з 5 обов'язковими та 4 необхідними правилами.
ОБОВ'ЯЗКОВІ
Token Name - ім'я токена
totalSupply - загальна кількість створених одиниць ERC-20 Symbol - символ для обмінників
Символ - символ для обмінників
Transfer - дозволяє передати кількість токенів з джерела на акаунт користувача
Decimal - до 18 - (найменший можливий поділ ефіру - 18 десяткових знаків)
Обов'язково
Approve - перевіряє транзакцію на відповідність загальній кількості одиниць криптовалюти
balanceOf - функція, яка повертає кількість токенів, що мають задану адресу на своєму рахунку
Allowance - перевіряє баланс користувача і скасовує операцію, якщо на ньому недостатньо коштів
transferFrom - допомагає переказати одиниці криптовалюти на інший рахунок
ERC-20 допомагає впорядкувати розробку токенів на основі Ethereum, зберігаючи їх універсальність. Завдяки встановленому стандарту нові цифрові активи можуть бути відправлені на біржу або переведені на гаманець автоматично після розгортання.
Іванна
Менеджер по роботі з клієнтами
Зв'яжіться з нами, і ми поділимося нашими кейсами, пов'язаними з фінтех розробкою
Безкоштовна консультаціяЧому токени ERC-20 такі популярні?
Токени Ethereum отримали значну популярність і успіх завдяки кільком ключовим факторам:
- Токени ERC-20 відносно прості у створенні та розгортанні. Стандарт ERC-20 забезпечив процес розробки токенів, зробивши його доступним для розробників. Ця простота сприяла широкому прийняттю і поширенню токенів ERC-20.
- Стандартизація та інтероперабельність: Стандарт ERC-20 вирішує найважливішу проблему в екосистемі блокчейн. Він надає загальний набір команд, які дозволяють блокчейн-ринкам, біржам і гаманцям узгоджено взаємодіяти з різноманітними токенами. Ця стандартизація уможливлює безперешкодну інтеграцію та інтероперабельність між різними токенами, забезпечуючи сумісність і простоту використання як для користувачів, так і для розробників.
- Схвалення індустрією: Хоча ERC-20 не була першою специфікацією токенів в Ethereum, її широке визнання і прийняття в співтоваристві розробників зробило її де-факто галузевим стандартом. Ця популярність призвела до розробки численних токенів Ethereum, створивши процвітаючу екосистему проектів, бірж і децентралізованих додатків (dApps), побудованих навколо токенів ERC-20.
- Правила придбання та взаємодії токенів: Стандарт ERC-20 надає рекомендації щодо правил придбання токенів і взаємодії, забезпечуючи узгодженість і передбачуваність для різних токенів. Цей стандартизований підхід спрощує транзакції з токенами, перекази та операції на основі токенів, полегшуючи користувачам розуміння та взаємодію з токенами ERC-20.
Як створити свій токен
Тепер, коли ми розуміємо токени ERC-20 і їх функціональність, давайте розглянемо процес створення і розгортання нашого токена.
Тут ми опишемо розгортання контракту токенів на тестовій мережі Ropsten. У вас повинно бути встановлено розширення для браузера Metamask для розробки гаманця Ethereum (ETH) і отримання тестових ETH.
- Встановіть розширення для браузера Metamask і створіть гаманець Ethereum.
- Отримайте доступ до тестової мережі Ropsten в налаштуваннях вашого гаманця Metamask.
- Копіюйте адресу вашого гаманця з Metamask.
- Відвідайте веб-сайт Ropsten і знайдіть надане текстове поле.
- Вставте адресу свого гаманця в текстове поле на веб-сторінці змішувача.
- Натисніть на кнопку "Send me test Ether" або аналогічну кнопку, щоб отримати тестовий ETH на свій гаманець
Перейдіть до Ethereum Remix IDE і створіть свіжий файл Solidity, наприклад "token.sol.
Ось простий контракт токена ERC-20, написаний в Solidity
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SimpleERC20Token { string publicconstant name ="SimpleToken"; string publicconstant symbol ="ST"; uint8 publicconstant decimals =18; uint256 public totalSupply; mapping(address => uint256)public balanceOf; mapping(address => mapping(address => uint256))public allowance; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); constructor(uint256 initialSupply){ totalSupply = initialSupply *(10**uint256(decimals)); balanceOf[msg.sender]= totalSupply;} function transfer(address to, uint256 value) external returns (bool){require(to != address(0),"Invalid recipient address");require(balanceOf[msg.sender]>= value,"Insufficient balance"); balanceOf[msg.sender]-= value; balanceOf[to]+= value; emit Transfer(msg.sender, to, value);returntrue;} function approve(address spender, uint256 value) external returns (bool){require(spender != address(0),"Invalid spender address"); allowance[msg.sender][spender]= value; emit Approval(msg.sender, spender, value);returntrue;} function transferFrom(address from, address to, uint256 value) external returns (bool){require(from != address(0),"Invalid sender address");require(to != address(0),"Invalid recipient address");require(balanceOf[from]>= value,"Insufficient balance");require(allowance[from][msg.sender]>= value,"Allowance exceeded"); balanceOf[from]-= value; balanceOf[to]+= value; allowance[from][msg.sender]-= value; emit Transfer(from, to, value);returntrue;}}
Цей контракт реалізує базовий токен ERC-20 з наступними функціональними можливостями:
- Змінні name, symbol і decimals використовуються для визначення назви, символу і кількості десяткових знаків токена відповідно.
- Змінна totalSupply містить загальну кількість токенів у контракті.
- Змінна balanceOf відображення відстежує залишки токенів за кожною адресою.
- Зображення асигнувань дозволяє власникам токенів надавати дозвіл іншим адресам витрачати токени від їхнього імені.
- Подія "Transfer" генерується щоразу, коли токени передаються між адресами.
- Подія "Approval" генерується щоразу, коли іншій адресі надається дозвіл на витрачання токенів.
Зверніть увагу, що це базовий приклад для навчальних цілей і може не включати більш просунуті функції або заходи безпеки, які зазвичай використовуються в контрактах токенів виробничого рівня. Це найпростіший і найнебезпечніший контракт. Реальні контракти набагато більші і складніші, але цей теж буде працювати. Завжди проводьте ретельний аудит і тестування перед розгортанням будь-якого смарт-контракту в реальній мережі.
Поширені помилки
Якщо творець криптовалюти не є розробником або не знає мови Solidity, з великою часткою ймовірності він може написати код смарт-контракту неправильно. Найпоширенішими помилками при розробці криптовалют на Ethereum є:
Throw є застарілим.
Це означає, що в смарт-контракті є спеціальні функції, які повинні викликатися тільки за певною адресою, визначеною як власник. До версії Solidity 0.4.10 (а іноді і після неї) це був поширений шаблон для забезпечення виконання дозволів.
Якщо функцію useSuperPowers() буде викликано кимось іншим, окрім власника, програма видасть помилку, повернувши недійсний опкод.
У цій ситуації throw споживе весь газ, а revert поверне невикористану комісію.
Висновок
Тепер ви розумієте, як створити токен ERC-20. Stfalcon спеціалізується на розробці блокчейнів і токенів. Ми можемо допомогти вам створити токен Ethereum, використовуючи наші технічні навички. Ми можемо пояснити вам можливості і технічні аспекти створення токена ERC-20. Розробники Stfalcon можуть створити код смарт-контракту для вашого токена ERC-20. Наша досвідчена команда в Solidity, яка використовується для смарт-контрактів Ethereum, може забезпечити дотримання стандарту ERC-20.
Ми можемо допомогти інтегрувати токени ERC-20 у вже існуючі гаманці, DeFi-біржі та блокчейн-платформи. Stfalcon може розгорнути токени в мережі Ethereum на Ropsten.
Якщо ви зацікавлені в забезпеченні успішної реалізації вашого токен-проекту, зв'яжіться з нами, доступна безкоштовна консультація.