protected override void NotifyToChildrenAsChanged() { //https://api.ethermine.org//miner/:miner/currentStats //{"status":"OK","data":[{"worker":"3090-2","time":1621352400,"lastSeen":1621352367,"reportedHashrate":433797908,"currentHashrate":411547659.92833334,"validShares":343,"invalidShares":0,"staleShares":3,"averageHashrate":415222961.9435879},{"worker":"3090-5li","time":1621352400,"lastSeen":1621352367,"reportedHashrate":707161209,"currentHashrate":661196443.3458333,"validShares":549,"invalidShares":0,"staleShares":8,"averageHashrate":692508591.4666438},{"worker":"melih-kktc","time":1621352400,"lastSeen":1621352366,"reportedHashrate":1260949519,"currentHashrate":1247647384.7508333,"validShares":1036,"invalidShares":0,"staleShares":15,"averageHashrate":1220588015.0897803},{"worker":"melih-rigrig-1","time":1621352400,"lastSeen":1621352361,"reportedHashrate":406673131,"currentHashrate":460880884.27416664,"validShares":385,"invalidShares":0,"staleShares":2,"averageHashrate":397732136.68556714},{"worker":"melih-rigrig-1-redminer","time":1621352400,"lastSeen":1621352365,"reportedHashrate":258040846,"currentHashrate":265635850.07416666,"validShares":222,"invalidShares":0,"staleShares":1,"averageHashrate":245787065.04707173}]} if (!HasError() && HasText()) { if (m_address != null && m_address.Length > 0) { DefaultWalletAddress wallet = new DefaultWalletAddress(m_address); result = JsonUtility.FromJson <Json_Result>(GetText()); isConverted = true; m_minerInformation = new EtherMinerOrgMinerInfo(wallet); m_minerInformation.SetPaid(result.data.unpaid, result.data.unconfirmed); m_minerInformation.SetEstimationWin(result.data.coinsPerMin, result.data.usdPerMin, result.data.btcPerMin); m_minerInformation.SetActiveWorker(result.data.activeWorkers); EtherMineOrgWorkerFrame frame = new EtherMineOrgWorkerFrame(); frame.SetWorkerRef(new EhterMineWorkerRef(new DefaultWorkerFromWalletID(wallet, ""))); frame.SetTime(result.data.time); frame.SetTimeLastSeen(result.data.time); frame.SetShares(result.data.validShares, result.data.invalidShares, result.data.staleShares); frame.SetHashRate(result.data.currentHashrate, result.data.reportedHashrate, result.data.averageHashrate); m_minerInformation.SetCurrentStateAsFrame(frame); } } else { isConverted = false; } }
protected override void NotifyToChildrenAsChanged() { //https://api.ethermine.org/miner/ee328a992046570f45970e06155b87e813361a4a/workers //{"status":"OK","data":[{"worker":"3090-2","time":1621352400,"lastSeen":1621352367,"reportedHashrate":433797908,"currentHashrate":411547659.92833334,"validShares":343,"invalidShares":0,"staleShares":3,"averageHashrate":415222961.9435879},{"worker":"3090-5li","time":1621352400,"lastSeen":1621352367,"reportedHashrate":707161209,"currentHashrate":661196443.3458333,"validShares":549,"invalidShares":0,"staleShares":8,"averageHashrate":692508591.4666438},{"worker":"melih-kktc","time":1621352400,"lastSeen":1621352366,"reportedHashrate":1260949519,"currentHashrate":1247647384.7508333,"validShares":1036,"invalidShares":0,"staleShares":15,"averageHashrate":1220588015.0897803},{"worker":"melih-rigrig-1","time":1621352400,"lastSeen":1621352361,"reportedHashrate":406673131,"currentHashrate":460880884.27416664,"validShares":385,"invalidShares":0,"staleShares":2,"averageHashrate":397732136.68556714},{"worker":"melih-rigrig-1-redminer","time":1621352400,"lastSeen":1621352365,"reportedHashrate":258040846,"currentHashrate":265635850.07416666,"validShares":222,"invalidShares":0,"staleShares":1,"averageHashrate":245787065.04707173}]} if (!HasError() && HasText()) { isConverted = true; result = JsonUtility.FromJson <Json_Result>(GetText()); if (result.status.ToLower() == "ok") { WalletAddress address = new DefaultWalletAddress(m_addressTarget); m_resultWorkers = new WorkerLinkedData <EtherMineOrgWorkerFrame> [result.data.Length]; for (int i = 0; i < result.data.Length; i++) { Json_Data d = result.data[i]; DefaultWorkerFromWalletID worker = new DefaultWorkerFromWalletID(address, result.data[i].worker); string workerFullId = worker.GetWorkerId(); EtherMineOrgWorkerFrame frame = new EtherMineOrgWorkerFrame(); frame.SetWorkerRef(new EhterMineWorkerRef(worker)); frame.SetTime((ulong)d.time); frame.SetTimeLastSeen((ulong)d.time); frame.SetHashRate((double)d.currentHashrate, (double)d.reportedHashrate, (double)d.averageHashrate); frame.SetShares(d.validShares, d.invalidShares, d.staleShares); m_resultWorkers[i] = new WorkerLinkedData <EtherMineOrgWorkerFrame>(worker, frame); } } } else { isConverted = false; } }
public void PushLastSaveToFile() { if (m_workersObserved == null) { return; } if (m_workersObserved.m_workersInfo == null) { return; } if (m_workersObserved.m_workersInfo.HasError() || !m_workersObserved.m_workersInfo.HasText()) { return; } List <AbstractWorkerInfo> resultWorkers = new List <AbstractWorkerInfo>(); WorkerLinkedData <EtherMineOrgWorkerFrame>[] workers = m_workersObserved.m_workersInfo.GetAllWorkersLastReceivedInformation(); for (int i = 0; i < workers.Length; i++) { EtherMineOrgWorkerFrame wFrame = workers[i].GetLinkedData(); AbstractWorkerInfo workerInfo = new AbstractWorkerInfo(); workerInfo.m_workerName = wFrame.GetWorkerName(); workerInfo.m_address = wFrame.GetAddress(); workerInfo.m_timestampInSeconds = wFrame.GetTimestamp(); workerInfo.m_averageHashrate = wFrame.GetAverageHashRate(); workerInfo.m_hardwareHashrate = wFrame.GetReportedHashRate(); workerInfo.m_serverHashrate = wFrame.GetCurrentHashRate(); workerInfo.m_validShares = wFrame.GetValideShares(); workerInfo.m_invalidShares = wFrame.GetInvalideShares(); workerInfo.m_staleShares = wFrame.GetStaleShares(); resultWorkers.Add(workerInfo); } m_poolSaveAndLoad.SaveWorkerState(PoolManageByThisAPI.Ethermine, resultWorkers.ToArray()); }
public void GetStatistics(out WorkerAddress worker, out EtherMineOrgWorkerFrame workerFrame) { worker = new DefaultWorkerID(m_addressTarget, m_workerName); workerFrame = new EtherMineOrgWorkerFrame(); workerFrame.SetTime(result.data.time); workerFrame.SetTimeLastSeen(result.data.lastSeen); workerFrame.SetHashRate(result.data.currentHashrate, result.data.reportedHashrate, result.data.averageHashrate); workerFrame.SetShares(result.data.validShares, result.data.invalidShares, result.data.staleShares); }
public void GetHistory(out WorkerAddress worker, out EtherMineOrgWorkerFrame[] frames) { worker = new DefaultWorkerID(m_address, m_workerName); frames = new EtherMineOrgWorkerFrame[result.data.Length]; for (int i = 0; i < result.data.Length; i++) { frames[i] = new EtherMineOrgWorkerFrame(); frames[i].SetTime(result.data[i].time); frames[i].SetTimeLastSeen(result.data[i].time); frames[i].SetHashRate(result.data[i].currentHashrate, result.data[i].reportedHashrate, result.data[i].averageHashrate); frames[i].SetShares(result.data[i].validShares, result.data[i].invalidShares, result.data[i].staleShares); } }
public void SetCurrentStateAsFrame(EtherMineOrgWorkerFrame current) { m_state = current; }
public EtherMinerOrgMinerInfo(WalletAddress address) { m_address = address; m_state = new EtherMineOrgWorkerFrame(); }
public void SetWith(EtherMineOrgWorkerFrame frame) { if (frame == null) { if (m_hardwareEstimation) { m_hardwareEstimation.SetWith(0); } if (m_frameCheckTime != null) { m_frameCheckTime.text = ""; } if (m_frameLastSeenTime != null) { m_frameLastSeenTime.text = ""; } if (m_hashrateCurrent != null) { m_hashrateCurrent.text = ""; } if (m_hashrateAverage != null) { m_hashrateAverage.text = ""; } if (m_shareValide != null) { m_shareValide.text = ""; } if (m_shareInvalide != null) { m_shareInvalide.text = ""; } if (m_shareStale != null) { m_shareStale.text = ""; } if (m_hashrateHardwareReport != null) { m_hashrateHardwareReport.text = ""; } return; } if (m_hardwareEstimation) { m_hardwareEstimation.SetWith(frame.GetCurrentHashRate()); } if (m_frameCheckTime != null) { m_frameCheckTime.text = frame.GetTime().ToString(); } if (m_frameLastSeenTime != null) { m_frameLastSeenTime.text = frame.GetTimeLastSeen().ToString(); } if (m_hashrateCurrent != null) { m_hashrateCurrent.text = "" + frame.GetCurrentHashRate(); } if (m_hashrateAverage != null) { m_hashrateAverage.text = "" + frame.GetAverageHashRate(); } if (m_hashrateHardwareReport != null) { m_hashrateHardwareReport.text = "" + frame.GetReportedHashRate(); } if (m_shareValide != null) { m_shareValide.text = "" + frame.GetValideShares(); } if (m_shareInvalide != null) { m_shareInvalide.text = "" + frame.GetInvalideShares(); } if (m_shareStale != null) { m_shareStale.text = "" + frame.GetStaleShares(); } }
public void SetStatistics(EtherMineOrgWorkerFrame frame) { m_generalStatistics = frame; }
public void SetCurrentFrame(EtherMineOrgWorkerFrame frame) { m_currentFrameInformation = frame; }
public void GetGeneralInformation(out bool hasInfo, out EtherMineOrgWorkerFrame frame) { hasInfo = HasGeneralStatistics(); frame = m_generalStatistics; }
public void GetCurrentInformation(out bool hasInfo, out EtherMineOrgWorkerFrame frame) { hasInfo = HasCurrentInformation(); frame = m_currentFrameInformation; }