🎯 Обновление ботов на 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
:golos.api.getContent(author,permlink,-1)
- Чтобы получить недавние 10 апвотов укажите
10
:golos.api.getContent(author,permlink,10)
- Чтобы не запрашивать список апвотов укажите
0
:golos.api.getContent(author,permlink,0)
(Точно также следует работать и с методом getActiveVotes
)
Если логика вашего скрипта подразумевает получение всего списка апвотов, допустим для проверки наличия на посте определенных апвотов, то следует использовать вызов из пример 1 и получать весь список.
Если вам нужно получить только недавние апвоты, например для отображения во фронте приложения, можно использовать пример 2. Загрузить 10 недавних вместе с прочим методом getContent и только по запросу с клиента загружать уже весь список методом getActiveVotes
Если же вашему приложению нужен только контент и нет надобности работать со списком апвотом в посте - используйте пример 3, это позволит сделать метод getContent менее требовательным, нода не будет отдавать вместе с данными поста еще и громоздкий список апвотов.
Этот подход позволяет существенно снять нагрузку с нод если вы активно работаете с контентом в приложениях.
Публичная нода api.golos.cf
В ближайшее время нода будет отключена.
Возобновление работы публичной ноды я расчитывю провести в несколько этапов:
Первая неделя без архивных данных с малым количеством нод в кластере, 2 неделя - полные ноды, все еще в малом количестве, 3 неделя - полноценный кластер с полными нодами.
- Первые несколько дней в публичной ноде будут работать обрезанные экземпляры golosd без архивных данных. Не будет возможности запросить старые данные до хардфорка, запрос же свежих данных , а также бродкаст - будут работать в штатном режиме.
- Когда будут засинхронизированы первые полные ноды ими будут заменены обрезанные ноды
- Освободившееся обрезанные ноды будут поставлены на реплей для наполнения базы и позднее подключены к остальным полным нода в кластере.
Эти неудобства обусловлены медленной синхронизацией полных нод (включены все возможные плагины и нет очистки истории).
В приоритете пользователи ботов, ботнета, бенефициаров - поэтому мощности отдаются им в первую очередь, на локальные ноды. Чтобы не оставлять пользователей без публичной ноды я добавлю к ней экземпляры golosd, которые были запущены без плагинов, просинхронизированы, а плагины включены уже после синхронизации. Таким образом синхронизация пройдет быстро, в ущерб архиву старых данных. В то же время будут запущены ноды с включенными плагинами изначально - они будут синхронизироваться около недели, после этого api.golos.cf будет уже с архивными данными, а прошлые ноды уйдут на полный реплей и еще через неделю добавлены в кластер api.golos.cf
PS
В последнее время моя активность практически незаметна на golos, это обусловлено более плотной работой с #eos, но это отнюдь не прощание с голосом, напротив, я верю, что golos в обозримом будущем присоеденится к экосистеме EOS, будь-то сайдчейн, ончейн или хотя бы позаимствует часть функционала и возможностей.
В чатах я по-прежнему доступен и оказываю поддержку, обращайтесь @chain_cf если телеграм заблокирован - в чат можно попасть со страниц https://golos.cf