16auto main(
int argc,
char** argv) ->
int {
19 std::cerr <<
"Usage: " << args[0] <<
" <config file> <shard id>"
24 const auto shard_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_shard_endpoints.size() <= shard_id) {
35 std::cerr <<
"Shard ID not in config file" << std::endl;
39 auto logger = std::make_shared<cbdc::logging::log>(
40 opts.m_shard_loglevels[shard_id]);
50 static std::atomic_bool running{
true};
52 std::signal(SIGINT, [](
int ) {
57 std::this_thread::sleep_for(std::chrono::seconds(1));
60 logger->info(
"Shutting down...");