Как сделать токен на erc20

Введение в токены ERC-20

Содержание

Введение

Что такое стандарт ERC-20?

ERC-20 был создан в 2015 году Виталиком Бутериным и Фабианом Фогельстеллером с целью предложить относительно простой формат для создания токенов на Ethereum. Опираясь на существующий стандарт, разработчики экономят время и силы. Благодаря ERC-20 они могут создавать новые токены и не беспокоиться о совместимости и безопасности.

Следует отметить, что на базе стандарта ERC-20 был разработан EIP (а именно – EIP-20). Произошло это через несколько лет после запуска ввиду широкого распространения стандарта. Но даже спустя годы название «ERC-20» все еще актуально.

Краткий обзор токенов Ethereum

В отличие от ETH (собственной криптовалюты Ethereum), токены ERC-20 не хранятся в аккаунтах. Они существуют только внутри контракта, который представляет собой своеобразную автономную базу данных. Контракт определяет условия для токенов (например, имя, символ, делимость). В нем также содержится список, где сопоставляются балансы пользователей с их адресами Ethereum.

Для перемещения токенов пользователи должны отправить в контракт транзакцию с просьбой переместить часть своего баланса в другое место. Например, если Алиса хочет отправить Бобу 5 000 токенов BinanceAcademy, она запускает функцию внутри смарт-контракта с просьбой сделать это.

Ее запрос помещается внутрь обычной на вид транзакции Ethereum, с которой взимается 0 ETH в пользу смарт-контракта. Запрос добавляется в дополнительное поле в транзакции, где указывается, что именно Алиса хочет сделать – в нашем случае передать токены Бобу.

Теперь мы можем углубиться в структуру контракта ERC-20.

Источник

Как создать собственный токен на базе ERC20 от Ethereum и запустить ICO за 20 минут

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

Путем наглядного примера по запуску собственного ICO, эта статья нацелена на объяснение основ функционирования смарт-контрактов (англ. smart-contract) в блокчейн-сети Ethereum.

Основы blockchain-сети Ethereum

Вот некоторые основные термины, которые нам понадобятся по мере создания токена. В случае, если большая часть терминов вам уже знакома, можете сразу переходить к следующему разделу.

Смарт-контракты : Смарт-контракты — это самозапускающиеся программные блоки, которые функционируют на блокчейне Ethereum. Смарт-контракты способны обрабатывать не только кодовую часть, но также и информационную. Такие контракты способны принимать решения, взаимодействовать с другими контрактами, хранить данные и обмениваться Ether (единица криптовалюты в блокчейне Ethereum) между пользователями.

Solidity : Solidity — это язык для создания смарт-контрактов.

MetaMask/Mist/Кошелек MEW : Все это является цифровой средой, которая хранит ваши Ether-средства и другие токены, на основе Ethereum.

Шаг 1: Код

Откройте ваш любимый текстовый редактор и вставьте следующий код:

Вышеуказанный код для создания простого ERC20 токена написан на языке Solidity. Он хорошо прокомментирован и его можно легко понять. Вставив код в ваш текстовый редактор, найдите надпись «CHANGE THIS». Здесь вам необходимо данные, в зависимости от характеристик вашего токена. В моем случае, я назвал мой токен HashnodeTestCoin (HTCN). Общий объем выпуска ограничен и составляет 1000 токенов HTCN, однако минимально-возможное количество для хранения HTCN равняется 0.000000000000000001, поскольку в строке «decimal» установлено значение 18 — стандартное количество знаков после запятой.

Вдобавок, владелец контракта (тот, кто его исполняет), получает все начальные токены. Я установил ценовое соотношение для ICO по следующим образом:

1 ETH = 10 HTCN

Это значит, что если кто-то отправит нашему смарт-контракту 1 ETH, то в обмен получит 10 HTCN.

Шаг 2

Скачайте MetaMask — расширения для Chrome, чтобы сгенерировать цифровой-кошелек. Владелец этого кошелька является и владельцем смарт-контракта. В качестве альтернативы, можно использовать Mist или My Ether Wallet. Для простоты примера, в нашем проекте мы будем использовать расширение MetaMask.

Скачав и установив расширение, создайте аккаунт, защищенный паролем. Затем, в верхнем левом углу расширения выберите «Ropsten TestNet». Прежде чем запустить контракт в Main-сети Ethereum’а, мы протестируем наш контракт с помощью TestNet, чтобы убедиться, что все работает как было запланировано. Выглядит все это следующим образом:

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Теперь перейдите к Remix IDE (онлайн-компилятор и отладчик Solidity) и вставьте код, который вы изменили под свои параметры. Не обращайте внимания на все возможные предупреждения. Затем перейдите в настройки и уберите флажок «Enable optimization», если он установлен.

