Сегодня создание приложений децентрализации (Dapps) - непростая задача. На самом деле, требуются большие знания и кривая обучения даже для тех, кто понимает основы программирования приложений в реальном мире. Так чем же отличается запуск Dapp на основе умных контрактов?

Одна из причин, по которой использование приложений, управляемых блокчейном, не стало бурным, как первоначально предполагалось, заключается в том, что сегодня для запуска Dapp требуется очень большой капитал знаний. На момент написания этой статьи я не знал ни одного массового варианта использования Dapp на основе блокчейна, который использовался бы широкой публикой. Разработка Dapp - это нишевая область, требующая специальных знаний об архитектуре Dapp на нескольких языках программирования и требующая фундаментального понимания самой базовой цепочки блоков (что не является тривиальным упражнением).

Отличная аналогия, которую заметил друг, заключается в том, что сейчас мир разработки Dapp и смарт-контрактов очень похож на дизайн веб-сайтов в 2000-х годах. Первоначальные требования к знаниям для «среднего не сверхтехнологичного человека» в то время были огромными. Скорее всего, чтобы создать веб-сайт в начале 2000-х, вам нужно было знать: HTML, CSS, JavaScript и некоторые основы серверного хостинга. Если вы хотели сделать что-нибудь необычное: вы могли использовать такую ​​платформу, как Macromedia Flash или Macromedia Dreamweaver, и, возможно, использовать набор продуктов для редактирования изображений на основе Adobe. Все для создания веб-сайта!

Теперь все кардинально изменилось - я недавно создал веб-сайт с нуля на собственном экземпляре Wordpress с помощью шаблона за один день. Самая сложная часть - это не собственно кодирование или дизайн веб-сайта, а наполнение моего веб-сайта контентом!

Мир разработки Dapp очень похож на дизайн веб-сайтов 2000-х годов. Прямо сейчас существует высокая потребность в предварительных знаниях и огромное количество трений между режимами разработки.

Цикл ажиотажа и уровень принятия

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

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

Капитал знаний, необходимый для разработки Dapp

Чтобы создать Dapp на базе смарт-контрактов Ethereum (например), вам необходимо:

  • Разберитесь в основных клиентах блокчейна (децентрализация, дезинтермедиация и распределенный реестр - т. Е. 3 D).
  • Понять основные механизмы, лежащие в основе блокчейна Ethereum и виртуальной машины Ethereum (EVM), включая концепцию функции перехода состояния Ethereum в отношении учетных записей, транзакций и переменных состояния.
  • Понять, как участники взаимодействуют в экосистеме Ethereum.
  • Понять взаимодействие внешних и контрактных аккаунтов, а также их структуру.
  • Разберитесь в структуре транзакций и сообщений.
  • Понять программирование, форму, функции, а также язык смарт-контракта на основе языка программирования более высокого уровня, такого как Solidity, понять, как учетные записи взаимодействуют со смарт-контрактами через транзакции и данные, содержащиеся в них.
  • Изучите передовой опыт разработки смарт-контрактов и убедитесь, что смарт-контракт не имеет непреднамеренной утечки или фундаментальных логических ошибок, посредством выполнения режима тестирования.
  • Изучите стек разработки Dapp, включая сервер цепочки блоков, архитектуру Dapp, API-интерфейсы и использование IDE, таких как Truffle IDE, а также создание веб-интерфейса для облегчения взаимодействия с пользователем. Обычно Dapp имеет веб-интерфейс и серверную часть блокчейна, а также код, соединяющий их.
  • И в основе всего этого лежит способность разложить проблему, для которой смарт-контракт был бы полезен, чтобы закодировать ее в переменных состояния и функциях.

Ни один из вышеперечисленных пунктов не является тривиальным для понимания. И я, вероятно, упустил много промежуточных шагов. Все дело в том, чтобы проиллюстрировать, что в настоящее время разработка Dapp отнюдь не «легкая».

Моя цель - сделать разработку Dapp понятной для «среднего не сверхтехнологичного человека» - и постепенно, в течение нескольких статей, поделиться основными моментами, связанными с созданием смарт-контрактов на основе Ethereum Dapps.

Следите за обновлениями, друзья мои!