Своя криптовалюта на ethereum
Общая рыночная капитализация глобального рынка криптовалют за последний год выросла с $6 млрд (в январе 2016 года) до $28 млрд (на текущий момент). С начала 2017 года рынок криптовалют вырос примерно в полтора раза. На биржах торгуются уже больше сотни разных криптовалют. Крупные организации объединяются в консорциумы, чтобы выпускать свою валюту. Даже государства делают свои национальные криптовалюты. Технологии блокчейна дошли до такого уровня, что уже почти любой может запустить свою криптовалюту, чем мы в этой статье и займемся. Легче всего создать свои монеты на смарт контрактах на базе ethereum.
Зайдя на крупнейшую в настоящий момент биржу криптовалют, вверху списка можно найти к примеру следующие валюты: GNT (Golem), REP (Augur).
Хотя они и находятся в одном списке с Bitcoin (первая и самая известная криптовалюта) и Ethereum (вторая по популярности и капитализации валюта) — они не являются самостоятельными криптовалютами в классическом их понимании. Они являются крипто-токенами (tokens или assets) на базе блокчейна ethereum.
Список подобных токенов можно найти например здесь, там же можно найти статистику по ним.
Нужны подобные токены обычно для следующего: какая-то компания хочет выпустить продукт, в котором нужна некая внутренняя валюта. Также эта компания хочет провести ICO (Initial Coin Offering), т.е. собрать денег на проект путём предварительной продажи токенов инвесторам. Так и появляются эти токены. Преимущества здесь прямо истекают из преимуществ блокчейна и смарт контрактов: прозрачность, защищенность и распределенность.
Например, посмотрим на одну из первых таких компаний Golem. Суть её заключается в следующем: когда нам понадобятся вычислительные мощности, мы можем идти не на Amazon (Azure, Google. ), а арендовать компьютер у другого участника сети, расплатившись с ним GNT токенами. Соответственно, также можно сдать свой компьютер в аренду и получить некоторое количество GNT. Дальше эти токены можно либо тратить внутри сети, либо продать на бирже. Некоторые токены могут приносить дивиденды, либо давать права голоса на проводимых выборах о каких-либо вопросах связанных с продуктом компании (такое реализуется на смарт контрактах).
Golem, выпустив 1,000,000,000 токенов, смогли привлечь 820,000 ETH, что по текущему курсы составляет примерно $32,800,000, но во времена их ICO курс был раза в 3 хуже.
Сейчас я вам расскажу, как сделать свою подобную криптовалюту (tokens) на базе Ethereum.
Руководство: Как создать токены на базе Ethereum
Можно ли выпустить собственные токены, провести ICO, заработать миллионы долларов и зажить криптомечтой менее чем за 20 минут? Ответ — да. Рассказываем, как выпустить токены с помощью одного смарт-контракта и кошелька MyEtherWallet.
Токены будут соответствовать стандарту ERC-20 и включать основные функции. Их можно использовать как базу для более сложных приложений, а не только для платежей.
Помните: большие возможности связаны с высокой ответственностью. Будьте осторожны со своей криптовалютой и используйте потенциал технологии во благо.
Для создания собственных токенов потребуются следующие компоненты:
- Адрес Ethereum (в тестовой сети Ropsten)
- Немного Ropsten-эфира
- Текстовый редактор (например, Sublime или Atom)
- Контракт на языке Solidity
Адрес Ethereum
- Выпуск токенов будет проходить в тестовой сети Ropsten (чтобы не тратить эфиры). Для этого необходимо зарегистрироваться на сайте MyEtherWallet и создать там учетную запись.
- Из выпадающего списка в правом верхнем углу выберите сеть Ropsten, введите пароль, нажмите кнопку «Создать кошелек», скачайте файл Keystore, нажмите «I understand» и сохраните закрытый ключ (private key) в надежном месте.
- Чтобы увидеть адрес кошелька, выберите вкладку «Информация о кошельке», пункт «Закрытый ключ», введите ключ в поле и нажмите кнопку «Отпереть».
Текстовый редактор
Выберите один из следующих текстовых редакторов:
Контракт
Загрузите пример умного контракта на языке Solidity . Он послужит основой для токена.
Ropsten-эфир
Получить немного Ropsten-эфира можно по адресу https://faucet.bitfwd.xyz/. Для этого введите адрес своего Ropsten-кошелька, пройдите тест CAPTCHA и нажмите «Get ETH!» (ограничитесь одним разом, пожалуйста).
Теперь давайте напишем немного кода:
- Откройте контракт в текстовом редакторе.
- Изучите комментарии с 3 по 15 строку (они потом понадобятся).
- В 4-й строке введите название своего умного контракта.
- В 6-й строке («Deployed to») введите адрес Ropsten-кошелька, созданного на сайте MyEtherWallet.
- В 7-й введите символ токена (пусть он будет коротким).
- В 8-й строке введите название токена.
Строки 3−15
- В 102-й и 115-й строках замените «FucksToken» на название своего токена.
- В 116-й и 117-й замените символ и название токена.
- В 120-й и 121-й поменяйте адрес на свой.
Значения «decimals» и «_totalSupply» в 118-й и 119-й строках можно не менять. Поле «decimals» указывает на минимальное дробное значение токена (в данном случае токен можно разделить на 10 в 18 степени, или квинтиллион частей). Если вы собираетесь выпустить 100 токенов, необходимо в _totalSupply указать полное число их минимальных частей (т. е. 100 000 000 000 000 000 000).
На этом редактирование завершено; сохраните файл.
- Перейдите по ссылке http://remix.ethereum.org/
- В поле browser/ballot.sol вставьте содержимое файла, который только что редактировали. В правой части страницы могут появиться красные сообщения об ошибках и желтые предупреждения.
- Теперь на вкладке «Compile» выберите свой токен из выпадающего меню и нажмите на «Details».
- В поле ByteCode нажмите на кнопку «Копировать», чтобы сохранить содержимое в буфер обмена (нужно взять значение «object» и добавить к нему 0x в начале).
- Перейдите на сайт MyEtherWallet. Убедитесь, что находитесь в тестовой сети Ropsten (выпадающий список в правом верхнем углу).
- Выберите закладку «контракт» и нажмите кнопку «Опубликовать контракт».
- Вставьте ByteCode в поле «Байткод». Лимит газа должен автоматически обновиться. Откройте свой кошелек с помощью закрытого ключа.
- Нажмите кнопку «Подписать транзакцию», а затем «Опубликовать контракт».
Нажмите на подтверждение транзакции или перейдите на сайт https://ropsten.etherscan.io чтобы убедиться, что контракт был создан (можно провести поиск по адресу). Если этого не произошло, попытайтесь снова и постарайтесь понять, что пошло не так. Если все получилось — можете гордиться собой. В этом случае вы увидите страницу примерно следующего содержания:
Теперь нужно зарегистрировать контракт. Для этого на странице «Contract Overview» перейдите по ссылке «Contract Address», выберите вкладку «Code», нажмите на ссылку «Verify and Publish».
Все почти готово. Следующие шаги крайне важны, поэтому отнеситесь к ним с максимальным вниманием. По сути мы должны подтвердить, что это действительно наш код, и зарегистрировать его в сети навсегда.
Так что если вы наделаете ошибок, они останутся навечно.
На этой странице необходимо сделать 5 вещей:
- Убедитесь, что адрес контракта совпадает с адресом, который вы только что опубликовали. Помните, что адрес контракта отличается от адреса кошелька и не путайте их.
- Название контракта должно совпадать с названием в коде (в 102-й строке).
- Чтобы проверить версию компилятора, вернитесь на страницуhttp://remix.ethereum.org, с которой копировали BYTECODE и посмотрите на URL-адрес. В большинстве случаев это будет нечто вроде v0.4.19+commit.c4cbbb05.js. Если что-то пойдет не так, можно попробовать более новую версию.
- В поле «Optimisation» выберите «No».
- В поле «Enter the Solidity Contract Code below» скопируйте весь код с сайта Remix (не BYTECODE, а сам код). Его также можно взять из сохраненного текстового файла.
Оставьте остальные поля без изменений и нажмите «Verify And Publish»
Именно к этому моменту вы стремились. Скрестите пальцы и ждите…
Если появилась страница подтверждения с фразой «Successfully generated ByteCode and ABI for Contract Address» зеленого цвета — поздравляем, вы успешно зарегистрировали свой токен и можете гордиться! Теперь вы киберпанк и часть криптовалютного движения. Ура!
Если появятся ошибки, вернитесь к предыдущему шагу и проверьте, все ли правильно сделали. Также всегда можно поискать помощи в интернете.
Чтобы убедиться, что токены выпущены, перейдите на сайт https://ropsten.etherscan.io/ и введите свой адрес MyEtherWallet (не контракта, а публичный). Вы должны увидеть свои токены. Теперь можно расслабиться и отпраздновать!
Чтобы иметь возможность отправлять токены, необходимо зайти в свою учетную запись MyEtherWallet, перейти на вкладку «Информация о Кошельке» и нажать на кнопку «Добавить свой токен». После этого их можно переводить на другие счета.
Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram
Как создать свою криптовалюту на Ethereum
Вопреки ожиданиям, создание своего токена на Ethereum – процесс стандартизированный и подробно проработанный разработчиками платформы. Создатели намеренно стремились к тому, чтобы любой желающий, даже не обладающий специальными знаниями по программированию, мог запустить свою монету, пользуясь готовым блокчейном сети. Авторы, по сути, создали цифровой конструктор, в котором в исходнике токена стандарта ERC20 нужно изменить несколько строк и с помощью программы «залить» результат в сеть.
Содержание
Что нужно знать перед стартом
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 в левой части экрана и запускается нажатием кнопки «Compile». При установке «метки» в соседнем поле, компиляция контракта будет происходить автоматически.
- Развёртывание контрактов с помощью установленного в браузер клиента MetaMask производится следующим образом:
- Там же в редакторе Remix выбирается соседняя вкладка Run и подпункт Injected Web3. Ниже заполняются поля Gas limit и Value и нажимается Create.
- Account, от которого будет происходить развёртывание при установленном клиенте MetaMask, подгружается автоматически, считывая информацию со страницы.
- После нажатия «Submit» и внесения записи в блокчейн, контракт считается развернутым. Статут подтверждается в клиенте иконкой с изображением «документа», подписанной «Contract published». При нажатии на неё пользователь переходит на страницу транзакций.
Для осуществления операций с токеном нужны кошелек отправителя (например, создателя контракта) и кошелек получателя. Передавать токен можно, используя страницу Remix.
Розовый цвет обозначает платные операции записи, а голубой – бесплатные операции чтения. Для передачи монет вводится нужное количество токенов и адрес получателя. После проведения транзакции баланс можно проверить запуском операции balanceOf.
Публикация с использованием кошелька
Кроме описанного выше способа, можно осуществить публикацию умного контракта на блокчейне Ethereum с помощью официального кошелька MyEtherWallet.
- В открытом приложении нажимается кнопка «Contracts», а затем – «Deploy Contract». В открывшихся формах (Bytecode, ABI/JSON interface и Contract name) можно прописать тот же код, что и в Ethereum Remix.
- Для взаимодействия с контрактом нужно перейти в «Interact with Contract».
- В «Select Contract To Deploy» (выпадающее меню) из исходного кода выбирается тот контракт, который пользователь планирует опубликовать, и заполняются параметры его конструктора.
- Определение комиссии производится прокруткой бегунка «Select Fee». Увеличение комиссии ускоряет проведение транзакции в системе, однако при публикации токенов на этом обычно экономят.
- Отправка транзакции осуществляется нажатием «Sign Transaction».
Для добавления токена в Ethereum Wallet выбирается строка меню «Add Token», а затем указывается адрес, название токена, его символическое обозначение и количество десятичных. Для подтверждения введения данных нажимается кнопка «Ok».
На страницах ресурса github собрано множество примеров проектов по выпуску своих монет на платформе Ethereum. Найти исходники определённого токена можно по его адресу во вкладке «Source Code» на etherscan.io. Разработчики при запуске своего проекта рекомендуют авторам публиковать исходный код, поскольку предполагается, что прозрачность позволит повысить доверие пользователя к токену.
Источник https://habr.com/ru/post/326626/
Источник https://cryptocurrency.tech/rukovodstvo-kak-sozdat-tokeny-na-baze-ethereum/
Источник https://finswin.com/kripto/efr/svoya-kriptovalyuta-na-ethereum.html