#![recursion_limit = "256"]
#[macro_use]
extern crate log;
use bp_node::bpd::Opts;
use bp_node::{bpd, Config, LaunchError};
use clap::Parser;
use microservices::error::BootstrapError;
fn main() -> Result<(), BootstrapError<LaunchError>> {
println!("bpd: managing bp node daemon");
let mut opts = Opts::parse();
trace!("Command-line arguments: {:?}", opts);
opts.process();
trace!("Processed arguments: {:?}", opts);
let config = Config::from(opts);
trace!("Daemon configuration: {:?}", config);
debug!("CTL socket {}", config.ctl_endpoint);
debug!("RPC socket {}", config.rpc_endpoint);
debug!("STORE socket {}", config.store_endpoint);
debug!("Starting runtime ...");
bpd::run(config).expect("running bpd runtime");
unreachable!()
}