Дальше перейдите во вкладку «Run» и нажмите на кнопку «Create», которая расположена под надписью вашего токена. Нажав на кнопку, MetaMask предложить приобрести несколько единиц Ether для теста и отправит транзакцию. Выглядит примерно так:

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Убедитесь, что вы используете сеть Ropsten TestNet, а не MainNet и нажмите «Submit». Вас перенаправит на сервис Etherscan, где можно отследить текущую транзакцию. Для верификации транзакции может потребоваться примерно 30 секунд. Как только произойдет подтверждение, выглядеть все будет следующим образом:

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Поздравляю! Вы только что запустили собственный смарт-контракт. Заметьте, что адрес, указанный на изображении свыше — это адрес вашего смарт-контракта.

Теперь пора проверить, работает ли все на самом деле.

Шаг 3

Если ранее все было выполнено в соответствии с инструкцией, вам должны прийти все начальные токены (в моем случае — 1000 HTCN), как только вы добавить их в свой кошелек. Поэтому скопируйте адрес контракта, перейдите в MetaMask – > Add Token и вставьте скопированный адрес. Выглядит все это дело так:

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Нажмите на кнопку «Add» и перезагрузите MetaMask. Теперь вы должны увидеть всю начальную поставку (в моем случае — это все те же 1000 HTCN).

Шаг 4

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

Теперь перейдите в Etherscan на адрес ваше смарт-контракта и нажмите вкладку «Contract Code».

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Нажмите на ссылку «verify and publish». Перейдя на новую страницу, заполните все детали, начиная с версии компилятора и возможностью оптимизации. Также не забудьте вставить исходный код нашего контракта, который мы скомпилировали в первом шаге.

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Поздравляю! Теперь любой может посетить страницу вашего контракта и прочитать исходный код.

Шаг 5

Чтобы окончательно запустить контракт, остается только переключить с TestNet на MainNet в расширении MetaMask (в верхнем левом углу расширения) и повторить шаги со 2 по 4. Обратите внимание, что для запуска контракта на MainNet понадобится потратить настоящий Ether. Поэтому не запускайте контракт до тех пор, пока не будете уверены на 100% (Смарт-контракты невозможно изменить и нельзя обновить после запуска). В нашем уроке, мы продолжим использовать TestNet.

Покупка токенов за Ether

В вашем ICO, пользователи будут покупать ваши токены за ETH. Помните, что мы установили цену в 1 ETH = 10 HTCN, пока разрабатывали контракт? Так вот, если пользователь захочет на вашем ICO купить 10 HTCN, ему придется заплатить 1 ETH. Давайте проверим это на практике.

Перейдите в MetaMask, создайте новый аккаунт и заполните его для теста несколькими Ether. Как только на аккаунте будут средства, нажмите «Send» и в поле адреса, вставьте адрес вашего смарт-контракта. В поле для количества токенов, введите 2 (ETH).

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20Отправьте 2 ETH и дождитесь подтверждения транзакции. Перезагрузите MetaMask и проверьте ваши токены через несколько секунд. Новый пробный аккаунт должен получит 20 HTCN (или другую сумму, в зависимости от того характеристик контракта) а у владельца контракта (в нашем случае это вы) должно остаться 980 (или около того) токенов HTCN.

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Вдобавок вы должны получить 2 ETH.

Поздравляю с успехом!

Запуск страницы ICO

Чтобы отобразить количество ETH, привлеченное нашим проектом, мы будем использовать а нашем сайте библиотеку JavaScript, под названием Web3.js.

Откройте исходник страницы Hashnode Test Coin ICO и проверьте код в последнем

Источник

Как создать токен по стандарту ERC20 простым способом

Цель этой статьи – показать как создаются токены по стандарту ERC20 за максимально короткий срок.

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Давайте начнем с азов: Что такое токен ERC20?

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

Что делает токены ERC20 такими привлекательными и успешными? Есть несколько факторов:

Как и другие токены Эфириума, токены ERC20 реализуются в виде умных контрактов и выполняются на виртуальной машине Эфириума (EVM) децентрализованным образом.

Solidity: язык программирования умных контрактов

Умные контракты Эфириума пишутся на языке программирования Solidity. Хотя существуют альтернативные языки, вряд ли кто-то будет использовать их для этой цели. Solidity подобен JavaScript, поэтому, если у вас есть некоторые знания JavaScript или даже Java и других C-подобных языков, у вас не должно возникнуть сложностей в понимании, что делает фрагмент кода на языке Solidity, даже до того, как вы реально освоите Solidity в достаточной мере, чтобы пользоваться им.

