igneum/docs/plans/node-changes.md

1.5 KiB

Node changes filed by the app work (for the devnet-v4 worktree owner)

Filed 4 October 2026 from the Igneum Miner app. The app does not patch the node.

1. One clear clock-skew line (from PC 2's first install)

A node whose clock is 60 s slow connects, refuses every relayed block with HandleRelayInvsFlow flow error: the block timestamp is too far into the future: block timestamp is X but maximum timestamp allowed is Y (one WARN per block, two millisecond numbers) and processes nothing. A person reading the log cannot tell that the clock is the cause.

Wanted: in the relay flow, when a header is refused for being ahead of the local clock, keep a running median of (header timestamp minus local now) over the refused headers of the last minute and log ONCE per minute at WARN:

clock skew: local time is N s behind the median peer block time (blocks are being refused; set the clock)

and the mirror case (own templates refused by peers as too old, or peers' headers far in the past while the DAA window is empty): clock skew: local time is N s ahead of the median peer block time. Also worth exposing in getBlockDagInfo (or a new RPC field) so launchers and the app can read it without parsing logs.

Where: vendor/igneum-node-v4, protocol/flows/src/v10/blockrelay/flow.rs (the relay error path) and consensus/core/src/errors/block.rs (the error text). The app's current reading of the error line is in app/igneum-app/src/engine.rs (node_line, behind_from_warning) and will keep working after the change.