From f4358848dfcd369a91f6d44b53bb71ade508d7be Mon Sep 17 00:00:00 2001 From: svatantrya Date: Tue, 17 Mar 2026 21:01:59 -0400 Subject: [PATCH] zmqhashblock per network --- bal-pusher.sh | 2 +- bal-server.sh | 2 +- src/bin/bal-pusher.rs | 29 ++++++++++++++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/bal-pusher.sh b/bal-pusher.sh index b1169ca..3003164 100644 --- a/bal-pusher.sh +++ b/bal-pusher.sh @@ -6,7 +6,7 @@ export BAL_PUSHER_DB_FILE="$(pwd)/bal.db" #export BAL_PUSHER_TESTNET_COOKIE_FILE=/~/.bitcoin/testnet3/.cookie #export BAL_PUSHER_SIGNET_COOKIE_FILE=/~/.bitcoin/signet/.cookie -export BAL_PUSHER_ZMQ_LISTENER=tcp://127.0.0.1:28332 +export BAL_PUSHER_REGTEST_ZMQ_HASHBLOCK=tcp://127.0.0.1:21332 export BAL_PUSHER_SEND_STATS=true export WELIST_SERVER_URL=http://localhost:8085 export BAL_SERVER_URL="http://127.0.0.1:9133" diff --git a/bal-server.sh b/bal-server.sh index bf535cb..e2fb2ff 100644 --- a/bal-server.sh +++ b/bal-server.sh @@ -17,7 +17,7 @@ export BAL_SERVER_EXPOSE_STATS=true; #export BAL_SERVER_BITCOIN_FIXED_FEE=50000 export BAL_SERVER_REGTEST_ADDRESS="vpub5UhLrYG1qQjnJhvJgBdqgpznyH11mxW9hwBYxf3KhfdjiupCFPUVDvgwpeZ9Wj5YUJXjKjXjy7DSbJNBW1sXbKwARiaphm1UjHYy3mKvTG4" -export BAL_SERVER_REGTEST_FEE=5000 +export BAL_SERVER_REGTEST_FIXED_FEE=1000 #export BAL_SERVER_TESTNET_ADDRESS= #export BAL_SERVER_TESTNET_FEE=100000 #export BAL_SERVER_SIGNET_ADDRESS= diff --git a/src/bin/bal-pusher.rs b/src/bin/bal-pusher.rs index f41728c..931df95 100644 --- a/src/bin/bal-pusher.rs +++ b/src/bin/bal-pusher.rs @@ -38,6 +38,7 @@ struct MyConfig { bitcoin_dir: String, regtest: NetworkParams, testnet: NetworkParams, + testnet4: NetworkParams, signet: NetworkParams, mainnet: NetworkParams, send_stats: bool, @@ -54,6 +55,7 @@ impl Default for MyConfig { bitcoin_dir: env::var("BAL_PUSHER_BITCOIN_DIR").unwrap_or("".to_string()), regtest: get_network_params_default(Network::Regtest), testnet: get_network_params_default(Network::Testnet), + testnet4: get_network_params_default(Network::Testnet4), signet: get_network_params_default(Network::Signet), mainnet: get_network_params_default(Network::Bitcoin), send_stats: env::var("BAL_PUSHER_SEND_STATS") @@ -75,10 +77,12 @@ struct NetworkParams { cookie_file: String, rpc_user: String, rpc_pass: String, + zmq_listener:String } fn get_network_params(cfg: &MyConfig, network: Network) -> &NetworkParams { match network { Network::Testnet => &cfg.testnet, + Network::Testnet4 => &cfg.testnet4, Network::Signet => &cfg.signet, Network::Regtest => &cfg.regtest, _ => &cfg.mainnet, @@ -94,6 +98,17 @@ fn get_network_params_default(network: Network) -> NetworkParams { cookie_file: "".to_string(), rpc_user: "".to_string(), rpc_pass: "".to_string(), + zmq_listener: "tcp://127.0.0.1:23332".to_string(), + }, + Network::Testnet4 => NetworkParams { + host: "http://i27.0.0.1".to_string(), + port: 18332, + dir_path: "testnet4/".to_string(), + db_field: "testnet4".to_string(), + cookie_file: "".to_string(), + rpc_user: "".to_string(), + rpc_pass: "".to_string(), + zmq_listener: "tcp://127.0.0.1:24332".to_string(), }, Network::Signet => NetworkParams { host: "http://127.0.0.1".to_string(), @@ -103,6 +118,7 @@ fn get_network_params_default(network: Network) -> NetworkParams { cookie_file: "".to_string(), rpc_user: "".to_string(), rpc_pass: "".to_string(), + zmq_listener: "tcp://127.0.0.1:22332".to_string(), }, Network::Regtest => NetworkParams { host: "http://127.0.0.1".to_string(), @@ -112,6 +128,7 @@ fn get_network_params_default(network: Network) -> NetworkParams { cookie_file: "".to_string(), rpc_user: "".to_string(), rpc_pass: "".to_string(), + zmq_listener: "tcp://127.0.0.1:21332".to_string(), }, _ => NetworkParams { host: "http://127.0.0.1".to_string(), @@ -121,6 +138,7 @@ fn get_network_params_default(network: Network) -> NetworkParams { cookie_file: "".to_string(), rpc_user: "".to_string(), rpc_pass: "".to_string(), + zmq_listener: "tcp://127.0.0.1:28332".to_string(), }, } } @@ -442,6 +460,7 @@ fn parse_env(cfg: &mut MyConfig) { cfg.regtest = parse_env_netconfig(cfg, "regtest"); cfg.signet = parse_env_netconfig(cfg, "signet"); cfg.testnet = parse_env_netconfig(cfg, "testnet"); + cfg.testnet4 = parse_env_netconfig(cfg, "testnet4"); drop(parse_env_netconfig(cfg, "bitcoin")); } fn parse_env_netconfig(cfg_lock: &mut MyConfig, chain: &str) -> NetworkParams { @@ -450,6 +469,7 @@ fn parse_env_netconfig(cfg_lock: &mut MyConfig, chain: &str) -> NetworkParams { "regtest" => &mut cfg_lock.regtest, "signet" => &mut cfg_lock.signet, "testnet" => &mut cfg_lock.testnet, + "testnet4" => &mut cfg_lock.testnet4, &_ => &mut cfg_lock.mainnet, }; match env::var(format!("BAL_PUSHER_{}_HOST", chain.to_uppercase())) { @@ -497,6 +517,12 @@ fn parse_env_netconfig(cfg_lock: &mut MyConfig, chain: &str) -> NetworkParams { } Err(_) => {} } + match env::var(format!("BAL_PUSHER_{}_ZMQ_HASHBLOCK", chain.to_uppercase())) { + Ok(value) => { + cfg.rpc_pass = value; + } + Err(_) => {} + } cfg.clone() } @@ -582,6 +608,7 @@ async fn main() -> std::io::Result<()> { }; let network = match arg_network.as_str() { "testnet" => Network::Testnet, + "testnet4" => Network::Testnet4, "signet" => Network::Signet, "regtest" => Network::Regtest, _ => Network::Bitcoin, @@ -593,7 +620,7 @@ async fn main() -> std::io::Result<()> { let context = Context::new(); let socket: Socket = context.socket(zmq::SUB).unwrap(); - let zmq_address = cfg.zmq_listener.clone(); + let zmq_address = network_params.zmq_listener.clone(); info!("zmq listening on: {}", zmq_address); socket.connect(&zmq_address).unwrap();