Вот здесь и начинается самое интересное, так как вы должны быть в состоянии начать создавать простой контракт ERC20 в кратчайшие сроки. Это конкретная и достаточно простая задача: в этой статье будет показано, как вы можете написать и развернуть токен ERC20 менее чем за час.

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

Обзор стандарта ERC20

Что такое ERC20?

Если говорить простым языком, стандарт ERC20 определяет набор функций, которые должны выполнять все токены ERC20 для обеспечения интеграции с другими контрактами, кошельками или рынками. Этот набор функций довольно короткий и простой.

Функции ERC20 позволяют внешнему пользователю, скажем, приложению крипто-кошелька, узнать баланс пользователя и перевести средства от одного пользователя к другому с надлежащей авторизацией.

В умном контракте определены два конкретных события (Подтверждение и Перевод):

Эти события будут вызваны или опубликованы, когда пользователю будут предоставлены права на получение токенов со счета и после того, как токены будут по факту переведены.

Помимо функций стандарта ERC20, многие токены ERC20 также определяют дополнительные поля, и некоторые из них стали фактической частью стандарта ERC20, если не на письме, то на практике. Ниже приведены несколько примеров таких полей.

Вот несколько моментов, касающихся ERC20 и номенклатуры Solidity:

Большинство конструкций языка Solidity не должны вызывать проблем с пониманием, если вы уже обладаете необходимыми навыками Java/JavaScript.

Написание токена ERC20 на языке Solidity

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Теперь, когда мы изложили основы и объяснили, что нужно для создания токена ERC20, пришло время перейти к конкретной логике.

Во-первых, нам нужно определить два объекта проекции. Это понятие Solidity для ассоциативного ряда, или другими словами ряда «ключ/значение».

Выражение проекции (address => uint256) определяет ассоциативный ряд, ключи которого относятся к типу address – число, используемое для обозначения учетной записи адреса и чьи значения относятся к типу uint256 — 256-битное целое число, как правило, используется для хранения остатка токенов.

Первый объект проекции, balances, будет содержать информацию об остатке токенов каждого владельца счета.

Второй объект проекции, allowed, будет включать в себя все счета, которым разрешено выйти из данной учетной записи вместе с выводом суммы для каждого.

Как вы видите, область value проекции allowed само по себе является проекцией адреса счета привязки к утвержденной для него сумме вывода средств.

Эти проекции наряду со всеми другими полями контракта будут храниться на блокчейне и будут майниться, приводя в результате к изменениям, которые будут распространяться на всех пользователей сети (узлы).

Хранение на блокчейне – дорогое удовольствие, и пользователям вашего контракта так или иначе придется платить. Поэтому всегда нужно стараться минимизировать размер хранилища и записывать в блокчейн.

Теперь, когда у нас есть на руках необходимые структуры данных, мы можем начать записывать логику ERC20 в соответствующие функции.

Определение количества токенов для ICO

Как определить количество токенов для первичного размещения монет? Ну, есть несколько способов установить максимальное количество токенов для ICO, и этот вопрос сам по себе заслуживает длительного обсуждения.

В контексте нашего пособия по ECR20 мы будем использовать самый простой подход: установить общее количество токенов на момент создания контракта и изначально присвоить их «владельцу контракта», т. е. учетной записи, которая развернула умный контракт:

Конструктор (Constructor) – это специальная функция, автоматически вызываемая Эфириумом сразу после развертывания контракта. Обычно она используется для инициализации состояния токена с помощью параметров, переданных учетной записью, развертывающей контракт.

msg является глобальной переменной, объявляемой и заполняемой самим Эфириумом. Она содержит важные данные для выполнения контракта. Поле, которое мы используем здесь: msg.sender содержит данные об учетной записи Эфириума, выполняющей функцию текущего контракта.

Только учетная запись, развертывающая контракт, может вводить конструктор контракта. При запуске контракта эта функция выделяет доступные токены на счет «владелец контракта».

Получить общее количество токенов

Эта функция возвращает количество всех токенов, выделенных по этому контракту, независимо от владельца.

Получить остаток токенов со счета владельца

balanceOf вернет текущий остаток токенов со счета, идентифицированного по адресу его владельца.

Перевести токены на другой счет

Как следует из названия, функция transfer (перевод) используется для перемещения суммы токенов со счета одного владельца на счет другого владельца, или получателя. Тот владелец счета, который осуществляет перевод, обозначается как msg.sender, т.е. это то лицо, которое выполняет функцию, что подразумевает, что только владелец токенов может переводить средства другим участникам.

