Вопрос по set-block-applied-callback


Есть вопрос к разработчикам и делегатам, по логам публичных API-нод вижу очень многие так и продолжают использовать get_block и get_ops_in_block для мониторинга/накопления всех новых блоков.

Подскажите, чем вызвано нежелание использовать подписку на новые блоки с помощью set_block_applied_callback, преимущества которого ранее подробно описывал @vik в этом посте. Что должно быть удобно и разработчику и снижает нагрузку на ноды.

С версией 0.18.4 в вызов метода set_block_applied_callback добавлен настраиваемый параметр type, принимающий четыре значения. В зависимости от задаваемого значения этого параметра, пользователь может получать следующую информацию о блоке:
— подписанный блок;
— заголовок блока;
— виртуальные операции блока;
— подписанный блок и виртуальные операции.

Здесь подробнее - https://wiki.golos.id/developers/hardforks/sf18.4_release

Пример получения данных, отсюда


golos.config.set('websocket', 'ws://127.0.0.1:8091');
golos.api.send("database_api", {"method": "set_block_applied_callback", "params":["full"]},
    function (err, result) {
document.body.innerHTML += '<pre>' + JSON.stringify(result, null, 2) + "</pre>";
});

Comments 3


@t3ran13 ответил в чате:

подписка не отдает неизменяемые блоки, например) просто последние. опять же, с токетами работать сложнее чем с тем же хттп. для обработки подписки нужен луп - а это как правило утечки памяти и контроль процессов. с запросами проще - добавил в крон и забыл)
на вскидку написал

Может пригодится для обсуждения и других мнений.

25.04.2020 19:52
0

@ksantoprotein ответил в чате:

алгоритм ботов идет по принципу step-by-step а так как мои боты чаще всего кроссплатформенные то вылететь из обоймы могут спокойно и уходят на перезагрузку. при этом в стейте бота остается номер последнего блока и происходит догон до нужного места.. собственно так же "слушаются" блоки даже в телеграме и в ВК.

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

25.04.2020 20:26
0

Кто написал под старую схему, без особого стимула на каллбэки не будет переписывать. Да и там приезжает head block, а если нужен irreversible, то без постоянных опросов global properties не обойтись.

26.04.2020 06:23
0