Server sync... Block time in database: 1565931969, server time: 1566803493, offset: 871524

🎯 Обновление ботов на golosd 0.18.0 и golosjs 0.7.0 💡Новые обязательные параметры в методах getContent и getActiveVotes


Хардфорк 20 June 2018 12:00:00 MSK

Ебанный хардфорк

💽 Обновлены телеграм-боты для голосования:

@golosrobot @upvoterbot @upvote100bot @upvbot @uppbot @up2bot @xvotebot @votexbot @solocuratorbot @strecozabot @autoupvotebot @mapvotebot @g0fuckbot
@upvotemebot @hottabot @goldvoicebot @topocbot @betarobot 

Боты были обновлены на совместимую с завтрашним хардфорком версию и подключены к локальным нодам v0.18.0
Возможны небольшие задержки и пропуски как временная проблема до полного кеширования скриптов.

golosjs 0.7.0 - новые параметры в методах getContent и getActiveVotes

На самом деле изменений в API намного больше, о них можно прочесть тут document , я лишь опишу два самых популярных для кураторских скриптов.

Теперь в метод getContent и getActiveVotes кроме author и permlink нужно обязательно(?) передавать дополнительный числовой параметр-лимит который отвечает за список апвотов в посте. Естественно вам нужно обновить библиотеку npm i golos-js@0.7.0

Вышеупомянутые методы позволят вам увидеть сколько и какие апвоты есть на посте.

1) Чтобы получить весь список апвотов укажите -1 : golos.api.getContent(author,permlink,-1)
2) Чтобы получить недавние 10 апвотов укажите 10 : golos.api.getContent(author,permlink,10)
3) Чтобы не запрашивать список апвотов укажите 0 : golos.api.getContent(author,permlink,0)

(Точно также следует работать и с методом getActiveVotes)

Если логика вашего скрипта подразумевает получение всего списка апвотов, допустим для проверки наличия на посте определенных апвотов, то следует использовать вызов из пример 1 и получать весь список.

Если вам нужно получить только недавние апвоты, например для отображения во фронте приложения, можно использовать пример 2. Загрузить 10 недавних вместе с прочим методом getContent и только по запросу с клиента загружать уже весь список методом getActiveVotes

Если же вашему приложению нужен только контент и нет надобности работать со списком апвотом в посте - используйте пример 3, это позволит сделать метод getContent менее требовательным, нода не будет отдавать вместе с данными поста еще и громоздкий список апвотов.

Этот подход позволяет существенно снять нагрузку с нод если вы активно работаете с контентом в приложениях.

Публичная нода api.golos.cf

В ближайшее время нода будет отключена.
Возобновление работы публичной ноды я расчитывю провести в несколько этапов:

Первая неделя без архивных данных с малым количеством нод в кластере, 2 неделя - полные ноды, все еще в малом количестве, 3 неделя - полноценный кластер с полными нодами.

1) Первые несколько дней в публичной ноде будут работать обрезанные экземпляры golosd без архивных данных. Не будет возможности запросить старые данные до хардфорка, запрос же свежих данных , а также бродкаст - будут работать в штатном режиме.
2) Когда будут засинхронизированы первые полные ноды ими будут заменены обрезанные ноды
3) Освободившееся обрезанные ноды будут поставлены на реплей для наполнения базы и позднее подключены к остальным полным нода в кластере.

Эти неудобства обусловлены медленной синхронизацией полных нод (включены все возможные плагины и нет очистки истории).

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

PS

В последнее время моя активность практически незаметна на golos, это обусловлено более плотной работой с #eos, но это отнюдь не прощание с голосом, напротив, я верю, что golos в обозримом будущем присоеденится к экосистеме EOS, будь-то сайдчейн, ончейн или хотя бы позаимствует часть функционала и возможностей.

В чатах я по-прежнему доступен и оказываю поддержку, обращайтесь @chain_cf если телеграм заблокирован - в чат можно попасть со страниц https://golos.cf


Comments 5


Если до ХФ обновиться на новую версию библиотеки, все будет работать?

19.06.2018 20:07
0

Это зависит от методов которые используете, все будет работать если нода 0.18.X и библиотека 0.7.X

Если обновитесь до 0.7.X и будете взаимодействовать с нодой 0.17 - не все методы будут работать.
Примечательно, что golos-js@0.6.3 c нодой 0.18.* работает корректно и не требует в getContent лимит по active_votes

19.06.2018 20:13
0

Вик гений!

19.06.2018 20:16
0

@vik школьник снял твои апы с моих постов указаных в бенефециарах, ответь пожалуйста это нормально?

05.07.2018 22:27
0