Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mining Rule Engine - Sync Monitor component #628

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

coderofstuff
Copy link
Collaborator

This is the Sync Monitor component of the mining rule engine discussed in https://research.kas.pa/t/sync-monitor-mining-rule-engine/294

Concepts:

  • Sync Rate - observed_number_of_blocks_received_per_interval / expected_number_of_blocks_to_receive_per_interval

Changes:

  1. Create a new Mining Rule Engine that currently tracks the sync rate of the node
  2. Introduce the Sync Rate Rule - allow mining if the sync rate of the node is lower than the sync rate threshold and the finality point is recent, even if the node is not "nearly synced"
  3. Move all is_nearly_synced logic to the rule engine area

- monitor sync state and update anything that cares about is_sycned to
  use the updated rules
- sync rate rule: allow mining if sync rate is below threshold and
  finality point is recent
- instantiate Hub in daemon
- Reverse the dependency of flow context and MRE
- remove the async_is_nearly_synced consensus api
- add get_sink_daa_score_timestamp consensus API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant