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.