示例#1
0
 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;
     }
 }
示例#2
0
    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;
        }
    }
示例#3
0
    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);
 }
示例#5
0
 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);
     }
 }
示例#6
0
 public void SetCurrentStateAsFrame(EtherMineOrgWorkerFrame current)
 {
     m_state = current;
 }
示例#7
0
 public EtherMinerOrgMinerInfo(WalletAddress address)
 {
     m_address = address;
     m_state   = new EtherMineOrgWorkerFrame();
 }
示例#8
0
    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();
        }
    }
示例#9
0
 public void SetStatistics(EtherMineOrgWorkerFrame frame)
 {
     m_generalStatistics = frame;
 }
示例#10
0
 public void SetCurrentFrame(EtherMineOrgWorkerFrame frame)
 {
     m_currentFrameInformation = frame;
 }
示例#11
0
 public void GetGeneralInformation(out bool hasInfo, out EtherMineOrgWorkerFrame frame)
 {
     hasInfo = HasGeneralStatistics(); frame = m_generalStatistics;
 }
示例#12
0
 public void GetCurrentInformation(out bool hasInfo, out EtherMineOrgWorkerFrame frame)
 {
     hasInfo = HasCurrentInformation(); frame = m_currentFrameInformation;
 }