Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

3. Our Starting Point

We had a Rust crate (dc-gossip) with:

  • A UDP socket implementation
  • Ping/Pong structs that could be serialized/deserialized
  • A CrdsValue and CrdsData type definition
  • A ContactInfo struct
  • A Protocol enum with encode/decode methods

When we first ran it:

Ping sent... Pong received! ✓
PullRequest sent... ... ... nothing. ✗

Zero bytes came back after the PullRequest. The entrypoint was silently ignoring us. For weeks.