Как создать свою собственную криптовалюту - пример с использованием ERC-20

НовичокSep 29, 2024
Поскольку технология блокчейн и криптовалюты быстро развиваются, многие люди хотят научиться выпускать собственную криптовалюту. Это руководство направлено на то, чтобы предоставить простое руководство для новичков по созданию и выпуску собственного токена ERC20 в тестовой сети Ethereum. Мы начнем с объяснения того, что такое токен ERC20, обсудим его стандарты и важность, а затем проведем читателей через каждый этап процесса выпуска. Ключевые шаги включают настройку кошелька Web3, получение тестовых ETH, написание смарт-контрактов и их развертывание. Используя библиотеку OpenZeppelin, мы покажем, как безопасно и эффективно создавать токены, соответствующие стандарту ERC20. Этот урок не только помогает читателям понять технические аспекты криптовалют, но и предлагает практический опыт, закладывая основу для более глубокого изучения мира блокчейна. Независимо от того, являетесь ли вы новичком, интересующимся технологией блокчейн, или разработчиком, желающим понять процесс выпуска криптовалюты, это руководство п
Как создать свою собственную криптовалюту - пример с использованием ERC-20

Сектор блокчейн привлекает значительное внимание благодаря текущим разработкам в области блокчейн, биткойн, эфириум, криптовалют и ICO. Это побудило меня написать этот учебник, первый из серии, призванной помочь людям понять, как использовать технологию блокчейн и криптовалюты для создания влиятельных приложений.

В этом руководстве я собираюсь провести вас через весь процесс, от создания учетной записи до выпуска вашего первого токена в тестовой сети Ethereum с использованием одного смарт-контракта и Metamask. Этот токен будет функционировать как стандартный токен ERC20 на тестовой сети Ethereum, оснащенный основными функциями, которые могут служить универсальным фундаментом для более сложных приложений, выходящих за пределы простых трансферов.

Перед началом

Прежде чем создать свой собственный токен ERC20, вам необходимо подготовить следующее:

  1. Веб-кошелек Web3 (такой как MetaMask, Phantom или любой кошелек, совместимый с WalletConnect)
  2. Тест ETH (вы можете получить тестовые токены от Кран Ethereum Sepolia ) — обратите внимание, что для этого шага требуется оплата газа
  3. Веб-браузер (рекомендуется Chrome)

Что такое токен 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 определяет шесть обязательных и три необязательных функции, которые должны реализовываться в смарт-контрактах.

Здесь приведены необходимые функции и их описания:

  • totalSupply: Метод, который определяет общее количество токенов; если это ограничение достигнуто, смарт-контракт не будет создавать новые токены.
  • balanceOf: Метод, который возвращает количество токенов, которое удерживает определенный адрес кошелька.
  • transfer: Метод, который вычитает определенное количество токенов из общего количества и выделяет их пользователю.
  • transferFrom: Альтернативный метод передачи токенов между пользователями.
  • approve: Метод для проверки того, разрешает ли смарт-контракт выделение определенного количества токенов пользователю, учитывая общее количество.
  • доверенность: похоже на метод approve, но проверяет, достаточно ли у одного пользователя баланса, чтобы отправить определенное количество токенов другому пользователю.

Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить используемость токена:

  • название: Метод, который возвращает имя токена.
  • symbol: Метод, возвращающий символ токена.
  • Десятичные: Метод, который указывает количество десятичных знаков для токена. Это определяет наименьшую единицу токена. Например, если у токена ERC-20 установлено значение decimals равное 6, это означает, что токен можно разделить до шести десятичных знаков.

Если вы знакомы с объектно-ориентированным программированием, вы можете представить ERC-20 как интерфейс. Чтобы сделать свой токен ERC-20, вы должны реализовать интерфейс ERC-20, который требует включения этих шести основных функций. Фактически, интерфейс ERC-20 служит шаблоном, и любой контракт, который стремится быть классифицированным как токен ERC-20, должен разработать и реализовать свои функции, используя этот шаблон.

Начните создавать свой собственный токен ERC20

Получить тестовый ETH

