You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should explicitly enforce abosulte timestamps (the UTC timezone) in our code when handling timestamps used in networking protocols like discv4 and RLPx, as required by the devp2p specifications:
"The expiration field is an absolute UNIX timestamp. Packets containing a timestamp that lies in the past are expired and may not be processed."
In discv4 (reference here), our implementation was incorrectly treating messages as expired because the server's timestamp was offset by +3 hours. This caused our node to reject valid messages and prevented us from initiating RLPx connections.
We should explicitly enforce abosulte timestamps (the UTC timezone) in our code when handling timestamps used in networking protocols like discv4 and RLPx, as required by the devp2p specifications:
In discv4 (reference here), our implementation was incorrectly treating messages as expired because the server's timestamp was offset by +3 hours. This caused our node to reject valid messages and prevented us from initiating RLPx connections.
This lib appears to be the standard for dates in rust: https://docs.rs/chrono/latest/chrono/struct.Utc.html
For now, make sure your machine is synchronized with UTC time.
The text was updated successfully, but these errors were encountered: