- Как создать свой токен на Эфириум: подробная инструкция
- Сущность идеи создания токенов на Ethereum
- ERC-20: стандарт Ethereum по созданию своей монеты
- Публикация с использованием кошелька
- Как создать токен за 5 минут? Рассказываем на примере платформы Enecuum
- Что такое токен
- Как создать токены на Ethereum, Tron, EOS и Enecuum
- Ethereum: пишем, компилируем, публикуем
- EOS: командная строка и клиент EOS Cleos
- TRON: стандартные и кастомные смарт-контракты для выпуска токенов
- Enecuum: стандартный смарт-контракт для быстрого выпуска токена
- Почему Enecuum использует стандартные смарт-контракты для выпуска токенов
- Как Enecuum решает проблему комиссий
- Какой протокол консенсуса у Enecuum
- Какие токены можно выпустить на Enecuum
- Практика: выпускаем токен на Enecuum за 5 минут
- Бонус: переводим токены на другой кошелек
- Выводы
Как создать свой токен на Эфириум: подробная инструкция
Вопреки ожиданиям, создание своего Ethereum Token – процесс стандартизированный и подробно проработанный разработчиками платформы. Создатели намеренно стремились к тому, чтобы любой желающий, даже не обладающий специальными знаниями по программированию, мог запустить свою монету, пользуясь готовым блокчейном сети. Авторы, по сути, создали цифровой конструктор, в котором в исходнике токена стандарта ERC20 нужно изменить несколько строк и с помощью программы «залить» результат в сеть. Разберемся подробнее, как создать свой токен на Эфириум.
Содержание статьи
Сущность идеи создания токенов на Ethereum
Ethereum – это среда, созданная огромным количеством соединенных между собой узлов (нод). Это объединение работает как единая машина, которую так и называют Ethereum Virtual Machine – виртуальной машиной Эфириума (сокращённо EVM). На базе сети действует система смарт-контрактов («умных контрактов»).
Сущность «умных контрактов» заключается в том, что обе стороны заключают некую операционную сделку, минуя посредников. Два условных лица без привлечения третьей стороны формируют условия контракта, которые «загружаются» в систему (гроссбух) в переведенном в код виде. Программа автоматически определяет соответствие правилам контракта. Если условия соблюдены, EVM подтвердит это и проведёт транзакцию. Если условия нарушены, система автоматически оштрафует «виновника» (если это предусмотрено правилами) и либо вернёт актив, либо производит другие действия, прописанные в коде. Причем в одностороннем порядке «по-тихому» переписать контракт нельзя, поскольку он храниться в децентрализованной цепи.
Формируя свою систему смарт-контрактов на базе блокчейна Ethereum, можно создавать собственный проект или децентрализованное приложение (dApps), расчетной единицей в котором будет такой токен. Примером внутренней валюты могут служить монеты систем SIA, Library и др. В самой сети Ethereum эти токены не дают каких-либо прав и привилегий, но могут иметь самостоятельную ценность.
Выделенные ветви проектов создают целую экосистему Ethereum, в которой потенциально единственной расчетной единицей можно было бы сделать основную монету ETH. Но это очень неудобно. Отдельные проекты и приложения могут жить собственной «жизнью», с разными темпами развиваться, менять конфигурацию и все эти изменения проще и естественнее проводить со специальным криптовалютным эквивалентом.
Однако полностью «придумывать» криптовалютный эквивалент «с нуля» означает встроить его в систему на всех уровнях и подуровнях, сделать «понятным» для различных бирж, кошельков, сервисов и dApp. А это сложно и чаще экономически нецелесообразно.
Поэтому, чтобы не «множить сущности», в 2015 году на DevCon 1 был представлен так называемый Initial Standards Token, или стандарт для токенов Ethereum. После принятия его кошельком Mist, тестирования и добавления необходимых требований, был сформирован действующий стандарт ERC-20 (что расшифровывается как Ethereum Request for Comments 20). Стандарт не является обязательным, но следование ему заметно облегчает работу пользователю по формированию своей монеты, и делает ее понятной приложениям и сторонним сервисам.
ERC-20: стандарт Ethereum по созданию своей монеты
Содержательно смарт-контракт токена состоит из двух групп элементов:
- Структуры данных, связывающих сетевые адреса с количеством токенов, для чего существует набор публичных переменных.
- Набора функций, обеспечивающих пересылку активов между адресами (функции transfer и _transfer), перевод монет с чужих адресов (transferFrom), доступ других пользователей к средствам кошелька (approve), списание токенов (burn) и т.д.
Деятельность в сети может иметь вид бесплатного обращения к смарт-контракту для считывания данных из его структуры, а может иметь вид уже платной записи данных от имени принадлежащего пользователю кошелька. Плата вносится на счёт участников сети, которые обеспечивают операцию вычисления и записи в блокчейне Ethereum.
Для создания своего токена надо, прежде всего, придумать его название, символ, выбрать количество токенов и определиться с делимостью одной расчетной единицы. После этого нужно внести эти данные, для чего выполняется следующий набор действий:
- Выбирается стандартная форма смарт-контракта, которую можно скачать по ссылке: github.com/artyomLisovskij/solidity-erc20-token-bootstrap (скачивать нужно оба файла с расширением .sol).
- В редактор Ethereum Remix (который доступен по адресу: remix.ethereum.org) с помощью кнопки «Load» или значка «Папка» загружаются оба скачанных файла.
- В файле NewToken.sol (открытом в этот момент в редакторе Remix), вместо значений переменных, содержащихся в треугольных скобках, вносятся выбранные ранее значения:
- общего количества токенов – totalSupply (например, 123 тысячи),
- названия монеты – name (например, Best Token Ever),
- величины дробления – количества знаков после запятой – для возможности зачисления нецелого числа токенов – decimal (в примере – «4»),
- символического обозначения монеты – symbol (BTE по первым буквам наименования).
- Данные сохраняются, и код с внесенными изменениями развертывается в сети. Для этого нужно воспользоваться каким-либо клиентом, например, MetaMask, который хоть и не компилирует умные контракты, но компиляцию легко произвести в том же редакторе Remix. Для этого открывается вкладка Compile в правой части экрана и запускается нажатием кнопки «Start to compile». При установке «метки» в соседнем поле, компиляция контракта будет происходить автоматически.
- Развёртывание контрактов с помощью установленного в браузер клиента MetaMask производится следующим образом:
- Там же в редакторе Remix выбирается соседняя вкладка Run и подпункт Injected Web3. Ниже заполняются поля Gas limit и Value и нажимается Create.
- Account, от которого будет происходить развёртывание при установленном клиенте MetaMask, подгружается автоматически, считывая информацию со страницы.
- После нажатия «Submit» и внесения записи в блокчейн, контракт считается развернутым. Статут подтверждается в клиенте иконкой с изображением «документа», подписанной «Contract published». При нажатии на неё пользователь переходит на страницу транзакций.
Для осуществления операций с токеном нужны кошелек отправителя (например, создателя контракта) и кошелек получателя. Передавать токен можно, используя страницу Remix.
Розовый цвет обозначает платные операции записи, а голубой – бесплатные операции чтения. Для передачи монет вводится нужное количество токенов и адрес получателя. После проведения транзакции баланс можно проверить запуском операции balanceOf.
Публикация с использованием кошелька
Кроме описанного выше способа, можно осуществить публикацию умного контракта на блокчейне Ethereum с помощью официального кошелька Ethereum Wallet или кошелька MyEtherWallet.
Рассмотрим процедуру на примере Ethereum Wallet.
- В открытом приложении нажимается кнопка «Contracts», а затем – «Deploy New Contract».
- Для заполнения открывшегося поля «From» выбирается тот кошелёк, с которого будет отправляться транзакция и который будет «закреплён» за владельцем контракта («по умолчанию»).
- В «Select Contract To Deploy» (выпадающее меню) из исходного кода выбирается тот контракт, который пользователь планирует опубликовать, и заполняются параметры его конструктора.
- Определение комиссии производится прокруткой бегунка «Select Fee». Увеличение комиссии ускоряет проведение транзакции в системе, однако при публикации токенов на этом обычно экономят.
- Отправка транзакции осуществляется нажатием «Send Transaction».
Для добавления токена в Ethereum Wallet выбирается строка меню «Add Token», а затем указывается адрес, название токена, его символическое обозначение и количество десятичных. Для подтверждения введения данных нажимается кнопка «Ok».
На страницах ресурса github собрано множество примеров проектов по выпуску своих монет на платформе Ethereum. Найти исходники определённого токена можно по его адресу во вкладке «Source Code» на etherscan.io. Разработчики при запуске своего проекта рекомендуют авторам публиковать исходный код, поскольку предполагается, что прозрачность позволит повысить доверие пользователя к токену.
Источник
Как создать токен за 5 минут? Рассказываем на примере платформы Enecuum
Для запуска токена на Ethereum нужно написать смарт-контракт. На EOS — купить оперативную память. Команда проекта Enecuum считает: выпуск токена не должен быть таким сложным. Задача Enecuum — упростить процесс до нескольких кликов мышкой.
Рассказываем, зачем нужны токены, и как их создавать в Ethereum, Tron, EOS и Enecuum. В конце материала выпускаем токен за пять минут.
Что такое токен
Токен — это цифровой актив на основе криптовалюты. Например, токен ERC20 — стандартный токен на платформе Ethereum.
Создатель (эмитент) задает название токенов, их эмиссию и комиссии за транзакции.
Учредитель Центра разработки блокчейн-решений для бизнеса Павел Кравченко выделяет такие функции токенов:
- средство учета в блокчейне;
- аналог акций;
- платежное средство.
Токены работают на блокчейне основной криптовалюты, для их хранения не нужен отдельный кошелек. Сложность создания токена, комиссии и скорость транзакций зависят от платформы.
Как создать токены на Ethereum, Tron, EOS и Enecuum
По данным Enecuum, существует 19 платформ для выпуска токенов. Разберем процесс создания токенов на Ethereum, TRON, EOS и Enecuum.
Сравнительная таблица: создание токена на Ethereum, EOS, Tron и Enecuum
Ethereum: пишем, компилируем, публикуем
- Установите текстовый редактор Atom или SublimeText, чтобы удобно редактировать смарт-контракт.
- Напишите код смарт-контракта или скачайте шаблон и поменяйте в нем название токена и эмиссию.
- Переведите текст смарт-контракта в байтовый код.
- Опубликуйте его через MyEtherWallet или Metamask.
- Оплатите публикацию смарт-контракта: 320 000 GAS, это примерно $2 на момент публикации. Для публикации больших смарт-контрактов нужно больше GAS.
EOS: командная строка и клиент EOS Cleos
- Установите клиент EOS Cleos через командную строку. Это сложно, если вы раньше не работали с консолью.
- Купите оперативную память, чтобы сеть проводила транзакции токенов.
- Напишите код смарт-контракта или создайте его через EZEOS.
- Опубликуйте смарт-контракт через EOS Cleos.
TRON: стандартные и кастомные смарт-контракты для выпуска токенов
- Зайдите на Tronscan.
- Авторизуйтесь и выберите тип токена: TRC-10 на стандартном смарт-контракте или TRC-20 на кастомном смарт-контракте.
- Заполните информацию о токене и подтвердите его создание.
- Сайт внесет информацию о токене в шаблон смарт-контракта и опубликует ваш смарт-контракт в блокчейне. Так создали токен BitTorrent.
- Если пишете смарт-контракт для токенов TRC-20, нужно вставить код смарт-контракта в форму и подтвердить публикацию.
- TRC-10 сеть спишет с вашего кошелька 1024 TRX (примерно $18 на момент публикации по ХХХ).
- Если не хотите платить, установите среду разработки TronBox и сами напишите смарт-контракт.
Enecuum: стандартный смарт-контракт для быстрого выпуска токена
- Зайдите на сайт или авторизуйтесь в приложении.
- Создайте кошелек и пополните его на 1000 ENQ ($13 на момент публикации)
- Заполните форму: название, эмиссия и комиссия за транзакции токенов.
- Сайт внесет информацию о токене в стандартный смарт-контракт и опубликует его в блокчейне.
- За создание токена сеть спишет с вашего кошелька 1000 ENQ.
Процесс выпуска токена занимает 5 минут, но об этом ниже.
Почему Enecuum использует стандартные смарт-контракты для выпуска токенов
Разработчик без опыта может написать смарт-контракт с ошибками. Из-за такой ошибки хакер украл $50 млн в ETH из The DAO. Злоумышленник отправил на смарт-контракт токены и перезапустил контракт несколько раз перед завершением обмена. При каждом перезапуске смарт-контракт считал, что получил новые токены и еще раз отправлял ETH на кошелек хакера.
Смарт-контракт позволяет вывести монеты, если транзакцию подписывают большинство владельцев кошелька. Но чтобы изменить количество подписей для вывода средств в Ethereum, достаточно одной подписи. Так злоумышленник может уменьшить количество подписей до одной и вывести монеты без согласия остальных владельцев.
По этим причинам Enecuum ввели стандартный SHARNELL смарт-контракт для создания токенов. Преимущества стандартного смарт-контракта:
- пользователь не может изменить код смарт-контракта и создать уязвимость;
- SHARNELL использует линейную логику и простые операции, его легко проверить на ошибки;
- безопасность смарт-контракта проверят аудиторы. После этого Enecuum добавит его в основную сеть.
Как Enecuum решает проблему комиссий
В Ethereum за перевод токенов нужно платить комиссию в основной монете: чтобы отправить Tether USD на платформе Ethereum, нужно заплатить комиссию в ETH. Это проблема для пользователей.
Представьте, вы заработали $100. Но не можете купить буханку хлеба, потому что за любую операцию нужно заплатить комиссию в чилийских песо.
За транзакции нужно платить основной криптовалютой, потому что майнеры не принимают токены. Но в Enecuum работу майнеров оплачивает эмитент токена:
- во время создания токена эмитент платит комиссию 1000 ENQ;
- из этой комиссии майнеры получают оплату за обработку транзакций токенов;
Пользователи платят комиссии в токенах. Эмитент токена устанавливает фиксированный размер комиссии или процент от суммы. При этом он может назначить нулевую комиссию и сделать транзакции бесплатными для пользователей.
Как работает комиссия в Enecuum
Баланс смарт-контракта для оплаты комиссий можно только пополнить. Если создатель не хочет это делать, пополнить счет могут пользователи.
Какой протокол консенсуса у Enecuum
Сеть Enecuum работает на протоколе консенсуса Trinity. Этот протокол объединяет три алгоритма консенсуса:
- Proof of Activity: приложение Enecuum на смартфоне проверяет случайные транзакции и собирает их в микроблоки. Чтобы майнить, нужно иметь на кошельке от 25 ENQ;
- Proof of Stake: один из 100 крупнейших кошельков становится лидером сети. Он подтверждает транзакции в микроблоках, собирает их в макроблок и подписывает его ключом;
- Proof of Work: узлы Enecuum на компьютерах подтверждают макроблок и добавляют его в блокчейн.
Так пользователи Enecuum могут майнить на смартфонах.
Какие токены можно выпустить на Enecuum
Создатель токена настраивает его параметры: возможность майнинга и взаимозаменяемость.
Enecuum позволяет выпускать:
- взаимозаменяемые (fungible) токены — аналоги платежных средств;
- уникальные (non fungible) токены — идентификаторы предметов, криптовалютных адресов и подарочных карт.
Взаимозаменяемые токены могут быть майнинговыми (minable). Пользователи будут добывать такие токены на мобильных телефонах.
В настоящий момент Enecuum тестирует выпуск взаимозаменяемых токенов. Их применение ограничено вашей фантазией. Вот несколько идей:
- Внутренняя валюта. Запускаете децентрализованное приложение, в котором токен — средство оплаты. Пользователи рассчитываются этими токенами внутри приложения.
- Стейблкоины. Создаете токен, обеспеченный стабильным активом.
- Токены для ICO. Создаете токены, продаете их в рамках ICO. Токены могут выполнять функцию ключей доступа к вашему продукту или предоставлять скидку на оплату услуг.
- Средство учета. Выпускаете токен, проводите небольшую транзакцию, в комментарии к этому переводу указываете данные для записи. Эти данные попадают в блокчейн, их нельзя изменить.
- Средство голосования. Раздаете участникам голосования по токену, создаете два адреса: «За» и «Против». Пользователи делают выбор и отправляют токены на один из адресов.
Практика: выпускаем токен на Enecuum за 5 минут
Шаг первый. Зайдите в тестовую сеть bit.enecuum.com. Зарегистрируйте кошелек, запишите адрес и приватный ключ. Скопируйте публичный адрес кошелька.
Обязательно запишите адрес и ключ. Если закроете сайт, вы не сможете восстановить эти данные.
Шаг второй. Запросите на кошелек монеты BIT для запуска токена: нажмите кнопку «Получить монеты BIT», введите публичный адрес кошелька и кликните «Подтвердить».
Шаг третий. Перейдите в кошелек, нажмите кнопку «Создание токена». На этой странице укажите: название, тикер , эмиссию и комиссию токена. Кликните «Создание токена» и подтвердите.
Шаг четвертый и последний. Проверьте, появился ли токен в списке.
Бонус: переводим токены на другой кошелек
Мы создали токены. Проверим, можно ли их перевести, и заодно посмотрим, как работает комиссия.
Шаг первый. Перейдите в кошелек, выберите токен для отправки. Введите количество токенов и адрес получателя.
Шаг второй. Подтвердите транзакцию. Комиссия указана в токенах, а не в основной монете ENQ.
Шаг третий и последний. Получите токены.
Выводы
Enecuum планирует добавить создание токенов в основную сеть во втором квартале 2020 года. Компания упростила этот процесс и обезопасила пользователей от ошибок в смарт-контрактах.
Система комиссии Enecuum сделает токены более доступными для понимания и широкого применения. С вводом майнинговых и уникальных токенов пользователи получат простой инструмент для реализации большого количества идей.
Возможно, скоро супермаркеты будут начислять бонусы в токенах, а не в баллах на карту.
Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.
Источник