diff --git a/core/archipelago/src/api/rpc/package/dependencies.rs b/core/archipelago/src/api/rpc/package/dependencies.rs index 4b8668ee..5882d3e0 100644 --- a/core/archipelago/src/api/rpc/package/dependencies.rs +++ b/core/archipelago/src/api/rpc/package/dependencies.rs @@ -70,10 +70,10 @@ pub(super) fn check_install_deps(package_id: &str, deps: &RunningDeps) -> Result missing.join(" and ") )) } - "fedimint" if !deps.has_bitcoin => Err(anyhow::anyhow!( - "Fedimint requires a running Bitcoin node (Bitcoin Knots). \ - Please install and start Bitcoin Knots first." - )), + "fedimint" if !deps.has_bitcoin => { + info!("Fedimint installing without local Bitcoin node — configure remote Bitcoin RPC in Fedimint guardian setup"); + Ok(()) + } _ => Ok(()), } } @@ -185,6 +185,12 @@ pub(super) fn configure_fedimint_lnd( && std::path::Path::new(lnd_macaroon).exists() { info!("LND detected with credentials — configuring gateway in lnd mode"); + + // Read bcrypt hash from secrets file, fall back to default + let fedi_hash = std::fs::read_to_string("/var/lib/archipelago/secrets/fedimint-gateway-hash") + .map(|s| s.trim().to_string()) + .unwrap_or_else(|_| "$2y$10$t9YjjxkiktrlYvjajB/zgOMDnSNVg4HqrbDqh47u7Jf42whNdxNqC".to_string()); + ports.retain(|p| p != "9737:9737"); volumes.push(format!("{}:/lnd/tls.cert:ro", lnd_cert)); volumes.push(format!("{}:/lnd/admin.macaroon:ro", lnd_macaroon)); @@ -195,7 +201,7 @@ pub(super) fn configure_fedimint_lnd( "--listen".to_string(), "0.0.0.0:8176".to_string(), "--bcrypt-password-hash".to_string(), - "$2y$10$t9YjjxkiktrlYvjajB/zgOMDnSNVg4HqrbDqh47u7Jf42whNdxNqC".to_string(), + fedi_hash, "--network".to_string(), "bitcoin".to_string(), "--bitcoind-url".to_string(),