Способ утверждения предиката на языке Solidity – это require (требовать). В этом случае это означает, что на передающем счете имеется достаточный баланс для осуществления перевода. Если не получается выполнить require, транзакция автоматически сворачивается без внесения изменений в блокчейн.

Прямо перед выходом функция инициирует событие ERC20 «Transfer» (перевод), тем самым позволяя зарегистрированным слушателям среагировать на его завершение.

Утвердить делегата для списывания токенов

Эта функция чаще всего используется в сценарии рынка токенов.

Задача approve (утвердить) – это позволить владельцу, т. е. msg.sender, утвердить счет делегата — возможно, сам рынок, — для снятия токенов со своего счета и перевода их на другие счета.

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

В конце выполнения операции эта функция инициирует событие Approval (подтверждение).

Получить количество токенов, подтвержденных для снятия со счета

Эта функция возвращает подтвержденное на текущий момент владельцем счета количество токенов для конкретного делегата, как установлено функцией approve.

Перевести токены делегатом

Функция transferFrom – это узел функции approve, о которой мы говорили ранее. Она позволяет делегату, одобренному для вывода средств, переводить средства владельца счета на сторонний счет.

Две команды require на момент запуска функции требуются для подтверждения того, что транзакция законна, т.е. что владелец счета имеет достаточное количество токенов для перевода и что делегат имеет разрешение на снятие (как минимум) numTokens.

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

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

Библиотека языка Solidity – SafeMath

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

SafeMath защищает от этого путем проверки на переполнение перед выполнением арифметических действий, таким образом устраняя опасность. Библиотека настолько мала, что влияние на размер контракта минимально, она не требует большой производительности и больших затрат на хранение.

Добавим SafeMath к нашему коду:

SafeMath использует команды подтверждения отсутствия ошибок для проверки правильности передаваемых параметров. Если не удается подтвердить отсутствие ошибок, выполнение функции будет немедленно приостановлено и все изменения в блокчейне будут отменены.

Далее добавим следующую команду, которая помещает библиотеку в компилятор Solidity:

Затем заменим простую арифметику, которую мы использовали в начале, на функции SafeMath:

Все пакуем вместе

На языке Solidity функции и события умного контракта собраны в единство, называемое контрактом, который можно тихо перевести в «класс блокчейна». Ниже приведен совместимый с ERC20 контракт, который мы создали, включая Gist нашего кода. Поля «название» и «символ» могут быть изменены по желанию. Большинство токенов сохраняют десятичное значение в 18, поэтому мы сделаем то же самое.

Развертывание контракта на Эфириуме

Пришло время развернуть наш контракт на блокчейне. После развертывания наш контракт будет разослан на все узлы (ноды), которые участвуют в сети. Все изменения в контракте будут распространены между всеми участвующими узлами (нодами).

Разработчики Эфириума обычно применяют такие инструменты для развертывания, как Truffle. Но даже Truffle – это перебор для этой статьи с ограниченным набором потребностей, поэтому простого он-лайн инструмента, такого как Remix, будет достаточно.

Для его использования необходимо установить плагин MetaMask на ваш браузер и завести учетную запись на Rinkeby (тестовая сеть Эфириума) с хотя бы минимальным количеством эфира Rinkeby в ней. Это относительно простые шаги, поэтому мы не будем вдаваться в подробности.

Если у вас нет эфира, перейдите на MetaMask и Rinkeby, чтобы скачать ссылки и получить четкие инструкции по установке и использованию.

Теперь, когда все на месте, мы зайдем на Remix и вставим вышеуказанный код, включая строку pragma и библиотеку SafeMath, в онлайн-редактор.

Затем мы перейдем на вторую вкладку справа под названием Run (запуск) и кликнем на Deploy (развернуть). Появится всплывающее окно MetaMask с просьбой подтвердить транзакцию. Конечно, мы подтверждаем ее.

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Поздравляю! Вы только что развернули ваш первый токен ERC20, прямо как настоящий знаток блокчейна Эфириум. Как и было обещано, токен прост и легок, однако полностью функционален, соответствует стандарту ERC20 и защищен библиотекой MathSafe. Его можно покупать, им можно расплачиваться и его можно передавать через блокчейн.

Это все, что нужно для умных контрактов?

Нет, даже близко не так, поскольку наша краткая демонстрация едва затрагивает суть вопроса и имеет дело исключительно с одним аспектом разработки умных контрактов.

Умные контракты могут быть гораздо более сложными, в зависимости от вашей бизнес-логики, моделируемого вами взаимодействия с пользователем, независимо от того, обеспечиваете ли вы «чеканку» или «проживание» токенов; а также изменений жизненного цикла, которые вы вводите в контракт, необходимости в получении возможностей на уровне администратора, которые обычно идут вместе с авторизованным администратором набором функций, и так далее. Ну вы поняли.

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

Умный контракт-это фрагмент кода, выполненный на виртуальной машине Эфириума. Умный контракт на Эфириуме является неизменным и он может отправлять или получать эфир и данные.

Проще говоря, токены ERC20-это контракты, реализующие стандарт ERC20. Операции, выполняемые по этим контрактам, включают получение общего предложения и баланса токенов, а также методы, используемые для их передачи.

Разработка Эфириума в настоящее время ведется на Solidity, контрактно-ориентированном языке программирования, вдохновленном JavaScript, Python и C++.

ERC означает запрос Эфириума на комментарии. Этому запросу присвоено число 20, отсюда и суффикс.

Источник

Как сделать токен на erc20

Как создать и развернуть токен ERС-20

Что такое токен ERC-20?

ERC-20 определяет токены как активы на основе блокчейна, которые могут быть отправлены / получены и имеют ценность. Токены ERC-20 во многом похожи на Биткойн и Лайткойн. Однако наиболее существенное различие заключается в том, что вместо работы в собственной сети блокчейнов, монеты ERC-20 работают в сети блокчейнов Ethereum и используют газ в качестве комиссии за транзакцию.

Смарт-контракты токенов несут ответственность не только за создание токенов, но и за обработку транзакций и отслеживание балансов каждого держателя токенов. Чтобы получить несколько токенов, нужно отправить некоторое количество ETH в контракт токена в обмен на выделенные токены.

Создание собственного токена

Теперь, когда мы знаем, что такое токены ERC-20 и как они работают, давайте посмотрим, как мы можем создать и развернуть собственный токен.

Как сделать токен на erc20. Смотреть фото Как сделать токен на erc20. Смотреть картинку Как сделать токен на erc20. Картинка про Как сделать токен на erc20. Фото Как сделать токен на erc20

Вставьте следующий код в свой новый скрипт Solidity:

Замените символ и имя своими:
62 symbol = » QKC «;
63 name = » QuikNode Coin «;

установите десятичное число (значение, в котором токены могут быть разделены, можно использовать десятичные единицы от 0 до 8) и установить общее значение предложения по вашему желанию:
64 decimals = 2 ;
65 _totalSupply = 100000 ;

Измените YOUR_METAMASK_WALLET_ADDRESS на адрес своего кошелька (тот же кошелек, который вы указали для получения тестовой валюты):
66 balances[YOUR_METAMASK_WALLET_ADDRESS] = _totalSupply;
67 emit Transfer(address(0), YOUR_METAMASK_WALLET_ADDRESS, _totalSupply);

Пояснение к приведенному выше коду:

Строка 1: Объявление версии солидности

Строка 3-4: Вызов интерфейса Safe Math для использования математических функций в нашем контракте.

Строка 29-41: Вызов интерфейса ERC-20 для реализации его функций.

Строка 44-48: функция контракта для получения утверждения и выполнения функции за один вызов.

Строка 58-59: Создание двух функций сопоставления, которые предоставят пользователям возможность тратить эти токены.

Строка 61-68: Инициализация конструктора, установка символа, имени, десятичных знаков и общего значения предложения для нашего токена. Объявление общего количества токена равным балансу вашего кошелька для этого токена.

Строка 70-72: Функция totalSupply, которая будет управлять общим объемом нашего токена.

Строка 74-76: Функция balanceOf, которая проверяет баланс адреса кошелька.

Строка 78-83: Функция передачи, которая будет выполнять передачу токенов из общего количества пользователям.

Строка 85-89: Утверждение функции, которая проверяет, есть ли в общем предложении количество токенов, которое необходимо выделить пользователю.

Строка 91-97: Функция передачи, которая облегчит передачу токена между пользователями.

Строка 99-101: Допуск функции, который проверяет, достаточно ли у пользователя баланса для выполнения перевода другому пользователю.

Строка 103-108: Функция ApproveAndCall, которая выполняет транзакции покупки и расходования токенов.

Строка 110-112: Резервная функция, предотвращающая прямую отправку ETH в контракт учетными записями, это не позволяет пользователям тратить газ на транзакции, в которых они забывают указать имя функции.

Скомпилируйте смарт-контракт и разверните его, используя внедренный Web3 (не забудьте выбрать тестовую сеть Ropsten в Metamask перед компиляцией контракта). Подтвердите транзакцию из метамаска.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *