Создать свою криптовалюту etherium

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

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

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

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

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

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

Смарт-контракты : Смарт-контракты — это самозапускающиеся программные блоки, которые функционируют на блокчейне 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, чтобы убедиться, что все работает как было запланировано. Выглядит все это следующим образом:

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

Читайте также:  Настройка 5700xt для майнинга эфира

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

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

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

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

Шаг 3

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

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

Шаг 4

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

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

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

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

Шаг 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).

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

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

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

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

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

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

Источник

Как создать свою криптовалюту на базе блокчейна Эфириума

На платформе Ethereum создана и с июля 2015 года действует своя основная цифровая денежная единица, которая известна в народе как Эфир или ETH. Но каждый желающий может создать и свою собственную криптовалюту на базе сети Эфира. Цели могут быть различны – от формирования внутренней корпоративной монеты для поощрения сотрудников до выведения на рынок очередного коммерческого криптопроекта. При этом владельцу токена не нужно обладать развернутыми знаниями в сфере криптоиндустрии и глубоко разбираться в программировании. Достаточно следовать руководству, которое подготовила команда Ethereum.

Читайте также:  Базовая доходность енвд общепит

Содержание статьи

Два уровня погружения в процесс создания своей монеты

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

  1. Путь, дающий возможность создать свою монету почти «с нуля». Слово «почти» используется, потому что всё равно определенная база для запуска в виде готового блокчейна уже существует. Кроме того, разработаны основополагающие стандарты токена, позволяющие опираться на готовые наработки в реализации смарт-контрактов, взаимодействия новой крипты с внешними сервисами и другими децентрализованными приложениями сети. Однако если понадобиться усложнить правила движения активов или существенно изменить систему взаимодействия, нужно будет освоить Solidity – язык EVM.
    Solidity называют высокоуровневым объектно- и предметно- ориентированным языком программирования умных контрактов на платформе Ethereum. Программы, написанные на нем, транслируются в байткод Ethereum Virtual Machine – виртуальной машины Ethereum (сокращённо EVM). С помощью этого языка, в основном, и создаются самодостаточные приложения, функционирующие в рамках бизнес-логики, предполагающей неотменяемые записи транзакций в блокчейне. Однако, если пользователя устраивает исходный функционал, то он может воспользоваться возможностью моделирования стандартизированного токена.
  2. Путь (более простой), дающий возможность создать свою монету по стандарту Ethereum Request for Comments 20 (сокращённо – ERC-20). Стандарт был разработан специально для того, чтобы вновь созданные криптоденьги были сразу адаптивны в среде Эфириума с её децентрализованными приложениями, а также могли взаимодействовать с внешними сервисами, включая кошельки и биржи.

Поскольку рассмотрение языка программирования – задача слишком масштабная для статьи, мы рассмотрим, способ создать свою криптовалюту на Ethereum образца ERC-20 по упрощённой схеме.

Состав кода и функции

На официальном сайте криптосистемы по адресу: https://www.ethereum.org/token представлен стандартный вид простейшего варианта кода:

На этой же странице представлен расширенный вариант кода, который доступен для копирования (для полного отображения нужно будет прокрутить вниз):

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

  • Имя токена (name), которое автор придумывает для своей монеты.
  • Символическое отображение (symbol) – сокращённое название (обычно это аббревиатура по первым буквам основного наименования).
  • Общее количество расчетных единиц (totalSupply) – только целых чисел, без символов после запятой.
  • Число символов после запятой (decimals). Предустановленное рекомендованное разработчиками значение параметра – «18», но можно указывать любое.
  • Баланс адресов (balanceOf).
  • Данные о разрешении на расходование активов с чужих адресов (allowance).

Для того, чтобы обеспечить совместимость коина (то есть, чтобы он корректно воспринимался при проведении любых операций в системе) необходимо четыре основных функции смарт-контракта: Функция:

  • получения определенного общего количества токенов;
  • получения баланса на счёте;
  • перенесения токена из группы в группу;
  • подтверждения использования своей монеты в качестве актива.

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

Создание своей монеты: руководство для «среднего пользователя»

Алекс Ван де Санде определил «среднего пользователя» как человека, который «неуютно себя чувствует в командной строке», но который способен всё-таки скачать пакет офисных программ. Для таких участников сети он предложил следующую последовательность действий.

  1. Установить кошелек Ethereum Wallet, с помощью которого можно создать и выполнить умные контракты, передавать валюту сети и производить другие действия с активами. Найти последнюю версию можно на странице: https://github.com/ethereum/mist/releases/tag/v0.10.0
  2. Создать свой аккаунт.
  3. Приобрести немного ETH для предметного эксперимента. Для тех, кто хочет только попробовать, рекомендовалось переключиться в Testnet-режим. Для этого нужно использовать меню в порядке develop > network > testnet и запустить майнинг с develop > start mining, для получения суммы, достаточной для эксперимента. Для приобретения настоящей монеты можно обратиться в обменники или на биржи. Но автор руководства предлагает воспользоваться программой-майнером AlethOne, одна кнопка которой запускает добычу, а вторая – отправляет заработок в кошелёк. При этом можно и просто одолжить немного средств у друзей или, при наличии биткоинов, поменять их на Эфир по текущему курсу нажатием одной кнопки в Ethereum Wallet.
  4. На странице контрактов кошелька нажать кнопку под названием «Deploy New Contract».
Читайте также:  Политика государства по регулированию инвестиций

  1. Вставить текст контракта без изменений в SOLIDITY CONTRACT SOURCE CODE (поле ввода), скопировав его при переходе по ссылке: remix.ethereum.org.

  1. При правильном вводе должен появиться выпадающий список SELECT CONTRACT TO DEPLOY, из которого нужно выбрать MyToken.
  2. В настройках для создания своего токена заполнить основные данные. В приведённом разработчиком примере выбрано название монеты «My DAO Shares», с символом «%» вместо буквенного обозначения, количеством в размере 10 тысяч, и двумя символами после запятой.

  1. Внизу страницы указана сумма (видна после прокрутки), которую нужно внести для начала работы в системе (в примере это 0,01466 ETH). После нажатия кнопки «Deploy» и введения пароля через несколько секунд будет установлен контракт.

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

Для пересылки вновь созданной валюты нужно перейти на страницу SEND, выбрать свой токен, ввести адрес получателя и нажать кнопку «Отправить».

Чтобы кошелёк получателя смог «увидеть» новую монету, её нужно добавить вручную. Для этого следует перейти на вкладку контракты и кликнуть по только что созданному контракту, скопировать адрес контракта (COPY ADDRESS) и отправить его получателю.

Сам же получатель, чтобы увидеть только что созданные монеты, должен на странице контрактов нажать на кнопку «WATCH TOKEN» и добавить адрес контракта во всплывающем окне. Информация о новой валюте подтягивается автоматически. И теперь этот кошелек может не только различать токен, но и отправлять его дальше.

Разработки нового стандарта

Предложение ввести новый стандарт на смену устоявшемуся ERC-20 для персональных проектов на блокчейне Эфириума поступило от одного из разработчиков сети. Рабочее обозначение предполагаемого стандарта ERC-223. Новый формат призван уменьшить потребление газа на контракты и снизить вероятность возникновения случайных потерь токенов внутри контрактов, не предназначенных для работы с отправленной монетой.

Однако до принятия ERC-223 в качестве нового стандарта дело пока не дошло. Необходимые для его внедрения изменения могут спровоцировать сложности с внешней адаптацией – конфликтом с биржами, обменниками и другими сервисами. Соответственно, ни ICO под такие проекты пока не проводятся, ни токены на ERC-223 пока не реализовываются.

Источник

Оцените статью