Compare commits
2 Commits
117ee7b932
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
7bd002bf87
|
|||
|
f4358848df
|
@@ -6,7 +6,7 @@ export BAL_PUSHER_DB_FILE="$(pwd)/bal.db"
|
|||||||
#export BAL_PUSHER_TESTNET_COOKIE_FILE=/~/.bitcoin/testnet3/.cookie
|
#export BAL_PUSHER_TESTNET_COOKIE_FILE=/~/.bitcoin/testnet3/.cookie
|
||||||
#export BAL_PUSHER_SIGNET_COOKIE_FILE=/~/.bitcoin/signet/.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 BAL_PUSHER_SEND_STATS=true
|
||||||
export WELIST_SERVER_URL=http://localhost:8085
|
export WELIST_SERVER_URL=http://localhost:8085
|
||||||
export BAL_SERVER_URL="http://127.0.0.1:9133"
|
export BAL_SERVER_URL="http://127.0.0.1:9133"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export BAL_SERVER_EXPOSE_STATS=true;
|
|||||||
#export BAL_SERVER_BITCOIN_FIXED_FEE=50000
|
#export BAL_SERVER_BITCOIN_FIXED_FEE=50000
|
||||||
|
|
||||||
export BAL_SERVER_REGTEST_ADDRESS="vpub5UhLrYG1qQjnJhvJgBdqgpznyH11mxW9hwBYxf3KhfdjiupCFPUVDvgwpeZ9Wj5YUJXjKjXjy7DSbJNBW1sXbKwARiaphm1UjHYy3mKvTG4"
|
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_ADDRESS=
|
||||||
#export BAL_SERVER_TESTNET_FEE=100000
|
#export BAL_SERVER_TESTNET_FEE=100000
|
||||||
#export BAL_SERVER_SIGNET_ADDRESS=
|
#export BAL_SERVER_SIGNET_ADDRESS=
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ struct MyConfig {
|
|||||||
bitcoin_dir: String,
|
bitcoin_dir: String,
|
||||||
regtest: NetworkParams,
|
regtest: NetworkParams,
|
||||||
testnet: NetworkParams,
|
testnet: NetworkParams,
|
||||||
|
testnet4: NetworkParams,
|
||||||
signet: NetworkParams,
|
signet: NetworkParams,
|
||||||
mainnet: NetworkParams,
|
mainnet: NetworkParams,
|
||||||
send_stats: bool,
|
send_stats: bool,
|
||||||
@@ -54,6 +55,7 @@ impl Default for MyConfig {
|
|||||||
bitcoin_dir: env::var("BAL_PUSHER_BITCOIN_DIR").unwrap_or("".to_string()),
|
bitcoin_dir: env::var("BAL_PUSHER_BITCOIN_DIR").unwrap_or("".to_string()),
|
||||||
regtest: get_network_params_default(Network::Regtest),
|
regtest: get_network_params_default(Network::Regtest),
|
||||||
testnet: get_network_params_default(Network::Testnet),
|
testnet: get_network_params_default(Network::Testnet),
|
||||||
|
testnet4: get_network_params_default(Network::Testnet4),
|
||||||
signet: get_network_params_default(Network::Signet),
|
signet: get_network_params_default(Network::Signet),
|
||||||
mainnet: get_network_params_default(Network::Bitcoin),
|
mainnet: get_network_params_default(Network::Bitcoin),
|
||||||
send_stats: env::var("BAL_PUSHER_SEND_STATS")
|
send_stats: env::var("BAL_PUSHER_SEND_STATS")
|
||||||
@@ -75,10 +77,12 @@ struct NetworkParams {
|
|||||||
cookie_file: String,
|
cookie_file: String,
|
||||||
rpc_user: String,
|
rpc_user: String,
|
||||||
rpc_pass: String,
|
rpc_pass: String,
|
||||||
|
zmq_listener:String
|
||||||
}
|
}
|
||||||
fn get_network_params(cfg: &MyConfig, network: Network) -> &NetworkParams {
|
fn get_network_params(cfg: &MyConfig, network: Network) -> &NetworkParams {
|
||||||
match network {
|
match network {
|
||||||
Network::Testnet => &cfg.testnet,
|
Network::Testnet => &cfg.testnet,
|
||||||
|
Network::Testnet4 => &cfg.testnet4,
|
||||||
Network::Signet => &cfg.signet,
|
Network::Signet => &cfg.signet,
|
||||||
Network::Regtest => &cfg.regtest,
|
Network::Regtest => &cfg.regtest,
|
||||||
_ => &cfg.mainnet,
|
_ => &cfg.mainnet,
|
||||||
@@ -94,6 +98,17 @@ fn get_network_params_default(network: Network) -> NetworkParams {
|
|||||||
cookie_file: "".to_string(),
|
cookie_file: "".to_string(),
|
||||||
rpc_user: "".to_string(),
|
rpc_user: "".to_string(),
|
||||||
rpc_pass: "".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 {
|
Network::Signet => NetworkParams {
|
||||||
host: "http://127.0.0.1".to_string(),
|
host: "http://127.0.0.1".to_string(),
|
||||||
@@ -103,6 +118,7 @@ fn get_network_params_default(network: Network) -> NetworkParams {
|
|||||||
cookie_file: "".to_string(),
|
cookie_file: "".to_string(),
|
||||||
rpc_user: "".to_string(),
|
rpc_user: "".to_string(),
|
||||||
rpc_pass: "".to_string(),
|
rpc_pass: "".to_string(),
|
||||||
|
zmq_listener: "tcp://127.0.0.1:22332".to_string(),
|
||||||
},
|
},
|
||||||
Network::Regtest => NetworkParams {
|
Network::Regtest => NetworkParams {
|
||||||
host: "http://127.0.0.1".to_string(),
|
host: "http://127.0.0.1".to_string(),
|
||||||
@@ -112,6 +128,7 @@ fn get_network_params_default(network: Network) -> NetworkParams {
|
|||||||
cookie_file: "".to_string(),
|
cookie_file: "".to_string(),
|
||||||
rpc_user: "".to_string(),
|
rpc_user: "".to_string(),
|
||||||
rpc_pass: "".to_string(),
|
rpc_pass: "".to_string(),
|
||||||
|
zmq_listener: "tcp://127.0.0.1:21332".to_string(),
|
||||||
},
|
},
|
||||||
_ => NetworkParams {
|
_ => NetworkParams {
|
||||||
host: "http://127.0.0.1".to_string(),
|
host: "http://127.0.0.1".to_string(),
|
||||||
@@ -121,6 +138,7 @@ fn get_network_params_default(network: Network) -> NetworkParams {
|
|||||||
cookie_file: "".to_string(),
|
cookie_file: "".to_string(),
|
||||||
rpc_user: "".to_string(),
|
rpc_user: "".to_string(),
|
||||||
rpc_pass: "".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.regtest = parse_env_netconfig(cfg, "regtest");
|
||||||
cfg.signet = parse_env_netconfig(cfg, "signet");
|
cfg.signet = parse_env_netconfig(cfg, "signet");
|
||||||
cfg.testnet = parse_env_netconfig(cfg, "testnet");
|
cfg.testnet = parse_env_netconfig(cfg, "testnet");
|
||||||
|
cfg.testnet4 = parse_env_netconfig(cfg, "testnet4");
|
||||||
drop(parse_env_netconfig(cfg, "bitcoin"));
|
drop(parse_env_netconfig(cfg, "bitcoin"));
|
||||||
}
|
}
|
||||||
fn parse_env_netconfig(cfg_lock: &mut MyConfig, chain: &str) -> NetworkParams {
|
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,
|
"regtest" => &mut cfg_lock.regtest,
|
||||||
"signet" => &mut cfg_lock.signet,
|
"signet" => &mut cfg_lock.signet,
|
||||||
"testnet" => &mut cfg_lock.testnet,
|
"testnet" => &mut cfg_lock.testnet,
|
||||||
|
"testnet4" => &mut cfg_lock.testnet4,
|
||||||
&_ => &mut cfg_lock.mainnet,
|
&_ => &mut cfg_lock.mainnet,
|
||||||
};
|
};
|
||||||
match env::var(format!("BAL_PUSHER_{}_HOST", chain.to_uppercase())) {
|
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(_) => {}
|
Err(_) => {}
|
||||||
}
|
}
|
||||||
|
match env::var(format!("BAL_PUSHER_{}_ZMQ_HASHBLOCK", chain.to_uppercase())) {
|
||||||
|
Ok(value) => {
|
||||||
|
cfg.rpc_pass = value;
|
||||||
|
}
|
||||||
|
Err(_) => {}
|
||||||
|
}
|
||||||
cfg.clone()
|
cfg.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -582,6 +608,7 @@ async fn main() -> std::io::Result<()> {
|
|||||||
};
|
};
|
||||||
let network = match arg_network.as_str() {
|
let network = match arg_network.as_str() {
|
||||||
"testnet" => Network::Testnet,
|
"testnet" => Network::Testnet,
|
||||||
|
"testnet4" => Network::Testnet4,
|
||||||
"signet" => Network::Signet,
|
"signet" => Network::Signet,
|
||||||
"regtest" => Network::Regtest,
|
"regtest" => Network::Regtest,
|
||||||
_ => Network::Bitcoin,
|
_ => Network::Bitcoin,
|
||||||
@@ -593,7 +620,7 @@ async fn main() -> std::io::Result<()> {
|
|||||||
let context = Context::new();
|
let context = Context::new();
|
||||||
let socket: Socket = context.socket(zmq::SUB).unwrap();
|
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);
|
info!("zmq listening on: {}", zmq_address);
|
||||||
socket.connect(&zmq_address).unwrap();
|
socket.connect(&zmq_address).unwrap();
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ use bal_server::db::{
|
|||||||
use bal_server::xpub::new_address_from_xpub;
|
use bal_server::xpub::new_address_from_xpub;
|
||||||
|
|
||||||
const VERSION: &str = env!("CARGO_PKG_VERSION");
|
const VERSION: &str = env!("CARGO_PKG_VERSION");
|
||||||
const NETWORKS: [&str; 4] = ["bitcoin", "testnet", "signet", "regtest"];
|
const NETWORKS: [&str; 5] = ["bitcoin", "testnet", "testnet4", "signet", "regtest"];
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
struct NetConfig {
|
struct NetConfig {
|
||||||
address: String,
|
address: String,
|
||||||
@@ -61,6 +61,7 @@ struct MyConfig {
|
|||||||
regtest: NetConfig,
|
regtest: NetConfig,
|
||||||
signet: NetConfig,
|
signet: NetConfig,
|
||||||
testnet: NetConfig,
|
testnet: NetConfig,
|
||||||
|
testnet4: NetConfig,
|
||||||
mainnet: NetConfig,
|
mainnet: NetConfig,
|
||||||
info: String,
|
info: String,
|
||||||
bind_address: String,
|
bind_address: String,
|
||||||
@@ -98,6 +99,7 @@ impl Default for MyConfig {
|
|||||||
regtest: NetConfig::default_network("regtest".to_string(), Network::Regtest),
|
regtest: NetConfig::default_network("regtest".to_string(), Network::Regtest),
|
||||||
signet: NetConfig::default_network("signet".to_string(), Network::Signet),
|
signet: NetConfig::default_network("signet".to_string(), Network::Signet),
|
||||||
testnet: NetConfig::default_network("testnet".to_string(), Network::Testnet),
|
testnet: NetConfig::default_network("testnet".to_string(), Network::Testnet),
|
||||||
|
testnet4: NetConfig::default_network("testnet4".to_string(), Network::Testnet4),
|
||||||
mainnet: NetConfig::default_network("bitcoin".to_string(), Network::Bitcoin),
|
mainnet: NetConfig::default_network("bitcoin".to_string(), Network::Bitcoin),
|
||||||
bind_address: "127.0.0.1".to_string(),
|
bind_address: "127.0.0.1".to_string(),
|
||||||
bind_port: 9137,
|
bind_port: 9137,
|
||||||
@@ -116,6 +118,7 @@ impl MyConfig {
|
|||||||
match param {
|
match param {
|
||||||
"regtest" => &self.regtest,
|
"regtest" => &self.regtest,
|
||||||
"testnet" => &self.testnet,
|
"testnet" => &self.testnet,
|
||||||
|
"testnet4" => &self.testnet4,
|
||||||
"signet" => &self.signet,
|
"signet" => &self.signet,
|
||||||
_ => &self.mainnet,
|
_ => &self.mainnet,
|
||||||
}
|
}
|
||||||
@@ -625,6 +628,7 @@ fn parse_env(cfg: &Arc<Mutex<MyConfig>>) {
|
|||||||
cfg_lock = parse_env_netconfig(cfg_lock, "regtest");
|
cfg_lock = parse_env_netconfig(cfg_lock, "regtest");
|
||||||
cfg_lock = parse_env_netconfig(cfg_lock, "signet");
|
cfg_lock = parse_env_netconfig(cfg_lock, "signet");
|
||||||
cfg_lock = parse_env_netconfig(cfg_lock, "testnet");
|
cfg_lock = parse_env_netconfig(cfg_lock, "testnet");
|
||||||
|
cfg_lock = parse_env_netconfig(cfg_lock, "testnet4");
|
||||||
drop(parse_env_netconfig(cfg_lock, "bitcoin"));
|
drop(parse_env_netconfig(cfg_lock, "bitcoin"));
|
||||||
}
|
}
|
||||||
fn parse_env_netconfig<'a>(
|
fn parse_env_netconfig<'a>(
|
||||||
@@ -635,6 +639,7 @@ fn parse_env_netconfig<'a>(
|
|||||||
"regtest" => &mut cfg_lock.regtest,
|
"regtest" => &mut cfg_lock.regtest,
|
||||||
"signet" => &mut cfg_lock.signet,
|
"signet" => &mut cfg_lock.signet,
|
||||||
"testnet" => &mut cfg_lock.testnet,
|
"testnet" => &mut cfg_lock.testnet,
|
||||||
|
"testnet4" => &mut cfg_lock.testnet4,
|
||||||
&_ => &mut cfg_lock.mainnet,
|
&_ => &mut cfg_lock.mainnet,
|
||||||
};
|
};
|
||||||
if let Ok(value) = env::var(format!("BAL_SERVER_{}_ADDRESS", chain.to_uppercase())) {
|
if let Ok(value) = env::var(format!("BAL_SERVER_{}_ADDRESS", chain.to_uppercase())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user