BitDevs Wiki

Source

Transcript

External Interface Discussion (Bitcoin Core Dev Tech, May 2026)

Bitcoin Core Dev Tech 2026 (notes via Bitcoin Transcripts)May 6, 2026

Added to the wiki June 17, 2026 at 06:14 PM UTC · full text archived June 17, 2026 at 06:14 PM UTC

A wide-ranging discussion of Bitcoin Core's external interfaces and their future direction: JSON-RPC (the canonical, documented interface, but with JSON overhead), REST (an unauthenticated subset that can return raw blocks and transactions), ZMQ (read-only block/transaction notifications, lightly maintained, used by Lightning implementations and mempool.space), the new high-performance IPC (Cap'n Proto over Unix sockets), and the shell -blocknotify/-walletnotify hooks.

Open questions included whether to keep ZMQ given its maintenance burden (potentially replaceable by an IPC chain-notification interface plus a shim that translates IPC notifications to ZMQ), whether to unify REST and JSON-RPC by marking methods as authentication-optional, and how to handle new endpoint requests such as Lightning developers wanting unauthenticated txospenderindex access over REST. A recurring theme was reducing duplication by moving business logic out of interface implementations and reusing the C++ src/interfaces/ classes, while exposing only stable IPC methods externally and acknowledging IPC's tradeoffs (Cap'n Proto dependency, long-lived connections, weaker tooling than curl/jq).

Appears in