public void PushLastSaveToFile() { if (m_minerObserved == null) { return; } if (m_minerObserved.m_minerInfo == null) { return; } if (m_minerObserved.m_minerInfo.HasError() || !m_minerObserved.m_minerInfo.HasText()) { return; } if (!m_minerObserved.m_minerInfo.isConverted) { return; } EtherMinerOrgMinerInfo miner = m_minerObserved.m_minerInfo.GetMinerInfo(); AbstractMinerInfo minerinfo = new AbstractMinerInfo(); minerinfo.m_address = miner.GetWallet().GetAddress(); minerinfo.m_timestampInSeconds = miner.GetFrameStatistic().GetTimestamp(); minerinfo.m_averageHashrate = miner.GetFrameStatistic().GetAverageHashRate(); minerinfo.m_hardwareHashrate = miner.GetFrameStatistic().GetReportedHashRate(); minerinfo.m_serverHashrate = miner.GetFrameStatistic().GetCurrentHashRate(); minerinfo.m_validShares = miner.GetFrameStatistic().GetValideShares(); minerinfo.m_invalidShares = miner.GetFrameStatistic().GetInvalideShares(); minerinfo.m_staleShares = miner.GetFrameStatistic().GetStaleShares(); minerinfo.m_unpaidWei = miner.GetUnpaidWai(); minerinfo.m_bitcoinPerMinute = miner.GetBitcoinPerMinute(); minerinfo.m_coinsPerMinute = miner.GetCoinsPerMinutes(); minerinfo.m_usdPerMinute = miner.GetUsdPerMinutes(); minerinfo.m_workerCount = miner.GetActiveWorkers(); m_poolSaveAndLoad.SaveMinerState(PoolManageByThisAPI.Ethermine, minerinfo); // AbstractMinerBasicInfo[] m_debugMinerKeys; //m_poolSaveAndLoad.ImportAllKeys(PoolManageByThisAPI.Ethermine.ToString(), miner.GetWallet().GetAddress(), new DateTime((int)year, (int)month, (int)day, (int)hour, (int)minute, 0, 0, DateTimeKind.Utc), DateTime.UtcNow, out m_debugMinerKeys); }
public void SaveMinerState(string poolName, AbstractMinerInfo minerinfo) { DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc) .AddSeconds( Convert.ToDouble(minerinfo.m_timestampInSeconds) ); string fileNameMiner = string.Format("{0:0000}_{1:00}_{2:00}_{3:00}_{4:00}_{5}_{6:0}_{7}_{8}.minerkey", d.Year, d.Month, d.Day, d.Hour, d.Minute, minerinfo.m_validShares, minerinfo.m_averageHashrate, minerinfo.m_workerCount, minerinfo.m_unpaidWei); string fileNameMetaInfo = string.Format("{0:0000}_{1:00}_{2:00}_{3:00}_{4:00}_{5:0}_{6:0}_{7:0}.markertstatekey", d.Year, d.Month, d.Day, d.Hour, d.Minute, minerinfo.m_usdPerMinute * m_costDoubleMultiplicator, minerinfo.m_coinsPerMinute * m_costDoubleMultiplicator, minerinfo.m_bitcoinPerMinute * m_costDoubleMultiplicator); string text = string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}", minerinfo.m_address, minerinfo.m_timestampInSeconds, minerinfo.m_hardwareHashrate, minerinfo.m_serverHashrate, minerinfo.m_averageHashrate, minerinfo.m_validShares, minerinfo.m_invalidShares, minerinfo.m_staleShares, minerinfo.m_workerCount, minerinfo.m_unpaidWei, minerinfo.m_coinsPerMinute, minerinfo.m_usdPerMinute, minerinfo.m_bitcoinPerMinute ); string address = CheckThatAddressStartWith0X(minerinfo.m_address); string root = GetRootPath() + "/" + poolName + "/" + minerinfo.m_address + "/miner/"; string pathFolder = root; string pathFileMiner = root + fileNameMiner; string pathFileMarket = root + fileNameMetaInfo; if (!Directory.Exists(pathFolder)) { Directory.CreateDirectory(pathFolder); } File.WriteAllText(pathFileMiner, text); File.WriteAllText(pathFileMarket, " '| (- O -) |' "); }
public void SaveMinerState(PoolManageByThisAPI poolName, AbstractMinerInfo minerinfo) { SaveMinerState(poolName.ToString(), minerinfo); }