Я занимаюсь изучением блокчейна и разработкой на нем уже некоторое время и успел запустить несколько как мобильных, так и веб-приложений на Стиим/Голос. И чем больше я вникаю и разрабатываю, тем больше вижу возможностей для будущего развития.
На данный момент опубликовано довольно много информации и постов о блокчейне Голос/Стиим и том, как он работает, отчего появляется ощущение перегруженности из-за сложности экономического и технологического аспектов развития. В этой статье я сделал попытку объяснить, что такое Голос/Стиим, с точки зрения веб-разработчика.
Традиционная структура
Если Вы веб-разработчик, Вам должно быть известно, как работают веб-сайты и приложения с их архитектурой клиентского сервера на высшем уровне.
Традиционная структура веб-разработки
Как Вы можете видеть на диаграмме сверху, в целом существует три уровня. Нижний уровень - место, где хранятся все данные в базе данных, а средний - место, где обрабатываются данные, поступающие с верхнего, а также нижнего уровней. Высший уровень - это пользовательский интерфейс, веб-сайт, мобильное приложение, веб-приложение и т.п. - то, что видит конечный пользователь.
База данных в традиционных веб-приложениях является приватной и доступ к ней по большей части возможен только из одного источника, выбранного поставщиком услуг. Такая база данных не полностью прозрачна и цензурируема, что в некоторых случаях ущемляет права пользователя. Теперь же, давайте посмотрим как могут выглядеть веб-(дата)приложения на Голос/Стиим.
Голос веб-дата (dapp) структура
Если обратить внимание, вторая диаграмма немного отличается. На нижнем уровне находится Голос распределенная база данных, которая открыта и прозрачна. Компании, использующие эту базу, будут иметь свою собственную частную базу данных. Эта частная часть базы данных по большей части используется для обеспечения приватности пользователя и некоторых внутренних операций. И хотя некоторые могут отказаться от ее использования и хранить всё прямо в блокчейне Голос, это немасштабируемо в долгосрочной перспективе и непомерно раздувает блокчейн без особой необходимости, так как большая часть этих данных - временная (не постоянная).
Средний уровень - место, где промежуточные библиотеки взаимодействуют с блокчейном Голос. Точно так же, как это происходит в традиционной веб-разработке. Используется для обработки входящих и исходящих данных для повышения производительности.
Верхний уровень - это, как и обычно то, что видит конечный пользователь, как и здесь, на Golos.io/eSteem. Это фронт-энды, которые дают пользователю легкость использования и взаимодействия с блокчейном Голос. Существует более инструментов/сервисов, которые обрабатывают базу данных Голос самым разным образом и дают возможность строить Голос веб-дата-приложения.
Различия не столь велики, если Вы веб-разработчик, вы должны быть в состоянии быстро освоиться и начать создавать веб-дата-приложения (dapp).
Чтобы создавать веб-дата-приложения, Вы можете использовать множество библиотек Piston Steem, Golosjs, Golos.js, которые соединяются с Вашей блокчейн-нодой и вызывает/отправляет данные. Так что Вы можете просто включить такую библиотеку в известный Вам фреймворк, вроде angularjs, reactjs и т.п. и начать строить.
Репутация, быстрое время блока (3 секунды), специальные операции, внутренний рынок, социальные функции, история аккаунта - многие из этих функций могут быть использованы для постройки массы разнообразных дата-приложений.
Осталось еще много деталей работы внутренних механизмов блокчейна, о которых я не рассказал в этом посте. Надеюсь, эта статья даст Вам общую идею относительно того, что такое Голос и как он может быть использован для создания децентрализованных веб и мобильных приложений.
Я планирую написать еще больше постов/туториалов по разработке дата-приложений на Голос в этом году. Я буду также портирование приложений, таких как Steem Monitor, SteemPoll, eSteem и, конечно, новые приложения на базе Голос. В понедельник, обратите внимание на анонса eSteem, который будет иметь интеграции Голос и ряд уникальных функций.
Подпишитесь на меня - @good-karma! Спасибо за вклад в развитие несравненного сообщества разработчиков Голос @chainsquad, @someguy123, @ontofractal и Стиим @xeroc, @fabien, @furion, @roelandp и другим, еще не показавшим себя!
Пожалуйста, оставляйте свои комментарии, мнения и вопросы внизу. Спасибо за чтение!
Читайте также:
Чтобы во всех деталях рассмотреть, как работает Голос, можете прочесть Голос white paper.
Интерактивный Steem API explorer, попробуйте API из Steem, который похож на Голосе, буду портировать это приложение к Голосе тоже.
Помощь с переводом @rusteemitblog, Спасибо ребята!
А я вижу нашу историю с четыремя квадратиками. БД разделяю на БД и кэш, т.к. в нашем случае традиционные БД выступают своеобразным кэшем с удобным инструментарием для запросов. Вот приблизительно так:
Что скажешь?
да, это было бы более подробно... :) в общем, кэш / традиционных баз данных и распределенных баз данных блокчейн похожи, и наша цель состоит в том, чтобы убедить больше разработчиков, что они не так уж различны. Я думаю, что со временем мы будем видеть блокчейн используются чаще, чем в традиционных базах данных, но некоторые данные не предполагают, чтобы быть сохранены навсегда, как блокчейн данных.
Ага! Убедить это да... А то прикинь ты всю жизнь жил и думал что работаешь с БД, а потом оказалось, что это не БД, а просто кэш :-)
Это точно, как GolosSQL и SteemSQL работают!