Для начала развертывания вашего контракта на тестовой сети 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.

  1. Создать новый файл в Ethereum Remix IDE

Пожалуйста, вставьте следующий код в свой новый скрипт на языке 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()))); } }

  1. Скопируйте и вставьте приведенный выше код для смарт-контракта выпуска токена.

Вот что делает код:

Комментарий 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. Если все прошло успешно, вы увидите зеленую галочку на кнопке компиляции.

  1. Скомпилируйте смарт-контракт

  1. Компиляция успешна (зеленая галочка)

Шаг 2: Перейдите на вкладку Deploy & Run Transactions. В разделе Environment выберите опцию Injected Provider для развертывания. Прежде чем продолжить, убедитесь, что ваш MetaMask настроен на тестовую сеть Sepolia и что вы выбрали контракт MyNewToken для развертывания. Наконец, нажмите кнопку Deploy, чтобы развернуть свой контракт.

  1. Выберите Внедренный Провайдер в качестве вашего локального Web3 (MetaMask) кошелька

  1. Подключите ваш кошелек Web3

  1. Подтвердите развертывание контракта и выберите сеть (это тестовая сеть)

Если вы не уверены, как переключить сети, откройте расширение MetaMask, щелкните селектор сети в левом верхнем углу и выберите Sepolia. Если его не видно, убедитесь, что включена опция "Показывать тестовые сети". Для инструкций по добавлению URL-адреса QuickNode RPC в MetaMask, пожалуйста, проверьте Руководство QuickNode.

Примечание: Вам нужно будет оплатить комиссию за GAS для обмена на тестовый ETH.

Шаг 3: Подтвердите транзакцию в MetaMask:

Поздравляю! Ваш контракт токена теперь успешно развернут на тестовой сети Ethereum Sepolia, и вы официально владеете своим первым токеном!

Автор: Deniz
Переводчик: Paine
Рецензент(ы): KOWEI、Edward、Elisa
Рецензенты перевода: Ashely
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.

Как создать свою собственную криптовалюту - пример с использованием ERC-20

НовичокSep 29, 2024
Поскольку технология блокчейн и криптовалюты быстро развиваются, многие люди хотят научиться выпускать собственную криптовалюту. Это руководство направлено на то, чтобы предоставить простое руководство для новичков по созданию и выпуску собственного токена ERC20 в тестовой сети Ethereum. Мы начнем с объяснения того, что такое токен ERC20, обсудим его стандарты и важность, а затем проведем читателей через каждый этап процесса выпуска. Ключевые шаги включают настройку кошелька Web3, получение тестовых ETH, написание смарт-контрактов и их развертывание. Используя библиотеку OpenZeppelin, мы покажем, как безопасно и эффективно создавать токены, соответствующие стандарту ERC20. Этот урок не только помогает читателям понять технические аспекты криптовалют, но и предлагает практический опыт, закладывая основу для более глубокого изучения мира блокчейна. Независимо от того, являетесь ли вы новичком, интересующимся технологией блокчейн, или разработчиком, желающим понять процесс выпуска криптовалюты, это руководство п
Как создать свою собственную криптовалюту - пример с использованием ERC-20

Сектор блокчейн привлекает значительное внимание благодаря текущим разработкам в области блокчейн, биткойн, эфириум, криптовалют и ICO. Это побудило меня написать этот учебник, первый из серии, призванной помочь людям понять, как использовать технологию блокчейн и криптовалюты для создания влиятельных приложений.

В этом руководстве я собираюсь провести вас через весь процесс, от создания учетной записи до выпуска вашего первого токена в тестовой сети Ethereum с использованием одного смарт-контракта и Metamask. Этот токен будет функционировать как стандартный токен ERC20 на тестовой сети Ethereum, оснащенный основными функциями, которые могут служить универсальным фундаментом для более сложных приложений, выходящих за пределы простых трансферов.

Перед началом

