Skip to content

Ipc extractor#3

Open
xyzconstant wants to merge 11 commits into
masterfrom
ipc-extractor
Open

Ipc extractor#3
xyzconstant wants to merge 11 commits into
masterfrom
ipc-extractor

Conversation

@xyzconstant
Copy link
Copy Markdown
Owner

No description provided.

@xyzconstant xyzconstant force-pushed the ipc-extractor branch 7 times, most recently from 3b27bd0 to 8bd94fb Compare March 17, 2026 18:23
@xyzconstant xyzconstant force-pushed the ipc-extractor branch 6 times, most recently from ba08e80 to ba32233 Compare March 27, 2026 00:39
@xyzconstant xyzconstant force-pushed the ipc-extractor branch 9 times, most recently from 1e6ea6a to 1e1546f Compare April 23, 2026 13:53
@xyzconstant xyzconstant force-pushed the ipc-extractor branch 5 times, most recently from 08a75bd to 20279f5 Compare May 5, 2026 18:14
On upstream `corepc-client` was bumped to `v0.13.0` and `corepc-node`
crate renamed to `bitcoind`. Bump rev to `8798e7f` on b10c's fork
and adjust references to `corepc_node`/`Node` in the codebase accordingly.

Cargo.lock is regenerated to satisfy `bitreq 0.3.5`.
This set the foundation for start implementing peer-observer#370.
- Add protobuf event schema BlockTip
- Extend main peer_observer_event with IPC ones
- Expose generated IPC protobuf bindings
- Extend runtime error handling for NATS publish and system-time errors
Mirror capnp files at [Core v31.0](https://github.com/bitcoin/bitcoin/tree/v31.0),
these files will be located at `extractors/ipc/capnp`
The `--ipc-socket-path` argument was previously unused. This change implements the full IPC
connection workflow by instantiating the Mining interface and performing a `getTip` query
to have a simple extraction process.

Key changes:

- Add `build.rs` to generate Rust bindings for the multiprocess schemas in `capnp/`
- Integrate bindings using `capnp::generated_code!` macro
- Implemented error handling for Capnp-specific RPC failures
- Updated `main.rs` to a single-threaded runtime since `capnp_rpc::RpcSystem` is `!Send`
- Create `ipc.rs` which encapsulates IPC communication logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant