Разработка смарт-контрактов в Ethereum
Шрифт:
Протокол. Сообщество приложения должно согласовать криптографический алгоритм, чтобы показать доказательство ценности.
Например, Bitcoin использует Proof of Work (PoW), и Ethereum в настоящее время использует Proof of Work с планами гибридного Proof of Work/Proof of Stake (PoS) в будущем.
Если мы придерживаемся вышеприведенного определения, первым децентрализованным приложением был фактически сам биткойн.
Биткойн – это самоподдерживающийся публичный журнал, который позволяет эффективные транзакции без посредников и централизованных
Чтобы запустить проект децентрализованного приложения необходимо:
Создать технический документ белые страницы или белую книгу.
Ваш технический документ должен обозначить задачу, которую вы хотите решить.
Он должен четко указать намерения и цели приложения.
Опишите план распределения токенов и как вы собираетесь это делать.
Определите механизм достижения консенсуса и наймите свою команду менеджеров и разработчиков.
Будьте честны с любыми техническими трудностями, которые вы предвидите, и четко изложите свои технические требования.
Откройте дискуссию по своему плану и сформируйте сообщество.
Получите обратную связь и соответствующим образом переработайте свой план.
После того, как приложение наберет достаточный импульс, определите дату продажи токенов.
Веб-сайт продажи токенов должен иметь всю информацию, которая может понадобиться инвесторам.
Начните разработку и приветствуйте новых разработчиков.
Децентрализованное приложение нуждается в первоначальном предложении монет или Initial Coin Offering (ICO).
Появление нового приложения в сообществе blockchain называется ICO.
ICO является мероприятием по сбору средств, которое основано на продаже токенов, которые потенциально могут принести в будущем прибыль для хорошо осведомленных и смелых инвесторов.
В ICO цена токена произвольно определяется командой, запускающей приложение.
После того, как токен регистрируется на бирже, его цена затем корректируется торгами.
Конечная стоимость токена будет определяться участниками сети.
Независимо от точности оценки токена ICO, остается фактом, что сам ICO является движущим силой блокчейна.
ICO – необходимый катализатор для открытия возможностей и расширения стоимости, которую предлагает блокчейн.
Итак, что такое Dapp?
Dapp или децентрализованное приложение решает задачу, которая требует использования функций blockchain и инфраструктуры blockchain для реализации своей цели.
Как правило, у Dapp есть веб-интерфейс, а также блокчейн и код, их соединяющий.
В такой архитектуре веб-интерфейс Dapp передает внешние действия от пользователей в инфраструктуру blockchain и возвращает ответ на них.
В Эфериуме Dapp инициирует транзакции для вызова функций в смарт-контракте.
Это, в свою очередь, записывает транзакции и изменение состояния в цепочке блоков.
И внешний интерфейс Dapp может быть таким же простым, как интерфейс командной строки.
Или это может быть сложное веб-приложение или мобильное приложение.
Инструменты разработки
Embark – это платформа, которая позволяет вам легко разрабатывать и развертывать децентрализованные приложения (DApps).
С Embark вы можете автоматически развертывать смарт контракты и использовать их в вашем JS-коде.
Embark позволяет следить за изменениями в смарт контракте, и, если вы обновите контракт, Embark автоматически заново развернет смарт контракт и приложение.
EtherScripter – инструмент визуального создания смарт контрактов для Ethereum.
Truffle – это среда разработки и платформа тестирования для Ethereum.
Populus – это фреймворк разработки смарт контрактов для Ethereum.
Mist – браузер для децентрализованных веб-приложений.
Parity – быстрый и легкий клиент Ethereum, который можно использовать для доступа к децентрализованным приложениям.
Geth – клиент Ethereum, работающий из командной строки.
TestRPC – это инструмент Truffle, который позволяет одной командой развернуть приватный блокчейн с включенным RPC протоколом, десятком заранее созданных аккаунтов, работающим майнером и так далее.
Remix – самая популярная браузерная среда разработки для создания смарт контрактов.
Введение в Ethereum
В Ethereum смарт контракты – это скрипты, которые могут обрабатывать деньги.
Эти контракты соблюдаются и заверяются сторонами, которых мы называем майнерами.
Майнеры добавляют транзакцию (выполнение смарт-контракта, оплату криптовалютой и т. д.) в публичную книгу, которая называется блоком. Блоки образуют блокчейн.
За добавление транзакции майнерам нужно оплатить что-то вроде «газа», стоимость которого определяется в контракте.
Когда вы публикуете смарт-контракт или выполняете смарт-контракт, или переводите деньги на другой аккаунт, вы платите некоторый эфир, который преобразуется в газ.
«Газ» – это название специальной единицы, используемой в Эфириуме.
Эта единица измеряет, сколько работы требуется для выполнения действия или набора действий.