Прежде чем создать свой собственный токен ERC20, вам необходимо подготовить следующее:

  1. Веб-кошелек Web3 (такой как MetaMask, Phantom или любой кошелек, совместимый с WalletConnect)
  2. Тест ETH (вы можете получить тестовые токены от Кран Ethereum Sepolia ) — обратите внимание, что для этого шага требуется оплата газа
  3. Веб-браузер (рекомендуется Chrome)

Что такое токен 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 определяет шесть обязательных и три необязательных функции, которые должны реализовываться в смарт-контрактах.

Здесь приведены необходимые функции и их описания:

  • totalSupply: Метод, который определяет общее количество токенов; если это ограничение достигнуто, смарт-контракт не будет создавать новые токены.
  • balanceOf: Метод, который возвращает количество токенов, которое удерживает определенный адрес кошелька.
  • transfer: Метод, который вычитает определенное количество токенов из общего количества и выделяет их пользователю.
  • transferFrom: Альтернативный метод передачи токенов между пользователями.
  • approve: Метод для проверки того, разрешает ли смарт-контракт выделение определенного количества токенов пользователю, учитывая общее количество.
  • доверенность: похоже на метод approve, но проверяет, достаточно ли у одного пользователя баланса, чтобы отправить определенное количество токенов другому пользователю.

Помимо основных функций, упомянутых ранее, существуют дополнительные необязательные функции, которые могут улучшить используемость токена:

  • название: Метод, который возвращает имя токена.
  • symbol: Метод, возвращающий символ токена.
  • Десятичные: Метод, который указывает количество десятичных знаков для токена. Это определяет наименьшую единицу токена. Например, если у токена ERC-20 установлено значение decimals равное 6, это означает, что токен можно разделить до шести десятичных знаков.

Если вы знакомы с объектно-ориентированным программированием, вы можете представить ERC-20 как интерфейс. Чтобы сделать свой токен ERC-20, вы должны реализовать интерфейс ERC-20, который требует включения этих шести основных функций. Фактически, интерфейс ERC-20 служит шаблоном, и любой контракт, который стремится быть классифицированным как токен ERC-20, должен разработать и реализовать свои функции, используя этот шаблон.

Начните создавать свой собственный токен ERC20

Получить тестовый ETH

Для начала развертывания вашего контракта на тестовой сети 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.

  1. Создать новый файл в Ethereum Remix IDE

Пожалуйста, вставьте следующий код в свой новый скрипт на языке 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()))); } }

  1. Скопируйте и вставьте приведенный выше код для смарт-контракта выпуска токена.

Вот что делает код:

Комментарий 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. Если все прошло успешно, вы увидите зеленую галочку на кнопке компиляции.

  1. Скомпилируйте смарт-контракт

  1. Компиляция успешна (зеленая галочка)

Шаг 2: Перейдите на вкладку Deploy & Run Transactions. В разделе Environment выберите опцию Injected Provider для развертывания. Прежде чем продолжить, убедитесь, что ваш MetaMask настроен на тестовую сеть Sepolia и что вы выбрали контракт MyNewToken для развертывания. Наконец, нажмите кнопку Deploy, чтобы развернуть свой контракт.

  1. Выберите Внедренный Провайдер в качестве вашего локального Web3 (MetaMask) кошелька

  1. Подключите ваш кошелек Web3

  1. Подтвердите развертывание контракта и выберите сеть (это тестовая сеть)

Если вы не уверены, как переключить сети, откройте расширение MetaMask, щелкните селектор сети в левом верхнем углу и выберите Sepolia. Если его не видно, убедитесь, что включена опция "Показывать тестовые сети". Для инструкций по добавлению URL-адреса QuickNode RPC в MetaMask, пожалуйста, проверьте Руководство QuickNode.

Примечание: Вам нужно будет оплатить комиссию за GAS для обмена на тестовый ETH.

Шаг 3: Подтвердите транзакцию в MetaMask:

Поздравляю! Ваш контракт токена теперь успешно развернут на тестовой сети Ethereum Sepolia, и вы официально владеете своим первым токеном!

Автор: Deniz
Переводчик: Paine
Рецензент(ы): KOWEI、Edward、Elisa
Рецензенты перевода: Ashely
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!