BTC/USD 6489.90 0.21%
ETH/USD 205.13 -0.02%
LTC/USD 52.85 -0.83%
BRENT/USD 80.00 0.90%
GOLD/USD 1225.82 25.94%
RUB/USD 65.81 0.14%
Tokyo
Moscow
New-York

Как провести ICO на Ethereum

0
Автор материала: Дмитрий Токарев

Ethereum стала самой популярной платформой для работы с блокчейном за счет смарт-контрактов. Цифровой код гарантирует прозрачность любых финансовых операций, включая проведение ICO. Этим инструментом успешно пользуется площадка KICKICO и конструктор ICO Wizard. Спустя несколько лет после первого распределения монет с помощью смарт-контрактов разработчики и организаторы вывели общий план, как провести ICO на Ethereum. Рассмотрим же, как запустить смарт-контракт для сбора средств.

Как провести ICO на Ethereum

Смарт-контракт как посредник между инвестором и организатором

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

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

Экономическая модель

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

На данном этапе возможны следующие ошибки:

  • Генерация дополнительных токенов после токенсейла.

Возможность дополнительной эмиссии токенов должна быть обоснована в сопровождающих документах. Обычно таким является White Paper.

  • Вывод средств до завершения токенсейла.

Код должен содержать время и дату, после которой становится возможным выведение средств.

  • Отсутствие кода на GitHub.

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

Как запустить ICO на Ethereum

Писать контракт должен человек, знающий язык программирования Solidity и разбирающийся в экономике проекта. Для прозрачности токенсейла код должен быть прокомментирован.

Как провести ICO на Ethereum

Естественно, на данный момент существует множество готовых шаблонов, позволяющих сэкономить на разработке. Ознакомиться с ними можно в репозитории проекта OpenZeppelin. Рабочий код (например, такой: http://telegra.ph/Razbor-smart-kontrakt-proekta-MyWish-12-24) смарт-контракта для проведения ICO включает код токена и код ICO-контракта.

Рассмотрим пошаговую инструкцию для загрузки смарт-контракта в блокчейн:

1. Установить кошелек Ethereum (подойдет Mist, Ethereum Wallet).

2. Отредактировать смарт-контракт.

В указанном выше примере необходимо изменение значений следующих адресов:

  • address constant TEAM_ADDRESS;
  • address constant BOUNTY_ADDRESS;
  • address constant PREICO_ADDRESS;
  • address constant COLD_WALLET.

Также необходимо изменить значение констант TOKEN_NAME и TOKEN_SYMBOL. Комментарии для каждого блока кода есть в примере смарт-контракта, разобравшись с которыми можно отрегулировать свой контракт.

3. На вкладке «Contract» выбрать «Deploy new contract», после чего вставить измененный ранее код.

4. В поле «Select contract to Deploy» выбрать название контракта.

5. В поле «Start block» указать номер блока, с которого начнется токенсейл. Если указать номер уже созданного блока, сбор начнется с этого же момента.

6. Поле «End block» содержит номер блока, на котором токенсейл закончится.

7. Поле «Rate» определяет количество токенов за один эфир.

8. Поле «Wallet» заполняется номером кошелька, на который поступает прибыль.

9. Нажать Deploy и выставить рекомендуемый размер газа.

Смарт-контракт для проведения ICO готов и загружен в сеть. В зависимости от параметров Start block и End block он может быть запущен в любой момент времени.

Обязательно необходимо предварительно протестировать работу контракта в тестовой сети!

Тестирование смарт-контракта в Rinkeby

Не стоит торопиться проводить запуск ICO в основной сети. Для тестирования необходимо в локальном кошельке переключиться с основной сети на сеть Rinkeby. Но как получить тестовый эфир? Для этого достаточно воспользоваться краном rinkeby. В единственном поле для ввода необходимо вставить ссылку своего поста в любой социальной сети (Facebook, Twitter), содержащую адрес кошелька в тестовой сети (он отличается от адреса основной сети), после чего нажать «Give Ether». В зависимости от количества выбранного эфира транзакция будет идти от восьми часов до трех дней.

Приступим к тестированию. Для получения адреса токена и адреса контракта ICO необходимо в разделе Latest Transactions выбрать «To: Crowdsale». В открывшемся окне под названием контракта содержится адрес ICO, а в разделе Token — адрес токена. Копируем их. Для добавления нового токена в разделе Contracts следует нажать «Watch Token» и вставить его адрес. Токен необходимо добавить в наблюдаемые.

Для проверки функционирования контракта необходимо отослать тестовый эфир на адрес ICO. Если на кошельке появятся новые токены — все работает.

Со стороны инвестора эфира наиболее удобным и защищенным личным кабинетом является интерфейс официального локального кошелька Ethereum.

Как провести ICO на Ethereum

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

Перспективы эфириума

Главным недостатком Ethereum является масштабируемость. Решение проблемы зависит от успеха внедрения протокола Plasma — аналога Lighting Network, а также перехода PoS. Другой известной проблемой стали недоработки в смарт-контрактах.

Главным конкурентом является Waves. Популярность набирают такие ICO-платформы, как BitShares, NEM, Counterparty, NXT. Если проблема масштабируемости не будет решена, Эфириум действительно может потерять часть новых клиентов. Проблема с уязвимостями контрактов будет решена за счет публикации новых стандартов ERC223 и ERC777.

Автор материала:
Изучаю информацию и делаю обзоры по практическому внедрению технологий в различных сферах экономической деятельности.
На правах рекламы Внедрение BLOCKCHAIN На правах рекламы
Комментарии