multiprocess: Add bitcoin-wallet -ipcconnect option #19460

pull ryanofsky wants to merge 17 commits into bitcoin:master from ryanofsky:pr/ipc-connect changing 73 files +2379 −97
  1. ryanofsky commented at 6:53 pm on July 7, 2020: contributor

    This is a draft PR because it is based on #29409 + #10102. The non-base commits are:


    Building on #10102, this adds an -ipcconnect option to bitcoin-wallet and an -ipcbind option to bitcoin-node (both enabled by default in multiprocess builds) so bitcoin node will listen on a <datadir>/sockets/node.sock unix socket, and bitcoin-wallet will connect to it.

    The idea is that bitcoin-wallet can be extended in the future to have some online functionality. For example, there could be a bitcoin-wallet sync command that will update balances and sync latest transactions to an unloaded wallet, or a bitcoin-wallet serve subcommand that loads a wallet and serves RPC requests, or a bitcoin-wallet shell subcommand that allows running RPC methods interactively like the GUI console, or just general support for bitcoin-wallet <rpc method> <rpc params> invocations suggested #13926 (comment).

    This PR is small and doesn’t do much. The only visible change is that bitcoin-wallet now checks whether a node socket exists on startup and prints “Connected to IPC address” if it can connect it it.

    The default bitcoin-wallet connect option is -ipcconnect=auto, which connects if possible as described above, and proceeds offline if not possible. Other supported options are -noipcconnect to disable ipc, -ipcconnect to require a connection and fail if it can’t be established, and -ipcconnect=unix:<socket> to require a connection and use a custom socket path.

    These changes require multiprocess support and this PR has no effect unless bitcoin is configured with --enable-multiprocess as described in doc/multiprocess.md


    This PR is part of the process separation project.

  2. DrahtBot added the label Build system on Jul 7, 2020
  3. DrahtBot added the label Docs on Jul 7, 2020
  4. DrahtBot added the label GUI on Jul 7, 2020
  5. DrahtBot added the label P2P on Jul 7, 2020
  6. DrahtBot added the label RPC/REST/ZMQ on Jul 7, 2020
  7. DrahtBot added the label Tests on Jul 7, 2020
  8. DrahtBot added the label Utils/log/libs on Jul 7, 2020
  9. DrahtBot added the label Wallet on Jul 7, 2020
  10. DrahtBot commented at 9:07 pm on July 7, 2020: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #31260 (scripted-diff: Type-safe settings retrieval by ryanofsky)
    • #31250 (wallet: Disable creating and loading legacy wallets by achow101)
    • #30997 (build: Switch to Qt 6 by hebasto)
    • #30080 (wallet: add coin selection parameter add_excess_to_recipient_position for changeless txs with excess that would be added to fees by remyers)
    • #29409 (multiprocess: Add capnp wrapper for Chain interface by ryanofsky)
    • #27052 (test: rpc: add last block announcement time to getpeerinfo result by LarryRuane)
    • #26022 (Add util::ResultPtr class by ryanofsky)
    • #25722 (refactor: Use util::Result class for wallet loading by ryanofsky)
    • #25665 (refactor: Add util::Result failure values, multiple error and warning messages by ryanofsky)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  11. DrahtBot added the label Needs rebase on Jul 11, 2020
  12. ryanofsky force-pushed on Jul 14, 2020
  13. ryanofsky commented at 1:55 pm on July 14, 2020: contributor
    Rebased 96c4cd092ed354858dfc457fafaec766b85c6e0d -> ff67a5d4c7a4899179f43fcfec4c61ef4bd7a1eb (pr/ipc-connect.2 -> pr/ipc-connect.3, compare) on top of #10102 pr/ipc.118 fixing tool_wallet.py test https://travis-ci.org/github/bitcoin/bitcoin/jobs/705900546 https://cirrus-ci.com/build/5236734818516992 and -ipcconnect suggestion #19461 (review) Rebased ff67a5d4c7a4899179f43fcfec4c61ef4bd7a1eb -> 01618ced5266687d44c4c1608ee4b0cd16246f24 (pr/ipc-connect.3 -> pr/ipc-connect.4, compare) on top of #10102 pr/ipc.119 Rebased 01618ced5266687d44c4c1608ee4b0cd16246f24 -> 9848b221b9d506b00292b3e42f5eb2e63be184a1 (pr/ipc-connect.4 -> pr/ipc-connect.5, compare) due to conflicts with #19561 on top of #10102 pr/ipc.123 Rebased 9848b221b9d506b00292b3e42f5eb2e63be184a1 -> 46a1080bf12a5eab477d5d7d217d4e91039ec308 (pr/ipc-connect.5 -> pr/ipc-connect.6, compare) due to conflict with bitcoin-core/gui#35 on top of #10102 pr/ipc.125 Rebased 46a1080bf12a5eab477d5d7d217d4e91039ec308 -> 9d1735d3a09be71913476685d52164aac3971f28 (pr/ipc-connect.6 -> pr/ipc-connect.7, compare) due to conflict with #19099, #19619, #15454, #19725, #19993 on top of #10102 pr/ipc.131 Rebased 9d1735d3a09be71913476685d52164aac3971f28 -> 37cdd7961d35e5bb6565c18fefbcc21d0c148cf1 (pr/ipc-connect.7 -> pr/ipc-connect.8, compare) on top of #10102 pr/ipc.133 Rebased 37cdd7961d35e5bb6565c18fefbcc21d0c148cf1 -> ecbc82571a38fde2ce2bb521a029c1c3b3f21a86 (pr/ipc-connect.8 -> pr/ipc-connect.9, compare) on top of #10102 pr/ipc.134 Rebased ecbc82571a38fde2ce2bb521a029c1c3b3f21a86 -> f7f1579cac06d88803ca4735e969bca0c5c60e35 (pr/ipc-connect.9 -> pr/ipc-connect.10, compare) on top of #10102 pr/ipc.137 Rebased f7f1579cac06d88803ca4735e969bca0c5c60e35 -> 891dd70a865684fa1110104a31208f37905b81d2 (pr/ipc-connect.10 -> pr/ipc-connect.11, compare) on top of #10102 pr/ipc.138 due to conflict with #20365
  14. ryanofsky force-pushed on Jul 14, 2020
  15. DrahtBot removed the label Needs rebase on Jul 14, 2020
  16. DrahtBot added the label Needs rebase on Jul 30, 2020
  17. ryanofsky force-pushed on Aug 12, 2020
  18. DrahtBot removed the label Needs rebase on Aug 12, 2020
  19. DrahtBot added the label Needs rebase on Aug 13, 2020
  20. ryanofsky force-pushed on Aug 28, 2020
  21. DrahtBot removed the label Needs rebase on Aug 28, 2020
  22. DrahtBot added the label Needs rebase on Aug 31, 2020
  23. ajtowns removed the label Docs on Sep 17, 2020
  24. ajtowns removed the label GUI on Sep 17, 2020
  25. ajtowns removed the label P2P on Sep 17, 2020
  26. ajtowns removed the label RPC/REST/ZMQ on Sep 17, 2020
  27. ajtowns removed the label Tests on Sep 17, 2020
  28. ryanofsky force-pushed on Sep 28, 2020
  29. DrahtBot removed the label Needs rebase on Sep 28, 2020
  30. ryanofsky force-pushed on Oct 2, 2020
  31. DrahtBot added the label Needs rebase on Oct 27, 2020
  32. ryanofsky force-pushed on Nov 25, 2020
  33. DrahtBot removed the label Needs rebase on Nov 25, 2020
  34. DrahtBot added the label Needs rebase on Dec 2, 2020
  35. ryanofsky force-pushed on Dec 11, 2020
  36. DrahtBot removed the label Needs rebase on Dec 11, 2020
  37. DrahtBot added the label Needs rebase on Dec 16, 2020
  38. ryanofsky force-pushed on Dec 18, 2020
  39. DrahtBot removed the label Needs rebase on Dec 18, 2020
  40. jonasschnelli commented at 8:02 am on December 18, 2020: contributor

    Impressive change. Again!

    Conceptual I’m not yet convinced. My understanding is/was that bitcoin-wallet is an offline wallet exploring and manipulation tool without the requirement of a node or online connectivity. Things that require a node, should IMO go into wallet RPC calls. But my conceptual understanding might be old and rusty (happy to get convinced).

    Things like bitcoin-wallet shell would be nice though. I guess we would just need to make sure the IPC/node option is completely optional and thus the offline functionality (for things that can work offline) is still guaranteed.

    Or is this also an attempt to decouple the wallet from the node (in the long run)?

  41. DrahtBot added the label Needs rebase on Dec 18, 2020
  42. ryanofsky commented at 11:34 am on December 18, 2020: contributor

    My understanding is/was that bitcoin-wallet is an offline wallet exploring and manipulation tool without the requirement of a node or online connectivity.

    To address any concern here, there’s no thought of changing this. This PR gives bitcoin-wallet tool ability to do online things as well as offline things. It doesn’t require a node or take away the ability to do offline things. Even if you require separate bitcoin-wallet-online-stuff and bitcoin-wallet-offline-only binaries, it only needs build changes not code changes (a new automake entry and src/init/bitcoin-wallet-offline-only.cpp stub)


    Rebased 891dd70a865684fa1110104a31208f37905b81d2 -> a87cdf40e41b568ba71516558c915d084b878917 (pr/ipc-connect.11 -> pr/ipc-connect.12, compare) due to conflict with #20687 Rebased a87cdf40e41b568ba71516558c915d084b878917 -> bae198be312b96c6ad7b681d60139577c17e4435 (pr/ipc-connect.12 -> pr/ipc-connect.13, compare) on top of #10102 pr/ipc.140 due to #19160 updates Rebased bae198be312b96c6ad7b681d60139577c17e4435 -> e45f05658f8a37aa1cf5a3a2add638dac50f6ee1 (pr/ipc-connect.13 -> pr/ipc-connect.14, compare) on top of #10102 pr/ipc.142 due to silent conflict with #20464 (https://cirrus-ci.com/task/6558387276087296) Rebased e45f05658f8a37aa1cf5a3a2add638dac50f6ee1 -> 49b5450388c956b3d3b7cb5d484e9672da048aa4 (pr/ipc-connect.14 -> pr/ipc-connect.15, compare) on top of #10102 pr/ipc.143 due to conflict with #20715 Rebased 49b5450388c956b3d3b7cb5d484e9672da048aa4 -> 991e75e27386649f44c83da48ff0b58fefad2d3e (pr/ipc-connect.15 -> pr/ipc-connect.16, compare) on top of #10102 pr/ipc.145 with can connect / can listen cleanup Rebased 991e75e27386649f44c83da48ff0b58fefad2d3e -> b126a68bd974a57bd80eb5cc776ae5015c09392d (pr/ipc-connect.16 -> pr/ipc-connect.17, compare) on top of #10102 pr/ipc.146 Rebased b126a68bd974a57bd80eb5cc776ae5015c09392d -> 73520db5d73e53a5cf2fd52cc1223986dd4691e7 (pr/ipc-connect.17 -> pr/ipc-connect.18, compare) after #21541 to fix APK cirrus caching errors https://cirrus-ci.com/task/5270118180585472 Rebased 73520db5d73e53a5cf2fd52cc1223986dd4691e7 -> 16a0cb494c78d058a73c0775d94951d8c0dd8386 (pr/ipc-connect.18 -> pr/ipc-connect.19, compare) on top of #10102 pr/ipc.148 Rebased 16a0cb494c78d058a73c0775d94951d8c0dd8386 -> 87e231f5c01d0c542ba26a648fc3b229f8fb2c13 (pr/ipc-connect.19 -> pr/ipc-connect.20, compare) due to silent conflict with #21850 on top of #10102 pr/ipc.149 Rebased 87e231f5c01d0c542ba26a648fc3b229f8fb2c13 -> 602d47bef1f345f5ec72b2c8c2cda81c435a15dd (pr/ipc-connect.20 -> pr/ipc-connect.21, compare) on top of #10102 pr/ipc.149 after #22061 to fix #22059 Rebased 602d47bef1f345f5ec72b2c8c2cda81c435a15dd -> d3b976ba02ee7330ba615305889a9b0ebf220437 (pr/ipc-connect.21 -> pr/ipc-connect.22, compare) on top of #10102 pr/ipc.153 Rebased d3b976ba02ee7330ba615305889a9b0ebf220437 -> 69942db6341f1586ace576bb568212703ed69cee (pr/ipc-connect.22 -> pr/ipc-connect.23, compare) on top of #10102 pr/ipc.154 Rebased 69942db6341f1586ace576bb568212703ed69cee -> 977f384064f88bf56a4b6241abeb6bab0175816e (pr/ipc-connect.23 -> pr/ipc-connect.24, compare) on top of #10102 pr/ipc.158 Rebased 977f384064f88bf56a4b6241abeb6bab0175816e -> 6efe30f4583bb8cf438430be6a891c7b40d5c212 (pr/ipc-connect.24 -> pr/ipc-connect.25, compare) on top of #10102 pr/ipc.161 Rebased 6efe30f4583bb8cf438430be6a891c7b40d5c212 -> dd5bbe8cdcf79b9ea0e1262f07d50f4de1e94424 (pr/ipc-connect.25 -> pr/ipc-connect.26, compare) on top of #10102 pr/ipc.163 Rebased dd5bbe8cdcf79b9ea0e1262f07d50f4de1e94424 -> 40c88d90c0b6e78f796a715136a3a2a7dd9bd19d (pr/ipc-connect.26 -> pr/ipc-connect.27, compare) on top of #10102 pr/ipc.172 Rebased 40c88d90c0b6e78f796a715136a3a2a7dd9bd19d -> e36c0f18eaefe03e0a8de3e124c743fb3b5e59db (pr/ipc-connect.27 -> pr/ipc-connect.28, compare) on top of #10102 pr/ipc.173 Rebased e36c0f18eaefe03e0a8de3e124c743fb3b5e59db -> 78edb2eeb7afb5556f2ead1c2007b20eef08dd20 (pr/ipc-connect.28 -> pr/ipc-connect.29, compare) on top of #10102 pr/ipc.180 Rebased 78edb2eeb7afb5556f2ead1c2007b20eef08dd20 -> ca3bcd067b087c01664fb649c31e380c47e246dc (pr/ipc-connect.29 -> pr/ipc-connect.30, compare) due to conflict with #26067 Updated ca3bcd067b087c01664fb649c31e380c47e246dc -> 9195716053b919f28a5e94d9a3b5d314762f464d (pr/ipc-connect.30 -> pr/ipc-connect.31, compare) to fix strerror locale-dependent lint error Rebased 9195716053b919f28a5e94d9a3b5d314762f464d -> 940c516653297888d72e010b6cf087b3ff067795 (pr/ipc-connect.31 -> pr/ipc-connect.32, compare) on top of #10102 pr/ipc.182 to fix conflict with #25737 Rebased 940c516653297888d72e010b6cf087b3ff067795 -> 31bad7d8f6c5145b162ccf9236f39897c4fd53ce (pr/ipc-connect.32 -> pr/ipc-connect.33, compare) on top of #10102 pr to fix conflict with #26298 Rebased 31bad7d8f6c5145b162ccf9236f39897c4fd53ce -> 44c62070aa2826a65f60606cfb3370820124664b (pr/ipc-connect.33 -> pr/ipc-connect.34, compare) on top of rebased pr/ipc.185 to fix abstract virtual class silent merge conflict cirrus failure

  43. ryanofsky force-pushed on Dec 18, 2020
  44. DrahtBot removed the label Needs rebase on Dec 18, 2020
  45. DrahtBot added the label Needs rebase on Jan 7, 2021
  46. ryanofsky force-pushed on Feb 1, 2021
  47. DrahtBot removed the label Needs rebase on Feb 1, 2021
  48. ryanofsky force-pushed on Feb 4, 2021
  49. DrahtBot added the label Needs rebase on Feb 4, 2021
  50. ryanofsky force-pushed on Feb 21, 2021
  51. DrahtBot removed the label Needs rebase on Feb 21, 2021
  52. DrahtBot added the label Needs rebase on Mar 2, 2021
  53. ryanofsky force-pushed on Mar 9, 2021
  54. DrahtBot removed the label Needs rebase on Mar 9, 2021
  55. DrahtBot added the label Needs rebase on Mar 11, 2021
  56. ryanofsky force-pushed on Mar 24, 2021
  57. DrahtBot removed the label Needs rebase on Mar 25, 2021
  58. ryanofsky force-pushed on Mar 29, 2021
  59. DrahtBot added the label Needs rebase on Mar 30, 2021
  60. ryanofsky force-pushed on Apr 10, 2021
  61. DrahtBot removed the label Needs rebase on Apr 10, 2021
  62. RonSherfey changes_requested
  63. RonSherfey commented at 3:24 pm on April 11, 2021: none
    Requested changes
  64. laanwj referenced this in commit ac219dcbcc on Apr 27, 2021
  65. DrahtBot added the label Needs rebase on Apr 27, 2021
  66. ryanofsky force-pushed on May 24, 2021
  67. DrahtBot removed the label Needs rebase on May 24, 2021
  68. RonSherfey approved
  69. RonSherfey commented at 8:40 am on May 31, 2021: none
    approved changes
  70. ryanofsky force-pushed on Jun 2, 2021
  71. DrahtBot added the label Needs rebase on Jun 9, 2021
  72. ryanofsky force-pushed on Jun 17, 2021
  73. DrahtBot removed the label Needs rebase on Jun 18, 2021
  74. DrahtBot added the label Needs rebase on Jun 23, 2021
  75. ryanofsky force-pushed on Jun 23, 2021
  76. DrahtBot removed the label Needs rebase on Jun 23, 2021
  77. DrahtBot added the label Needs rebase on Jun 24, 2021
  78. ryanofsky force-pushed on Aug 18, 2021
  79. DrahtBot removed the label Needs rebase on Aug 18, 2021
  80. RonSherfey approved
  81. RonSherfey commented at 3:53 pm on August 22, 2021: none
    Approved changes
  82. DrahtBot added the label Needs rebase on Sep 24, 2021
  83. ryanofsky force-pushed on Oct 6, 2021
  84. DrahtBot removed the label Needs rebase on Oct 6, 2021
  85. DrahtBot added the label Needs rebase on Oct 15, 2021
  86. ryanofsky force-pushed on Nov 1, 2021
  87. DrahtBot removed the label Needs rebase on Nov 1, 2021
  88. DrahtBot added the label Needs rebase on Nov 10, 2021
  89. ryanofsky force-pushed on Jan 11, 2022
  90. DrahtBot removed the label Needs rebase on Jan 11, 2022
  91. DrahtBot added the label Needs rebase on Jan 11, 2022
  92. ryanofsky force-pushed on Jan 13, 2022
  93. DrahtBot removed the label Needs rebase on Jan 13, 2022
  94. DrahtBot added the label Needs rebase on Jan 31, 2022
  95. uvhw referenced this in commit 47d44ccc3e on Feb 14, 2022
  96. ryanofsky force-pushed on Sep 21, 2022
  97. ryanofsky force-pushed on Sep 21, 2022
  98. DrahtBot removed the label Needs rebase on Sep 21, 2022
  99. ryanofsky force-pushed on Sep 21, 2022
  100. DrahtBot added the label Needs rebase on Sep 25, 2022
  101. ryanofsky force-pushed on Sep 26, 2022
  102. DrahtBot removed the label Needs rebase on Sep 26, 2022
  103. DrahtBot added the label Needs rebase on Dec 6, 2022
  104. ryanofsky force-pushed on Feb 10, 2023
  105. DrahtBot removed the label Needs rebase on Feb 10, 2023
  106. ryanofsky force-pushed on Feb 10, 2023
  107. DrahtBot added the label Needs rebase on Feb 17, 2023
  108. ryanofsky force-pushed on Feb 28, 2023
  109. DrahtBot removed the label Needs rebase on Feb 28, 2023
  110. DrahtBot added the label Needs rebase on Mar 11, 2023
  111. ryanofsky force-pushed on May 2, 2023
  112. DrahtBot removed the label Needs rebase on May 2, 2023
  113. ryanofsky force-pushed on May 4, 2023
  114. DrahtBot added the label Needs rebase on May 30, 2023
  115. achow101 marked this as a draft on Sep 20, 2023
  116. Korosiua1206 approved
  117. knst referenced this in commit 84b33517e3 on Jul 13, 2024
  118. knst referenced this in commit 1c917c76f0 on Jul 15, 2024
  119. knst referenced this in commit 56dd686404 on Jul 16, 2024
  120. knst referenced this in commit 9002342f94 on Jul 23, 2024
  121. knst referenced this in commit a08b66693f on Jul 23, 2024
  122. knst referenced this in commit 040c188de2 on Jul 24, 2024
  123. knst referenced this in commit 172d9d0be4 on Jul 24, 2024
  124. ryanofsky force-pushed on Jul 26, 2024
  125. DrahtBot removed the label Needs rebase on Jul 26, 2024
  126. DrahtBot commented at 10:08 pm on July 26, 2024: contributor

    🚧 At least one of the CI tasks failed. Debug: https://github.com/bitcoin/bitcoin/runs/27980208691

    Make sure to run all tests locally, according to the documentation.

    The failure may happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  127. DrahtBot added the label CI failed on Jul 26, 2024
  128. knst referenced this in commit 3411577473 on Jul 27, 2024
  129. knst referenced this in commit a7993de34b on Aug 3, 2024
  130. knst referenced this in commit aa2d3b8164 on Aug 7, 2024
  131. hebasto added the label Needs CMake port on Aug 16, 2024
  132. DrahtBot added the label Needs rebase on Aug 28, 2024
  133. maflcko removed the label Needs CMake port on Aug 29, 2024
  134. achow101 referenced this in commit df3f63ccfa on Sep 9, 2024
  135. ryanofsky force-pushed on Sep 19, 2024
  136. DrahtBot removed the label Needs rebase on Sep 19, 2024
  137. DrahtBot added the label Needs rebase on Sep 25, 2024
  138. Add capnp serialization code for bitcoin types
    - Add capnp ToBlob, ToArray, Wrap, Serialize, and Unserialize helper functions
    - Add support for std::chrono::seconds capnp serialization
    - Add support for util::Result capnp serialization
    e7619a84bd
  139. Add capnp wrapper for Handler interface 76fd4e56c4
  140. Add capnp wrapper for Chain interface 968f14fc7a
  141. Merge remote-tracking branch 'origin/pull/29409/head' 77d96a081c
  142. test: Increase feature_block.py and feature_taproot.py timeouts
    Needed because BlockConnected notifications are a lot slower with the wallet
    running in separate process.
    1045047a73
  143. test: Fix multiprocess test for unclean shutdown on kill 878af18fee
  144. util: Add util::Result workaround to be compatible with libmultiprocess
    Make default constructor more generic so it doesn't only work with void types.
    3b6e94e078
  145. multiprocess: Add capnp serialization code for bitcoin types 05c74a2d4c
  146. multiprocess: Add capnp wrapper for Wallet interface e23ed53cf9
  147. multiprocess: Add capnp wrapper for Node interface c7c0c37f60
  148. multiprocess: Make bitcoin-gui spawn a bitcoin-node process
    Spawn node subprocess instead of running node code internally
    fd311f2af1
  149. multiprocess: Make bitcoin-node spawn a bitcoin-wallet process
    Spawn wallet subprocess instead of running wallet code internally
    9ca113f326
  150. multiprocess: Add debug.log .wallet/.gui suffixes
    Add .wallet/.gui suffixes to log files created by bitcoin-gui and
    bitcoin-wallet processes so they don't clash with bitcoin-node log file.
    c78ea785a9
  151. doc: Multiprocess misc doc and comment updates 4c4273615a
  152. combine_logs: Handle multiprocess wallet log files a295345d3c
  153. Merge remote-tracking branch 'origin/pull/10102/head' dc68dcd013
  154. multiprocess: Add bitcoin-wallet -ipcconnect option
    Add `-ipcconnect` option to `bitcoin-wallet` to allow connecting to a bitcoin
    node process over IPC.  The `bitcoin-wallet` tool doesn't really do anything with its
    connection to the node yet, but it could potentially run or serve RPCs that
    require being online.
    
    Example usage:
    
        src/bitcoin-node -regtest -debug -ipcbind=unix
        src/bitcoin-wallet -regtest -ipcconnect=unix info
    9ac7b38d94
  155. ryanofsky force-pushed on Sep 26, 2024
  156. DrahtBot removed the label Needs rebase on Sep 26, 2024

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: 2024-11-17 09:12 UTC

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