zmqhashblock per network

This commit is contained in:
2026-03-17 21:01:59 -04:00
parent 117ee7b932
commit f4358848df
3 changed files with 30 additions and 3 deletions

View File

@@ -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"

View File

@@ -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=

View File

@@ -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();