DApps для веб-разработчиков. Спикер: Александр Степанченко
Лекция ориентирована на веб-разработчиков и кроме теоретической части, включает практическую часть - наглядную демонстрацию возможностей технологий DApps.
Начнем с теории:
Концепция DApps на данном этапе находится в зачаточном состоянии и только начинает развиваться. Подобные приложения - это реализованные решения на Блокчейн, подобно смарт-контрактам, только с более расширенными функциями и возможностями.
Каким образом происходит взаимодействие:
В виде облачка изображена сеть Ethereum - сеть, состоящая из нод, которые общаются между собой, обмениваются информацией, исполняя записанный в смарт-контракты код.
Схема иллюстрирует способ взаимодействия с самой сетью Ethereum:
Библиотека Web3.js от Ethereum коммьюнити предназначена для взаимодействия с сетью и работает она следующим образом: необходимо подключить данную библиотеку, копировать код из документации и подключится к ноде Ethereum.
По сути библиотека Web3.js - это обертка для отправки AJAX запросов к ноде, которая подключена к сети Ethereum, в данном случае это нода Geth.
Пример запроса библиотеки Web3.js:
Картинка демонстрирует одинаковый запрос в нескольких исполнениях: в первом случае с консоли Curl, во втором - JavaScript c помощью Web3.js.
Проанализировав и обобщив данную информацию возникает закономерный вопрос - где же децентрализация? Если есть сервер с Geth клиентом к которому подключается браузер, а к браузеру весь доступ осуществляется через данного клиента.
На сегодняшний день решить проблему можно следующим способом: установить ноду Desktop пользователю и делать уже не веб-приложение, а приложение с использованием Electron. Это значит, что для веб-разработчиков, которые хотят создать полностью децентрализованное приложение, сейчас единственный вариант - делать DesktopApp приложение (например с помощью Electron), внутри которого на Node JS сервере поднимать ноду IPFS или Ethereum.
Еще одно интересное решение реализации взаимодействия клиентов с децентрализованной сетью нод:
Из схемы видно: существует несколько нод, информация из них по запросу кэшируется, может даже на секунды, и клиенты уже работают с кэшем через балансеры.
Рассмотрев основные теоретические аспекты темы, перейдем к практической части:
В видео-ролике данная часть начинается с 13:53