static void Main(string[] args) { System.Console.WriteLine(BANNER); Console.WriteLine($@"BPM home directory: {Core.GetBPMBaseUserDirectory()}"); Console.WriteLine($@"BPM miners directory: {Core.GetBaseMinersDir()}"); var minerAccount = MinerAccount.Init(); var miningSession = new MiningSession(); miningSession.RemoveAllMiners(); System.Console.WriteLine($@"Account Id: {minerAccount.AccountId}"); System.Console.WriteLine($@"Region: {minerAccount.Region}"); System.Console.WriteLine($@"Worker: {minerAccount.WorkerSettings.WorkerName}"); System.Console.WriteLine(@"Configured Wallets:"); minerAccount.AccountWalletList.Select(w => $@" {w.CoinName}: {w.WalletAddress}") .ToList().ForEach(System.Console.WriteLine); // Call API and retrieve a list of miner configurations used to start mining List <MinerConfigResponse> minerConfigResponseList = GetMinerConfigurations(minerAccount); var hardwareMonitor = new LinuxHardwareMonitor(); var minerFactory = new MinerFactory(hardwareMonitor); // Iterate through returned responses from API and initialize miners foreach (MinerConfigResponse minerConfigResponse in minerConfigResponseList) { // Create miner session var miner = minerFactory.CreateMiner(minerConfigResponse.MinerBaseType, minerConfigResponse.HardwareType); miner.CoinType = minerConfigResponse.CoinSelectedForMining; miner.MinerArguments = minerConfigResponse.MinerConfigString; miningSession.AddMiner(miner); System.Console.WriteLine(string.Format("Mining started {0} {1}", minerConfigResponse.MinerBaseType, minerConfigResponse.MinerConfigString)); } System.Console.ReadLine(); }