Skip to content

add Iroh P2P transport alongside TCP listener#1306

Open
rueckwaerts wants to merge 12 commits into
romanz:masterfrom
rueckwaerts:iroh-test
Open

add Iroh P2P transport alongside TCP listener#1306
rueckwaerts wants to merge 12 commits into
romanz:masterfrom
rueckwaerts:iroh-test

Conversation

@rueckwaerts

Copy link
Copy Markdown

Adds Iroh QUIC-based P2P transport as an alternative to TCP/Tor.

What this does

  • Adds src/iroh_listener.rs — Iroh endpoint running parallel to TCP
  • Persistent secret key stored in /data/iroh_secret_key.bin
  • Node ID written to /data/iroh_node_id.txt on startup
  • ALPN protocol: electrs/electrum/0
  • Graceful handling of invalid/empty key files (regenerates instead of panic)

How to connect

Server address in Electrum: <NODE_ID>:1:i

Tested on

  • StartOS 0.4.0-beta.9 (x86_64)
  • Electrum 4.7.2 with custom Iroh transport (rueckwaerts/electrum)
  • End-to-end: wallet sync, transaction history, real-time updates

Notes

  • Uses iroh 0.35.0 (Python bindings available)
  • Upgrade to iroh 1.x planned when Python bindings are released
  • Runs parallel to existing TCP listener — no breaking changes

@romanz romanz added the iroh label Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants