Add ADR-011 documenting RLPx protocol deviations and bootstrap challenges; enhance logging for decompression errors and handle protocol deviations in message decoding
Home /
Input Output /
mantis
Oct 30, 11-12 PM (2)
Oct 30, 12-1 PM (2)
Oct 30, 1-2 PM (1)
Oct 30, 2-3 PM (1)
Oct 30, 3-4 PM (1)
Oct 30, 4-5 PM (3)
Oct 30, 5-6 PM (9)
Oct 30, 6-7 PM (1)
Oct 30, 7-8 PM (4)
Oct 30, 8-9 PM (4)
Oct 30, 9-10 PM (0)
Oct 30, 10-11 PM (3)
Oct 30, 11-12 AM (5)
Oct 31, 12-1 AM (9)
Oct 31, 1-2 AM (8)
Oct 31, 2-3 AM (7)
Oct 31, 3-4 AM (8)
Oct 31, 4-5 AM (1)
Oct 31, 5-6 AM (0)
Oct 31, 6-7 AM (0)
Oct 31, 7-8 AM (0)
Oct 31, 8-9 AM (0)
Oct 31, 9-10 AM (0)
Oct 31, 10-11 AM (4)
Oct 31, 11-12 PM (4)
Oct 31, 12-1 PM (4)
Oct 31, 1-2 PM (1)
Oct 31, 2-3 PM (9)
Oct 31, 3-4 PM (2)
Oct 31, 4-5 PM (0)
Oct 31, 5-6 PM (10)
Oct 31, 6-7 PM (3)
Oct 31, 7-8 PM (1)
Oct 31, 8-9 PM (1)
Oct 31, 9-10 PM (5)
Oct 31, 10-11 PM (2)
Oct 31, 11-12 AM (4)
Nov 01, 12-1 AM (1)
Nov 01, 1-2 AM (1)
Nov 01, 2-3 AM (2)
Nov 01, 3-4 AM (3)
Nov 01, 4-5 AM (0)
Nov 01, 5-6 AM (0)
Nov 01, 6-7 AM (0)
Nov 01, 7-8 AM (0)
Nov 01, 8-9 AM (0)
Nov 01, 9-10 AM (0)
Nov 01, 10-11 AM (0)
Nov 01, 11-12 PM (2)
Nov 01, 12-1 PM (6)
Nov 01, 1-2 PM (11)
Nov 01, 2-3 PM (6)
Nov 01, 3-4 PM (2)
Nov 01, 4-5 PM (4)
Nov 01, 5-6 PM (4)
Nov 01, 6-7 PM (4)
Nov 01, 7-8 PM (4)
Nov 01, 8-9 PM (4)
Nov 01, 9-10 PM (2)
Nov 01, 10-11 PM (3)
Nov 01, 11-12 AM (7)
Nov 02, 12-1 AM (16)
Nov 02, 1-2 AM (13)
Nov 02, 2-3 AM (8)
Nov 02, 3-4 AM (4)
Nov 02, 4-5 AM (3)
Nov 02, 5-6 AM (0)
Nov 02, 6-7 AM (0)
Nov 02, 7-8 AM (0)
Nov 02, 8-9 AM (0)
Nov 02, 9-10 AM (0)
Nov 02, 10-11 AM (2)
Nov 02, 11-12 PM (2)
Nov 02, 12-1 PM (4)
Nov 02, 1-2 PM (4)
Nov 02, 2-3 PM (4)
Nov 02, 3-4 PM (3)
Nov 02, 4-5 PM (3)
Nov 02, 5-6 PM (6)
Nov 02, 6-7 PM (2)
Nov 02, 7-8 PM (1)
Nov 02, 8-9 PM (4)
Nov 02, 9-10 PM (0)
Nov 02, 10-11 PM (10)
Nov 02, 11-12 AM (4)
Nov 03, 12-1 AM (7)
Nov 03, 1-2 AM (21)
Nov 03, 2-3 AM (5)
Nov 03, 3-4 AM (6)
Nov 03, 4-5 AM (11)
Nov 03, 5-6 AM (0)
Nov 03, 6-7 AM (0)
Nov 03, 7-8 AM (0)
Nov 03, 8-9 AM (0)
Nov 03, 9-10 AM (0)
Nov 03, 10-11 AM (0)
Nov 03, 11-12 PM (4)
Nov 03, 12-1 PM (3)
Nov 03, 1-2 PM (3)
Nov 03, 2-3 PM (1)
Nov 03, 3-4 PM (2)
Nov 03, 4-5 PM (7)
Nov 03, 5-6 PM (4)
Nov 03, 6-7 PM (3)
Nov 03, 7-8 PM (2)
Nov 03, 8-9 PM (0)
Nov 03, 9-10 PM (0)
Nov 03, 10-11 PM (2)
Nov 03, 11-12 AM (4)
Nov 04, 12-1 AM (14)
Nov 04, 1-2 AM (9)
Nov 04, 2-3 AM (18)
Nov 04, 3-4 AM (13)
Nov 04, 4-5 AM (4)
Nov 04, 5-6 AM (0)
Nov 04, 6-7 AM (0)
Nov 04, 7-8 AM (0)
Nov 04, 8-9 AM (0)
Nov 04, 9-10 AM (0)
Nov 04, 10-11 AM (0)
Nov 04, 11-12 PM (7)
Nov 04, 12-1 PM (5)
Nov 04, 1-2 PM (8)
Nov 04, 2-3 PM (10)
Nov 04, 3-4 PM (2)
Nov 04, 4-5 PM (0)
Nov 04, 5-6 PM (1)
Nov 04, 6-7 PM (0)
Nov 04, 7-8 PM (0)
Nov 04, 8-9 PM (0)
Nov 04, 9-10 PM (1)
Nov 04, 10-11 PM (0)
Nov 04, 11-12 AM (1)
Nov 05, 12-1 AM (0)
Nov 05, 1-2 AM (3)
Nov 05, 2-3 AM (5)
Nov 05, 3-4 AM (3)
Nov 05, 4-5 AM (1)
Nov 05, 5-6 AM (5)
Nov 05, 6-7 AM (4)
Nov 05, 7-8 AM (0)
Nov 05, 8-9 AM (0)
Nov 05, 9-10 AM (0)
Nov 05, 10-11 AM (0)
Nov 05, 11-12 PM (2)
Nov 05, 12-1 PM (3)
Nov 05, 1-2 PM (0)
Nov 05, 2-3 PM (1)
Nov 05, 3-4 PM (0)
Nov 05, 4-5 PM (0)
Nov 05, 5-6 PM (0)
Nov 05, 6-7 PM (1)
Nov 05, 7-8 PM (1)
Nov 05, 8-9 PM (1)
Nov 05, 9-10 PM (0)
Nov 05, 10-11 PM (0)
Nov 05, 11-12 AM (0)
Nov 06, 12-1 AM (0)
Nov 06, 1-2 AM (1)
Nov 06, 2-3 AM (0)
Nov 06, 3-4 AM (0)
Nov 06, 4-5 AM (0)
Nov 06, 5-6 AM (0)
Nov 06, 6-7 AM (0)
Nov 06, 7-8 AM (0)
Nov 06, 8-9 AM (0)
Nov 06, 9-10 AM (0)
Nov 06, 10-11 AM (0)
Nov 06, 11-12 PM (0)
485 commits this week
Oct 30, 2025
-
Nov 06, 2025
Merge pull request #311 from chippr-robotics/copilot/fix-io-tcp-message-delivery
Fix dead letters from RLPxConnectionHandler to terminated TCP selectors
Fix MessageCodecSpec test by swapping codec version arguments and adjusting test expectations
The test was failing because: 1. MessageCodec constructor arguments were swapped - each codec was getting its own version instead of the peer's version 2. Test used v4 for local when P2pVersion threshold was changed from 5 to 4, causing both sides to compress Fixed by: - Swapping version arguments so each codec gets the remote peer's version - Changing negotiatedLocalP2PVersion from 4 to 3 in the failing test - Updating test comment for clarity Co-authored-by: realcodywburns <[email protected]>
modified: src/main/scala/com/chipprbots/ethereum/network/handshaker/EtcHelloExchangeState.scala
modified: src/main/scala/com/chipprbots/ethereum/network/rlpx/MessageCodec.scala modified: src/main/scala/com/chipprbots/ethereum/network/rlpx/RLPxConnectionHandler.scala
Add Ack handling for auth handshake Write messages to prevent dead letters
Co-authored-by: realcodywburns <[email protected]>
Change handleConnectionTerminated from def to val for efficiency
Co-authored-by: realcodywburns <[email protected]>
Add connection actor watching to prevent dead letters
Co-authored-by: realcodywburns <[email protected]>
Merge pull request #309 from chippr-robotics/copilot/fix-urlstreamhandlerfactory-failure
Fix JupnP URLStreamHandlerFactory conflict preventing node startup
Apply scalafmt formatting to ensure code style consistency
Co-authored-by: realcodywburns <[email protected]>
Apply code review feedback: improve charset handling, error handling, and remove unnecessary null check
Co-authored-by: realcodywburns <[email protected]>
Add ADR-010 documenting Apache HttpClient transport decision for JupnP
Co-authored-by: realcodywburns <[email protected]>
Address code review feedback: configure HttpClient timeouts, reduce duplication, handle charset properly
Co-authored-by: realcodywburns <[email protected]>
Implement Apache HttpClient-based UPnP transport to fix URLStreamHandlerFactory issue
Co-authored-by: realcodywburns <[email protected]>
Merge pull request #307 from chippr-robotics/copilot/fix-no-peer-connections
Fix ETH68 peer disconnect - incorrect message decoder order
Document ETH68 peer connection fix in CHANGELOG and known-issues
- Added Issue 14 to known-issues.md with comprehensive documentation - Updated CHANGELOG.md with critical bugfix entry - Updated known-issues table of contents and last updated date - Added references to Ethereum devp2p specification Co-authored-by: realcodywburns <[email protected]>
Fix ETH68 peer disconnect issue - correct message decoder order
The root cause was in RLPxConnectionHandler.ethMessageCodecFactory where the message decoder chain was ordered incorrectly. Network protocol messages (Hello, Disconnect, Ping, Pong) are part of the base RLPx protocol and must be decoded before capability-specific messages. When ETH68 peers sent Disconnect messages (code 0x01), the ETH68 decoder tried first and failed with "Unknown eth/68 message type: 1", then the NetworkMessageDecoder would fail to decode properly. This caused the connection to be terminated, resulting in zero stable peer connections. Changed decoder chain from: EthereumMessageDecoder.ethMessageDecoder(negotiated).orElse(NetworkMessageDecoder) to: NetworkMessageDecoder.orElse(EthereumMessageDecoder.ethMessageDecoder(negotiated)) This aligns with the Ethereum devp2p specification and matches the test suite. Co-authored-by: realcodywburns <[email protected]>
Merge pull request #303 from chippr-robotics/copilot/fix-network-sync-errors
Fix NumberFormatException crash during network sync from empty RLP byte arrays
Move ByteUtils import to file-level in SignedTransaction.scala
Co-authored-by: realcodywburns <[email protected]>
Update test data to use 'fukuii' instead of 'mantis' in MessageDecodersSpec
Co-authored-by: realcodywburns <[email protected]>
Fix BigInt conversion in WireProtocol Hello and Disconnect messages
Co-authored-by: realcodywburns <[email protected]>
Merge branch 'develop' into copilot/fix-network-sync-errors
Merge pull request #304 from chippr-robotics/copilot/improve-console-ux
Disable TUI by default per maintainer request