support running joinmarket with bitcoind 29

This commit is contained in:
Erik Arvstedt
2025-10-23 08:15:34 +02:00
parent 1c786d67c6
commit bba75b0a7f
6 changed files with 26 additions and 3 deletions
+1
View File
@@ -35,6 +35,7 @@ jobs:
- default - default
- netns - netns
- netnsRegtest - netnsRegtest
- joinmarket-bitcoind-29
needs: build_test_drivers needs: build_test_drivers
if: needs.build_test_drivers.outputs.run_scenario_tests == 'true' if: needs.build_test_drivers.outputs.run_scenario_tests == 'true'
steps: steps:
+13
View File
@@ -251,6 +251,19 @@ in {
} }
(mkIf cfg.enable { (mkIf cfg.enable {
assertions = [
{
assertion = lib.versionOlder bitcoind.package.version "30";
message = ''
Joinmarket is not compatible with bitcoind >= 30.
(https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1775)
To fix this, add the following to your config:
services.bitcoind.package = config.nix-bitcoin.pkgs.bitcoind_29;
'';
}
];
services.bitcoind = { services.bitcoind = {
enable = true; enable = true;
disablewallet = false; disablewallet = false;
+1 -1
View File
@@ -341,7 +341,7 @@ in {
services.nbxplorer.address = netns.nbxplorer.address; services.nbxplorer.address = netns.nbxplorer.address;
services.btcpayserver.address = netns.btcpayserver.address; services.btcpayserver.address = netns.btcpayserver.address;
services.joinmarket = { services.joinmarket = mkIf config.services.joinmarket.enable {
payjoinAddress = netns.joinmarket.address; payjoinAddress = netns.joinmarket.address;
messagingAddress = netns.joinmarket.address; messagingAddress = netns.joinmarket.address;
cliExec = mkCliExec "joinmarket"; cliExec = mkCliExec "joinmarket";
+2
View File
@@ -25,6 +25,8 @@ let self = {
mempool-nginx-conf; mempool-nginx-conf;
trustedcoin = pkgs.callPackage ./trustedcoin { }; trustedcoin = pkgs.callPackage ./trustedcoin { };
bitcoind_29 = pkgs.bitcoind;
pyPkgs = import ./python-packages self pkgs.python3; pyPkgs = import ./python-packages self pkgs.python3;
inherit (self.pyPkgs) inherit (self.pyPkgs)
nbPython3Packages nbPython3Packages
+1
View File
@@ -302,6 +302,7 @@ buildable=(
lndPruned lndPruned
wireguard-lndconnect wireguard-lndconnect
trustedcoin trustedcoin
joinmarket-bitcoind-29
) )
buildable() { buildTests buildable "$@"; } buildable() { buildTests buildable "$@"; }
+8 -2
View File
@@ -213,7 +213,6 @@ let
services.fulcrum.enable = true; services.fulcrum.enable = true;
services.liquidd.enable = true; services.liquidd.enable = true;
services.btcpayserver.enable = true; services.btcpayserver.enable = true;
services.joinmarket.enable = true;
services.joinmarket-ob-watcher.enable = true; services.joinmarket-ob-watcher.enable = true;
services.backups.enable = true; services.backups.enable = true;
@@ -261,7 +260,6 @@ let
services.electrs.enable = true; services.electrs.enable = true;
services.fulcrum.enable = true; services.fulcrum.enable = true;
services.btcpayserver.enable = true; services.btcpayserver.enable = true;
services.joinmarket.enable = true;
}; };
# netns and regtest, without secure-node.nix # netns and regtest, without secure-node.nix
@@ -342,6 +340,14 @@ let
plugins.trustedcoin.enable = true; plugins.trustedcoin.enable = true;
}; };
}; };
# The full regtest test with bitcoind 29 and joinmarket enabled.
# Joinmarket only supports bitcoind 29.
joinmarket-bitcoind-29 = { config, ... }: {
imports = [ scenarios.regtest ];
services.joinmarket.enable = true;
services.bitcoind.package = config.nix-bitcoin.pkgs.bitcoind_29;
};
} // (import ../dev/dev-scenarios.nix { } // (import ../dev/dev-scenarios.nix {
inherit lib scenarios; inherit lib scenarios;
}); });