23 lines
1.5 KiB
Markdown
23 lines
1.5 KiB
Markdown
# 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.
|