📢 Обновление: Сообщества/Коллективный разум
Привет, Стимеры! Это @roadscape, участник команды Steemit и разработчик hivemind
– бэкенд-сервиса, который вскоре представит API нового поколения и Сообщества для Steem. Теперь, когда работа над проектом практически завершена, я хотел бы поделиться информацией о том, как он работает и что будет делать.
Больше, чем Сообщества
Hivemind (англ. коллективный разум), или “hive”, даст мощный заряд Сообществам на Steem, но это всего лишь один из аспектов его применения. Он создан как удобный для разработчиков слой на блокчейне Steem, предоставляющий любому желающему доступ к базе данных, содержащей всю общественную информацию блокчейна Steem без необходимости полагаться на минималистичные API основного чейна. Как и всё выпускаемое нами ПО, hive обладает полностью открытым исходным кодом. Наша цель состоит в том, чтобы все разработчики приложений на базе Steem могли использовать возможности hive, поддерживая тем самым цельность пользовательского опыта в растущей экосистеме приложений для Steem.
Hive удобен для разработчиков
В настоящее время большинство работающих на Steem приложений в качестве основы полагается исключительно на полные ноды steemd для обработки такой информации, как списки трендов, профильная информация аккаунта, репутация, комментарии, подписчики и т.д. Эта модель имеет определенные сильные стороны, благодаря которым мы продвинулись довольно далеко, но разработчики уже переросли ее и нуждаются в более мощном решении. Использование нод steemd не позволяет фронтэнд-разработчикам выполнять итерации быстро, поскольку (1) все API написаны на C++, и (2) каждое (и все вместе) изменение кода проходит тщательный процесс проверки из-за близости к критическому уровню консенсуса. Из этого становится совершенно ясно, что главные приоритеты разработчиков приложений (гибкость/простота) и разработчиков блокчейна (безопасность/стабильность) должны быть разделены.
Большая часть информации, которую хотят использовать разработчики приложений, не критична для консенсуса: она либо не принадлежит блокчейн-ноде, либо к ней не нужно обращаться непосредственно от таковой. Вместо этого мы можем хранить всю необходимую информацию в традиционной базе данных и синхронизировать ее с блокчейном, добавляя новые кастомные слои логики и функций. Именно этим и занимается hive, а поскольку он написан на Python, разработчики могут легко изменять его поведение и API и экспериментировать с ним сколько захочется.
Обеспечение высокой точности
Несмотря на то, что Hive является “неконсенсусным”, очень важно, чтобы информация, с которой он работает, оставалась точной и актуальной. Основной сложностью здесь является решение о форке: ноды заверителей автоматически обрабатывают его с помощью базы данных откатов в памяти, но для стороннего наблюдателя это не так просто. Мы могли бы полностью избежать форков, просто следуя за последним необратимым блоком, но это привело бы к задержке в 45 секунд. Вместо этого hive (по умолчанию) отстает всего на 6 секунд, что позволяет нам в большинстве случаев избежать обычных безвредных микрофорков. Они тривиальны для нод заверителей, но требуют дополнительных механизмов для правильной внешней обработки. Для тех редких случаев, когда hive встречает форк глубиной более 2 блоков, мы внедрили базовую процедуру восстановления. Самые лихие разработчики имеют возможность запустить hive с нулевой задержкой, а те, кто предпочитает играть ультра-безопасно, могут указать задержку до 5 минут (100 блоков).
Hive специализирован
Hive фокусируется на постах, взаимодействиях, общественных действиях, пользовательских операциях и производных состояниях.
- обсуждения: по блогам, популярные, горячие, созданные и т.д.
- сообщества: роли/действия мода, участники, каналы (в 1.5; spec)
- аккаунты: нормализованные данные профиля, репутация
- каналы: подписавшиеся/отписавшиеся и рестимы/анрестимы (да, анрестимы!)
Hive не отслеживает большинство блокчейн-операций. На тему кошельков, ордеров, эскроу, ключей, восстановления или истории аккаунта обращайтесь к SBDS или steemd.
Hive – это креативность
Hive можно использовать для создания новых функций. Вот некоторые примеры того, что станет возможным с hive:
- реакции, закладки
- комментарии на рестимы
- индексация данных профиля пользователей
- реорганизация старых постов (категоризация, фильтр, показать/скрыть)
- голосования/опросы (демократические или сжечь/послать, чтобы проголосовать)
- мод-списки: (например, спам, нарушение, дурновкусие)
- краудсорсинг метаданных
- индексация упоминаний
- полнотекстовый поиск
- ценная статистика
- списки подписок
- бот-трекинг
- мини-игры
- боты сообществ
- и многое другое
Я с нетерпением жду момента, когда этот огромный потенциал будет использоваться. Поэтому я потратил так много времени, чтобы убедиться в том, что всё работает как надо – ибо hive заложит фундамент для гораздо более богатого социального опыта на блокчейне Steem, неважно, предпочитаете ли вы steemit.com или любой другой сайт, который будет пользоваться этим новым открытым слоем.
Статус разработки: альфа
Hive 1.0: Ядро
Релиз 1.0 содержит MVP API, который реплицирует все соответствующие биты get_state
и get_discussions_*
, необходимые для поддержки condenser. На самом деле это довольно скучно, однако очень важно заставить steemit.com работать в связке c hive, чтобы можно было протестировать его на нагрузку, надежность и совместимость. Первоочередная задача состоит в том, чтобы взять на себя часть обязанностей steemd, создав при этом основу для API следующего поколения.
Базовый индексатор и API близки к завершению. Поскольку эта инфраструктура критически важна, мы должны обеспечить последовательность и надежность. В настоящее время работа сосредоточена на запуске производственной среды и отладке эффективности процессов. Затем мы начнем интеграцию и тестирование API. После стабилизации, condenser (на котором работает steemit.com) будет переключен на новые конечные точки hive; если все интегрировать правильно, то пользователи ничего не заметят. Это сродни модернизации двигателя самолета в полете, когда нужно убедиться, что нет никаких заминок, а все элементы управления работают исправно.
В данный момент мы анализируем результаты нашей первой переиндексации. Как вы можете видеть на представленном ниже графике, в нашем блокчейне было два больших всплеска активности. Обработка последних блоков заняла до 0,03 секунд. Может показаться, что это не очень много, но всё вместе вполне ощутимо.
Я был бы удивлен, если б узнал о существовании блокчейна с таким же обилием открытых социальных данных (дайте знать, если встречали такой). Для любителей цифр: к настоящему времени заверители Steem произвели более 20 900 000 блоков, содержащих более 285 000 000 транзакций!
Полный потенциал hive не будет раскрыт до тех пор, пока не завершится работа над новыми современными API. Мы опубликуем еще одно обновление, как только будем готовы к бета-тестам и обратной связи по API.
Hive 1.5: Сообщества
Разделавшись со сложной частью, могу сказать, что самое веселье начинается с hive 1.5. Сообщества воплотят в себе совершенно новую форму взаимодействия с блокчейном Steem, и мы очень хотим увидеть, как будет развиваться экосистема, когда пользователи получат возможность легко коллаборироваться с единомышленниками, курировать темы, представляющие общий интерес, и по-настоящему организовываться. Мы ожидаем, что блокчейн Steem станет тем самым местом для обсуждения всех и вся под солнцем.
Мы знаем, что все рады тому, что Сообщества наконец-то увидят свет, не меньше нас. Нам предстоит проделать еще некоторую работу, прежде чем всё будет готово на 100%, но мы очень близки к завершению релиза 1.0. Мы будем продолжать держать вас в курсе нашего прогресса.
Оставайтесь с нами!
@roadscape, команда Steemit
Оригинал поста: ЗДЕСЬ
Если вам нравится то, что мы делаем - поддержите witness blockchained в сети Steem
Телеграм чат: https://t.me/steemit
Вы можете торговать токенами STEEM/SBD на RuDEX
![](https://steemitimages.com/DQme823z4u64kGCsWsP9khWeUbohnB1rUx6Dji6ydTijDMi/%D0%91%D0%90%D0%9D%D0%9D%D0%95%D0%A0.png)
Ждём апдейта с нетерпением!
To listen to the audio version of this article click on the play image.
![](https://steemitimages.com/640x0/https://s18.postimg.org/51o0kpijd/play200x46.png)
Brought to you by @tts. If you find it useful please consider upvote this reply.
@rusteemitblog, жду апдейта и рад развитию платформы!))