private void CalculateHashrate() { // read hashrate stats. var windowTime = TimeHelpers.NowInUnixTimestamp() - _configManager.StatisticsConfig.HashrateWindow; _storage.DeleteExpiredHashrateData(windowTime); var hashrates = _storage.GetHashrateData(windowTime); double total = hashrates.Sum(pair => pair.Value); Hashrate = Convert.ToUInt64(_shareMultiplier * total / _configManager.StatisticsConfig.HashrateWindow); }
private void CalculateHashrate() { // read hashrate stats. var windowTime = TimeHelpers.NowInUnixTimestamp() - _configManager.StatisticsConfig.HashrateWindow; _storage.DeleteExpiredHashrateData(windowTime); var hashrates = _storage.GetHashrateData(windowTime); double total = hashrates.Sum(pair => pair.Value); Hashrate = _shareMultiplier * total / _configManager.StatisticsConfig.HashrateWindow; // TODO: fix pool hashrate calculation _logger.Debug("Pool hashrate window: {0} total: {1} hashrate: {2:0.000000000}", _configManager.StatisticsConfig.HashrateWindow, total, Hashrate); }