IntersectMBO / IntersectMBO/ouroboros-consensus

Block forging state query functionality

Open
#1,405 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
67
Forks
43
Avg merge
5d 13h
Merged PRs (30d)
43

Description

#1402 introduces KES agent connectivity.

With this, a node process can be in some states that weren't possible previously, to wit:

- "Not a block forging node": the node isn't configured to forge any blocks, and thus doesn't do so.
- "Block forging, connected": this is the normal block forging state - the node is connected to a KES agent, holds a valid KES key, and participates in block forging.
- "Block forging, not connected": the node is not currently connected to a KES agent, but holds a valid KES key, and participates in block forging using that key.
- "No KES key": the node is connected to a KES agent, but hasn't received a KES key yet, so it cannot forge any blocks. Once the connected KES agent pushes a key, the node will start forging blocks.
- "Not connected": the node is not connected to a KES agent, and doesn't hold a valid KES key, so it cannot forge any blocks.

These states will also be evident from trace logs, but for debugging and active monitoring purposes, it may be useful to allow users to query the node for its block forging state.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing #1402 and the node's existing trace-log handling for KES agent connectivity. Identify the entry point used for user queries and how the five block-forging states can be determined. Done means users can query the node and distinguish all five states.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
blockchain
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.