Multiprocess tracking issue #28722

issue ryanofsky openend this issue on October 24, 2023
  1. ryanofsky commented at 6:22 pm on October 24, 2023: contributor

    This issue will be updated to reflect the current state of bitcoin core multiprocess support.

    PRs for review related to building & releasing:

    PRs for review related to mining:

    PRs for review related wallet & gui:

    Issues:

    PRs / issues closed:

    • #10242
    • #10295
    • #10600
    • #10244
    • #10605
    • #14636
    • #14437
    • #14711
    • #15342
    • #15373
    • #15288
    • #15531
    • #10973
    • #16839
    • #17906
    • #18278
    • #16367
    • #17999
    • #18743
    • #18587
    • #18677
    • #20494
    • #20046
    • #21035
    • #21732
    • #19160
    • #22216
    • #22214
    • #22218
    • bitcoin-core/gui#360
    • #22215
    • #22217
    • #19101
    • #22848
    • #22219
    • #23003
    • #23006
    • #23004
    • #23005
    • #23499
    • #28721
    • #28907
    • #28978
    • #28921
    • #28929
    • #30509
    • #30510
    • #31196
    • #31197
    • #30940
    • #30955
    • #31105
    • #31003
    • #31288
    • #31480
    • #31318
    • #31196
    • #31740
    • #31151
    • #31455
    • #31763
    • #31815
    • #31945
    • #31283
    • #31827
    • #31564
    • #31992
    • #31741
    • #30975
    • #31785

    Links:

  2. fanquake referenced this in commit 29c2c90362 on Nov 13, 2023
  3. fanquake referenced this in commit a238356823 on Nov 22, 2023
  4. achow101 referenced this in commit d036a86815 on Jan 2, 2024
  5. achow101 referenced this in commit 2f218c664b on Jan 23, 2024
  6. achow101 referenced this in commit 71f0f2273f on May 15, 2024
  7. achow101 referenced this in commit df3f63ccfa on Sep 9, 2024
  8. achow101 referenced this in commit 65f6e7078b on Sep 25, 2024
  9. PastaPastaPasta referenced this in commit 2786b58bf6 on Sep 27, 2024
  10. PastaPastaPasta referenced this in commit ba3378899e on Sep 27, 2024
  11. PastaPastaPasta referenced this in commit 3d589cd31e on Sep 27, 2024
  12. PastaPastaPasta referenced this in commit 6a454fb19f on Sep 28, 2024
  13. PastaPastaPasta referenced this in commit 630e767be7 on Oct 1, 2024
  14. fanquake referenced this in commit ba0a4391ff on Feb 25, 2025
  15. hebasto referenced this in commit 4c1906a500 on Mar 29, 2025
  16. fanquake referenced this in commit b2bb27f40c on Apr 11, 2025
  17. sipa commented at 5:52 pm on April 15, 2025: member

    Please let me know if this is already implemented, being discussed elsewhere, or if this is not the right place for it.

    Would it make sense to (not now, or even necessarily in the short term), make bitcoin-cli (or bitcoin rpc, with the wrapper binary) support IPC communication with bitcoin-node, which would gain an “RPC-over-IPC” service? Since IPC supports communication over a UNIX socket, and there has been discussion about what would be needed to make RPC support UNIX sockets, this seems like an easy way to achieve the same thing.

    This cannot be a replacement for the TCP/IP-based RPC functionality, as it would lack authentication control, but enable an easy, efficient, configuration-free way of executing RPC commands?

  18. ryanofsky commented at 7:21 pm on April 15, 2025: contributor

    re: #28722 (comment)

    This is an interesting idea. Another place to discuss it might be #5029, depending on what goal of the change is. There are links to different unix socket implementations in #5029, and according to #31194, supporting unix socket RPC calls is a top reason for wanting to drop the dependency on libevent (which is done in #32061).

    Probably the cleanest way to support RPCs over a unix socket would be to send JSON-RPC requests directly over the socket as discussed in the previous issues. But it would be pretty easy to implement a new IPC interface similar to the IPC mining interface which could allow bitcoin-cli or another client to make RPC method calls over the IPC socket. I could make a small PR to implement that if it would be interesting. The interface could be as simple as something like:

    0interface Rpc $Proxy.wrap("interfaces::Rpc") {
    1    callMethod [@0](/bitcoin-bitcoin/contributor/0/) (context :Proxy.Context, request :Text) -> (result :Text);
    2};
    

    if it just passes JSON requests and responses. Though probably the interface should be more structured and use separate fields for things like wallet names and user names.

    there has been discussion about what would be needed to make RPC support UNIX sockets, this seems like an easy way to achieve the same thing.

    Yes, this should be easier to implement than other approaches. The relative downsides are that it would be more internally complicated, and more awkward to write external clients for, since it would require capnproto.


ryanofsky sipa


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-04-17 06:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me