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

На платформе 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».

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, выбрать свой токен, ввести адрес получателя и нажать кнопку «Отправить».

Страница SEND

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

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

WATCH TOKEN

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

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

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

ТЕСТ: Как хорошо вы разбираетесь в криптовалюте?

Что такое криптовалюта:

Отзывы, комментарии и обсуждения