Создаем свой ERC20 токен на базе Ethereum за 2 минуты

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

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

Проработку ICO оставим на следующую статью, а пока создадим наш ERC20 токен на базе Ethereum максимально быстро.

Техническая часть

Я уже писал, что для создания своего токена у вас есть много путей, наиболее простые и популярные это:

  • Перейти на Waves/CryptonoteStarter(или аналоги) и прямо в интерфейсе за 1 минуту выпустить свою монету
  • Разобраться в Solidity/pyEthereum(токен на базе Ethereum). Используя знания и/или стандарт написания смарт-монет ERC20(по факту исходник монеты с многими вариантами блекджеков) задеплоить контракт.

Скажу честно - я лукавил. Вам не нужно разбираться в Solidity. Для запуска своего токена вам необходимо взять исходник токена ERC20, поменять пару строк и залить контракт в сеть одним из клиентов(оф.клиент Ethereum/Metamask/etc).

Что представляет собой смарт-контракт токена?

1. Это структура данных(читай таблица), состоящая из связи адреса Ethereum = количество токенов(целое число).

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

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

ERC20 на пальцах

Из-за появления кучи бажных смарт-контрактов, пытающихся выполнить одни и те же действия, была предпринята попытка(удачная) стандартизировать выпускаемые токены. Сделано это было в первую очередь, чтобы:

  • снизить риски потерять деньги в результате ошибок в смарт-контракте
  • обеспечить возможность сторонним сервисам(биржам, кошелькам) бесприпятственно взаимодействовать(внедрять себе) с новыми токенами

Для выпуска токена стандарта ERC20 вам необходимо:

  • выбрать название, например Best Coin
  • выбрать символ , например BEC
  • выбрать количество токенов, оно неизменно, например 10 000
  • выбрать будут ли токены делиться, если да - то сколько знаков после запятой будет максимально.

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

Деплоим наш токен

Теперь эти данные нам необходимо внести в смарт-контракт, доступный по ссылке. Скачиваем оба .sol файла. Переходим в редактор remix. Загружаем оба файла.

Файлы загружаются кнопкой Load(Открыть). Выбираем оба файла.

Открываем NewToken.sol, ставляем вместо переменных в <скобках> нужные значения:

  • totalSupply - общее количество токенов
  • name - полное название токена
  • decimal - количество заков после запятой. Дело в том, что в контрактах все хранится только в целых числах. Поэтому вам следует указывать количество знаков, если хотите иметь возможность зачислять нецелое количество токенов
  • symbol - символ для бирж

Должно получиться что-то в духе:

Сохраняем. Осталось задеплоить контракт в сеть. Для тестирования задеплоим в Ropsten test net. Для деплоя потребуется какой-либо клиент. Воспользуемся MetaMask - он не умеет компилировать смарт-контракты на Solidity, поэтому сперва произведем компиляцию.

В правой части редактора remix открываем вкладку compile. По умолчанию контракт компилируется автоматически. Выбрав свой контракт в select'е и нажав Details вы можете просмотреть байт-код и прочую информацию.

Для деплоя жмем Run, выбираем Injected Web3, выбираем Account, которым будем деплоить(он должен подгрузиться автоматически, если у вас установлен MetaMask в браузер). Вводим нужную информацию в поля(газ, value), жмем Create.

MetaMask подхватывает действие со страницы

Жмем Submit. Ваш контракт задеплоен(после внесения в блокчейн, конечно). Деплой подтверждается в MetaMask'е иконкой с документом(она ведет на страницу транзакции) и надписью "Contract published".

Задеплоенный смарт-контракт-токен.

Производим операции с нашим токеном

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

Производить операции с нашим токеном(передавать его, например) мы можем либо на странице контракта на etherscan(ссылка в MetaMask'е), либо на странице remix.

Синее тут - операции чтения, розовое - операции записи.

Для передачи токенов вводим адрес получателя и количество. После этого(и внесения данных в блокчейн, конечно) можно проверить свой баланс или баланс получившего токены операцией balanceOf.

... Profit!

Вот и всё, развлекайтесь!

Буду рад ответить на ваши вопросы в комментариях или (комментарии на vc.ru можно оставлять не всегда) в чате t.me/chainchain.

В следующей статье рассмотрим как запустить свое ICO в течение 10 минут.

Я осознаю, что сейчас кому-то обломаю бизнес, но это слишком просто, чтобы брать за это деньги, имхо

0
59 комментариев
Написать комментарий...
Serg Sapov

"В следующей статье рассмотрим как запустить свое ICO в течение 10 минут". А есть уже эта самая статья об ICO или еще нет? Если есть, можно ссылку? Кстати, с токенами все просто и гениально, спасибо автору. Возможно кому-то и обломается бизнес, а, возможно, кому-то и взлетит ))))

