Про получение данных из блокчейна после перехода на форк EOS


Здравствуйте. Около недели назад узнал, что в форке EOS не будет методов API для получения информации из блокчейна. Но зато будет возможность делать запросы к MongoDB, что позволит делать любые выборки! Это создаст большую гибкость взаимодействия с данными (профилями, постами, комментариями и пр.)

Почему от методов API решили отказаться:

Сразу скажу, что не совсем, а только для получения данных, и только крупных данных (прослушивать блоки по прежнему будет возможно).
Дело всё в том, что объёмные данные: такие, как посты, комментарии, профили пользователей и прочее, будут выгружаться в базу данных MongoDB, что позволит снизить расходы на работу DApp в сети форка.

Гораздо целесообразнее пользоваться теми возможностями, что даёт БД.

Плюс, текущие API являются ограниченными: например, получить всех новичков, как в sql базе, не получится. В случае использования запросов к специальной базе, как понимаю, станет возможно делать и это.

А как же скрипты, которые есть сейчас? Придётся ведь переписывать с нуля:

Да. Но возможно будут делать проксирование запросов в методы API, дабы можно было работать с тем, что есть сейчас. Но это не первоочередная задача. Так что советую учить язык запросов к MongoDB.
я, во всяком случае, буду это делать.

Для гуманитариев:

Аналогия тут проста:

  • Раньше вы пользовались программой-ассистентом, который понимал только ограниченный список команд;
  • А теперь вышло обновление, в котором добавили возможность составлять свои команды, а также были применена поддержка живой речи, что расширило возможности по получению данных.

А отправка данных тоже будет идти через запросы?

Нет. Здесь сохранятся методы API.
Дело всё в том, что база данных будет получать всё из блокчейна, а не блокчейн из баз данных, поэтому вариант с отправкой запросов, например, с постами напрямую в БД. ничего не даст, так как вскоре они будут удалены из-за отсутствия соответствия с другими базами и блокчейном..


Всё

Что думаете по поводу замены фиксированных методов API на запросы к базе данных? Нравится ли новый раздел "для гуманитариев"? Если да, буду делать в будущих статьях, пытаясь объяснить описываемое простыми аналогиями. Не всегда это, возможно, будет получаться хорошо, но может кому будет полезно.

P. S. Внедрение MongoDB и запросов к ней тоже является плюсом перехода на форк EOS. Так что голосуйте за делегатов, которые поддерживают переход: это развитие Голоса в позитивную сторону, это гарантировано повысит курс того токена минимум до 20 рублей.


Comments 13


@denis-skripnik и даже "слушать" блоки не сможем? только запросы в бд???

а как быстро отправив через API данные (типа сделал запись) я пойму... обратившись в бд, что запись таки сохранилась в цепочке?

20.08.2018 05:14
0

@ksantoprotein, я не знаю: спросил. Но напишу, что думаю.

и даже "слушать" блоки не сможем? только запросы в бд???

Думаю, что сможем. Написал же, что для отправки данных будут методы. Возможно и для прослушивания блоков тоже оставят.

"а как быстро отправив через API данные (типа сделал запись) я пойму... обратившись в бд, что запись таки сохранилась в цепочке?"

В зависимости от Нод, Но не думаю, что много времени займёт. Надо ждать прототипа - там, надеюсь, выяснится это. Но возможно уже есть у @goloscore ответ - жду его, потом перешлю.

20.08.2018 05:25
0

@ksantoprotein
Ответ:

"Добрый день. Оповещение о приосходящих в БЧ событиях будут работать попрежнему. Также будут JSON структурки с событиям"и.

А по скорости появления транзакций в БД не сразу поняли, о чём был вопрос - ещё не ответили.

20.08.2018 16:52
0

@denis-skripnik так ты понял, что я тебя немного "подкалывал", когда ты говорил, что "запросы" на чтение не будет?

то есть запись будет, слушать блоки - будет (тем кто хочет real-time), а уже запросы на историю выносится на БД. при этом вопрос... БД будет у каждого приложения свои же, не?

а по поводу "скорости", это видимо надо копать с нашей извечной пробелемой ирревесибл блока. условно я отправил тебе 1к токенов, как быстро я смогу понять тем или иным способом, что эти токены вошли в цепочку и дальше можно не волноваться

20.08.2018 17:09
0

"так ты понял, что я тебя немного "подкалывал", когда ты говорил, что "запросы" на чтение не будет?"

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

"БД будет у каждого приложения свои же, не?"

Да. Но ещё будет база данных, которую будут ставить делегаты блокчейна. В ей будет храниться общая инфа, типа профилей пользователей и т. д., а может профили у каждого приложения отдельно храниться будут - не знаю.
Хотя может системной БД. и не будет.

20.08.2018 17:15
0

@denis-skripnik

это гарантировано повысит курс того токена минимум до 20 рублей

а на чём основывается это заявление/предположение?

20.08.2018 07:39
0

На логике:

  • начнут делать новые приложения,
  • придут инвесторы, что в EOS вложились, и делают там проекты свои,
  • Команда новая у Голоса хорошая.
  • курс BTC станет выше, чем 6000 (предположительно 10К-20К$)
20.08.2018 12:16
0

@denis-skripnik спасибо за ответ

20.08.2018 18:07
0

Пожалуйста.

21.08.2018 02:33
0

@denis-skripnik Имхо, нода должна только валидировать и складывать данные в базу. Приложения должны работать с данными из базы. Или еще лучше будет разработать единую GraphQL схему для данных голоса и ее поддерживать. Как текущего блокчейна так и для EOS'а.

27.08.2018 15:06
0

@avral, это и хотят @goloscore сделать - чтобы данные лежали вне Ноды.

Сложность в том, что большинство разработчиков не понимают, как работать с блоками, складывать их в базу и обновлять.

Нужна лёгкая возможность, используя установщик или API-настройщик указать, какие данные складывать в базу и далее с ними работать.

К примеру, у меня есть сервис https://dpos.space. Поскольку я не знаю, как обрабатывать блоки - для меня это тёмный лес, работаю напрямую с Нодами, хотя знаю, что лучше просматривать блоки и работать с ними, так как это меньше нагрузка для Нод.

27.08.2018 17:01
0