16auto main(
int argc,
char** argv) ->
int {
19 std::cerr <<
"Usage: " << args[0] <<
" <config file> <sentinel id>"
24 const auto sentinel_id = std::stoull(args[2]);
27 if(std::holds_alternative<std::string>(cfg_or_err)) {
28 std::cerr <<
"Error loading config file: "
29 << std::get<std::string>(cfg_or_err) << std::endl;
32 auto opts = std::get<cbdc::config::options>(cfg_or_err);
34 if(opts.m_sentinel_endpoints.size() <= sentinel_id) {
35 std::cerr <<
"Sentinel ID not in config file" << std::endl;
39 auto logger = std::make_shared<cbdc::logging::log>(
40 opts.m_sentinel_loglevels[sentinel_id]);
42 std::string sha2_impl(SHA256AutoDetect());
43 logger->info(
"using sha2:", sha2_impl);
53 static std::atomic_bool running{
true};
55 std::signal(SIGINT, [](
int ) {
60 std::this_thread::sleep_for(std::chrono::seconds(1));
63 logger->info(
"Shutting down...");