Tendermint Networks, если некоторые узлы находятся в автономном режиме, есть ли способ получить потерянные данные для этих узлов?
Tendermint Networks, если некоторые узлы находятся в автономном режиме, есть ли способ получить потерянные данные для этих узлов?
1 ответ
Я также в настоящее время исследую Tenderming и задавался вопросом то же самое. Пока некоторые узлы остаются подключенными, перезапускающий узел должен быть в состоянии наверстать упущенное. Вы можете обратиться к этой части документации, доступной по адресу:
https://tendermint.readthedocs.io/projects/tools/en/master/app-development.html
При перезапуске приложения или приложения нужно синхронизировать их на общую высоту. Когда соединение ABCI устанавливается впервые, Tendermint вызывает Info для соединения Query. Ответ должен содержать LastBlockHeight и LastBlockAppHash - первый - это последний блок, для которого приложение успешно запустило Commit, второй - ответ от этого Commit.
Используя эту информацию, Tendermint определит, что нужно воспроизвести, если угодно, для приложения, чтобы обеспечить синхронизацию как Tendermint, так и приложения с самой последней высотой блока.
Если приложение возвращает LastBlockHeight, равное 0, Tendermint просто воспроизведет все блоки.