Сектор блокчейн привлекает значительное внимание благодаря текущим разработкам в области блокчейн, биткойн, эфириум, криптовалют и 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: Метод для проверки того, разрешает ли смарт-контракт выделение определенного количества токенов пользователю, учитывая общее количество.- доверенность: похоже на метод approve, но проверяет, достаточно ли у одного пользователя баланса, чтобы отправить определенное количество токенов другому пользователю.Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить используемость токена:
название: Метод, который возвращает имя токена.- symbol: Метод, возвращающий символ токена.- Десятичные: Метод, который указывает количество десятичных знаков для токена. Это определяет наименьшую единицу токена. Например, если у токена ERC-20 установлено значение decimals равное 6, это означает, что токен можно разделить до шести десятичных знаков.Если вы знакомы с объектно-ориентированным программированием, вы можете представить ERC-20 как интерфейс. Чтобы сделать свой токен ERC-20, вы должны реализовать интерфейс ERC-20, который требует включения этих шести основных функций. Фактически, интерфейс ERC-20 служит шаблоном, и любой контракт, который стремится быть классифицированным как токен ERC-20, должен разработать и реализовать свои функции, используя этот шаблон.
Для удобства и безопасности мы будем использовать 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;
импорт@openzeppelin/contracts/token/ERC20/ERC20.sol”;
контракт MyNewToken является ERC20 { конструктор() 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: Перейдите на вкладку Deploy & Run Transactions. В разделе Environment выберите опцию Injected Provider для развертывания. Прежде чем продолжить, убедитесь, что ваш MetaMask настроен на тестовую сеть Sepolia и что вы выбрали контракт MyNewToken для развертывания. Наконец, нажмите кнопку Deploy, чтобы развернуть свой контракт.
Выберите Внедренный Провайдер в качестве вашего локального Web3 (MetaMask) кошелька
Подключите ваш кошелек Web3
Подтвердите развертывание контракта и выберите сеть (это тестовая сеть)
Если вы не уверены, как переключить сети, откройте расширение MetaMask, щелкните селектор сети в левом верхнем углу и выберите Sepolia. Если его не видно, убедитесь, что включена опция "Показывать тестовые сети". Для инструкций по добавлению URL-адреса QuickNode RPC в MetaMask, пожалуйста, проверьте Руководство QuickNode.

Поздравляю! Ваш контракт токена теперь успешно развернут на тестовой сети Ethereum Sepolia, и вы официально владеете своим первым токеном!
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.





