#include #include #include #include #include #include "config.h" #include "mining_loop.h" static void usage(const char *prog) { fprintf(stderr, "Uso: %s [--config miner.conf] [--worker-idx N] [--extranonce2 HEX]\n", prog); } int main(int argc, char **argv) { const char *config_path = "miner.conf"; int worker_idx = 0; const char *ex2_override = NULL; MinerConfig cfg; int i; for (i = 1; i < argc; i++) { if (strcmp(argv[i], "--config") == 0 && i + 1 < argc) { config_path = argv[++i]; continue; } if (strcmp(argv[i], "--worker-idx") == 0 && i + 1 < argc) { worker_idx = atoi(argv[++i]); continue; } if (strcmp(argv[i], "--extranonce2") == 0 && i + 1 < argc) { ex2_override = argv[++i]; continue; } usage(argv[0]); return 1; } if (config_load(config_path, &cfg) == 0) { return 1; } if (ex2_override != NULL) { snprintf(cfg.extranonce2, sizeof(cfg.extranonce2), "%s", ex2_override); } srand((unsigned int)(time(NULL) ^ getpid())); return run_mining_loop(&cfg, worker_idx, cfg.extranonce2, -1); }