Сектор блокчейн привлекает значительное внимание благодаря текущим разработкам в области блокчейн, биткойн, эфириум, криптовалют и 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-блокчейне в настоящее время функционирует множество токенов, соответствующих стандарту 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;
импорт@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, чтобы развернуть свой контракт.
Если вы не уверены, как переключить сети, откройте расширение MetaMask, щелкните селектор сети в левом верхнем углу и выберите Sepolia. Если его не видно, убедитесь, что включена опция "Показывать тестовые сети". Для инструкций по добавлению URL-адреса QuickNode RPC в 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-блокчейне в настоящее время функционирует множество токенов, соответствующих стандарту 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;
импорт@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, чтобы развернуть свой контракт.
Если вы не уверены, как переключить сети, откройте расширение MetaMask, щелкните селектор сети в левом верхнем углу и выберите Sepolia. Если его не видно, убедитесь, что включена опция "Показывать тестовые сети". Для инструкций по добавлению URL-адреса QuickNode RPC в MetaMask, пожалуйста, проверьте Руководство QuickNode.
Шаг 3: Подтвердите транзакцию в MetaMask:
Поздравляю! Ваш контракт токена теперь успешно развернут на тестовой сети Ethereum Sepolia, и вы официально владеете своим первым токеном!