Ответить
Развернуть ветку
Like-It Studio

сейчас бы по статьям исо запускать. оно ведь теперь даже не исо правильно называется. назовитесь исо и привет секу передайте. Сейчас грамотно называть ITO - первичное размещение токенов. Слово койн употреблять нельзя теперь, т.к. ерц20 нельзя считать койном.
Нужно провести качественную итошку - обращайтесь.
смарт контракты, сайты, юридическое сопровождение, сео, ведение сетей
рассматриваем как сотрудничество в отдельных сегментах так и "под ключ".
Скайп: ichernikov1
mail: [email protected]

Ответить
Развернуть ветку
1 комментарий
Татьяна Хмелева

Мне кажется, здесь можно несколько проще создать свой токен и контракт для ICO: https://contracts.mywish.io/dashboard/create
Ребята не только крутые разработчики, но еще и очень открытые, всегда и всем отвечают на все вопросы. Очень современный сервис.

Ответить
Развернуть ветку
Alex Gorbunov

а мне кажется, что они как раз из тех, кто берут деньги за пустяковую работу) по текущему курсу - 200$ за 5 минут работы? Действительно, очень удобно :)

Ответить
Развернуть ветку
11 комментариев
Like-It Studio

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

Разработка токенов под ключ.
смарт токена: $500
верификация в сети: $200
Скайп: ichernikov1
mail: [email protected]

Ответить
Развернуть ветку
Артём Лисовский
Автор

Вы не очень разбираетесь, к сожалению. И комментарии про ячейки об этом говорят. Лучше на авито сделайте рекламу, там тоже бесплатно. Мы помогаем людям в разы дешевле, если не бесплатно, а вы денег пытаетесь заработать глупыми комментами в духе ‘не зря же я прошу 20к’. Незрело это всё.

Ответить
Развернуть ветку
zazizama

Отличный и понятный простому человеку пост. Но я всё же застрял в самом конце на моменте: "Производим операции с нашим токеном". Можно немного поподробнее как какие операции, как производить. Заранее спасибо.

Ответить
Развернуть ветку
Артём Лисовский
Автор

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

Ответить
Развернуть ветку
zazizama

Ещё вопрос, немного не по теме, но может всё же ответите. Можно ли изменить логотип в Еtherscan?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Билл Джонс

вроде все просто, застрял "Для деплоя жмем Run, выбираем Injected Web3, выбираем Account, которым будем деплоить(он должен подгрузиться автоматически, если у вас установлен MetaMask в браузер). Вводим нужную информацию в поля(газ, value), жмем Create."
-MyEtherWallet на нем могу запустить? и на газ сколько ставить?
или только в браузер качать кошель... ссори я ваще валенок в программировании, а вообще вы пишите что "это слишком просто, чтобы брать за это деньги, имхо"
возмите с меня денег "немного"))) и сделайте плиззз. для связи https://twitter.com/Bill_Djons

Ответить
Развернуть ветку
Артём Лисовский
Автор

remix.ethereum.org

Ответить
Развернуть ветку
Артём Лисовский
Автор

по газу советую почитать методички:)

Ответить
Развернуть ветку
Fedot

не могу понять как переводить токены.. после их создания.

Ответить
Развернуть ветку
Артём Лисовский
Автор

Вызов функции transferro

Ответить
Развернуть ветку
1 комментарий
Fedot

как вызвать. есть телеграм?

Ответить
Развернуть ветку
Денис Феофанов

Такой вопрос. А если мои токены хочет приобрести другой пользователь. Как он может их купить? И могу ли я менять цену криптовалюты? Спасибо. Как создавать вроде разобрался. А с покупкой другим пользователем что то не понятно.

Ответить
Развернуть ветку
Артём Лисовский
Автор

есть функция payable, читайте документацию
но обычно это не про erc20, так как erc20 про распределение и обмен токенами внутри контракта без выхода во вне

Ответить
Развернуть ветку
3 комментария
Like-It Studio

никакой проблемы с покупкой нет.
создаете личный кабинет на yii2+node.js
подключаете денежный агрегатор и хоть налом принимайте.
потом делайте проводки в ерц20 на указанный в лк пользователем кошелек.
а принимайте что угодно.

Ответить
Развернуть ветку
2 комментария
Like-It Studio

Что касается цены криптовалюты. ЕРЦ20 это просто запись в базе данных. например, в ячейке 0x00 - хранится буква A, в ячейке 0x01 - буква B. Это просто переменные. Стоимость их - цена газа за транзакцию. Ориентировочно 1 байт - 2 цента. Это стоимость ваших токенов.
У данных этих как таковых нет цены. Цена на них зависит от спроса на вашу идею. И говорить о цене можно только при выводе на биржу.

Сколько своих токенов давать к единице эфира вы сами определяете. Фактически они никакой ценностью не обладают. Инвестор дает вам деньги, а вы этими деньгами пользуетесь, взамен вы даете ему токены что-то вроде "обещания", что он сможет эти деньги окупить в итоге при выводе на биржу или развитии проекта.

Ответить
Развернуть ветку
2 комментария
emilia white

Арём, расскажите пожалуйста, как Вы относитесь к таким платформам, как MyWish, которые позволяют не только создавать токен (что, хорошо описано в Вашей статье), но и полностью организуют его распределение, выход на биржу и прочее (фактически, помогают с ICO)?

Ответить
Развернуть ветку
Артём Лисовский
Автор

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

Ответить
Развернуть ветку
Like-It Studio

а потом когда вы сделаете продажи и залистите токены на бирже окажется там есть дыра по которой они откачают все себе и сольют

Ответить
Развернуть ветку
1 комментарий
Артём Лисовский
Автор

-

Ответить
Развернуть ветку
אליהו שייקביץ

Задеплоил контракт 3.5 дня назад. Etherscan показывает что все ок - никаких проблем не возникло и при создании контракта было 12 подтверждений в стандартном холодном кошельке Etherium. Но токены до сих пор не видны в сети как токены , видно создание самого контракта со всеми аттрибутами. Сколько примерно по времени может занять появление контракта в блокчейне? 3 дня / 5/7 итд. Насколько я понял должно быть 500 000 подтверждений транзакции прежде чем он появится. Так ли это?

Ответить
Развернуть ветку
Артём Лисовский
Автор

12 подтверждений более чем достаточно
напишите мне в телеграм, разберемся

Ответить
Развернуть ветку
1 комментарий
Мастер-класс ПОДПИШИСЬ Видео

Хуйня всё ЭТА Ваша криптовалюта, отстой. Все за ею гоняют как собаки бешеные и не понимают самого главного. Это всё развод для сельской местности. Что покупая вы платите доллары, что создать один хрен ПЛАТИТЕ и ничего не получается. У Бузовой спросите, вышло что-то с её бузкоина? Вложили её фанаты обдолбаные 190.000 $ и что дальше?!! А дальше пизда рулю.

Ответить
Развернуть ветку
Артём Лисовский
Автор

У меня подобное мнение насчет мастер-классов.

Ответить
Развернуть ветку
Vladislav Valerevich

Всем привет! Может ли кто-то скинуть руководство на русском языке по пошаговой установке мастерноды, для совсем чайников?)) Если не сложно. Заранее спасибо

Ответить
Развернуть ветку
Paul Zavadski

10 Eth надо же после каспера, а сейчас зачем ?

Ответить
Развернуть ветку
Антон Петров

GST будет памп на https://yobit.net желающие закупайтесь пока дёшево

Ответить
Развернуть ветку
Гаврило Полуботок

Как потом майнить свой токен?

Ответить
Развернуть ветку
Артём Лисовский
Автор

никак.

Ответить
Развернуть ветку
1 комментарий
Revan Serov

что тощас сломалось https://remix.ethereum.org

Ответить
Развернуть ветку
Revan Serov
Ответить
Развернуть ветку
Артём Лисовский
Автор

На чистом английском пишут 'это пре- версия компилятора, не используйте в продакшене'

Ответить
Развернуть ветку
Revan Serov

как сохранить

Ответить
Развернуть ветку
Олег Бондаренко

Кто подскажет как поменять в токене адрес контракта?

Ответить
Развернуть ветку
56 комментариев
Раскрывать всегда