IntersectMBO / IntersectMBO/ouroboros-consensus
Add an HFC query for which upcoming slots the node will lead
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
The Node Team, under our recommendation, has so far used a `Debug*` query in order to build a CLI query that computes the node's upcoming leadership schedule. This is a non-trivial calculation with various pitfalls, and so it should instead be implemented as a proper query in the `ouroboros-consensus` code base.
The design of such a query is unfortunately related to Issue #389. In Slack discussion with architecture stakeholders, we have already decided that the ideal behavior would be for the node to only predict slots for which the answer could not change under ordinary circumstances (ie a rollback of at most `k` blocks). Thus...
This Issue is to design and implement a new `HardForkBlock` (see comment below) query that returns the list of slot numbers with their corresponding UTC times such that BOTH this node's configured leadership credentials will be elected in those slots AND ALSO the slots' UTC times and those election predicates will be correct for any extension of the node's current immutable tip---ie the query's result must not be subject to a rollback of at most `k` blocks.
This is the first query with that constraint, other than the HFC queries which already involve a non-trivial mechanism to ensure it.
Contributor guide
Assessment
This issue has not been assessed yet.