コード例 #1
0
 internal Work(DifficultyTarget target, IReadOnlyList <byte> header, ShareSubmitInfo info, ulong nonceBase)
 {
     this.target    = target;
     this.header    = header;
     this.info      = info;
     this.nonceBase = nonceBase;
     uniq           = System.Threading.Interlocked.Increment(ref next);
 }
コード例 #2
0
ファイル: Connector.cs プロジェクト: MaxDZ8/fastdee
 public void StartNewJob(NewJob job)
 {
     Console.WriteLine($"OK Job={job.jobid}, flushing={job.flush}");
     lock (careful)
     {
         careful.headerGenerator.NewJob(job);
         careful.phase = ConnectionPhase.GotWork;
         var nonce2   = careful.headerGenerator.CopyNonce2();
         var tracking = new ShareSubmitInfo(job.jobid, nonce2, job.ntime);
         var persist  = careful.headerGenerator.Header.ToArray();
         careful.workMaker.SetHeader(tracking, persist);
     }
 }
コード例 #3
0
ファイル: WorkGenerator.cs プロジェクト: MaxDZ8/fastdee
        internal void SetHeader(ShareSubmitInfo tracking, IReadOnlyList <byte> hdr)
        {
            bool changed;

            if (null == both)
            {
                both    = new Both(tracking, hdr);
                changed = true;
            }
            else
            {
                changed = hdr.SequenceEqual(both.header) == false;
                if (changed)
                {
                    both.header = hdr;
                }
                both.info = tracking;
            }
            if (changed)
            {
                ConsumedNonces = 0;
            }
        }
コード例 #4
0
ファイル: Stratificator.cs プロジェクト: MaxDZ8/fastdee
 /// <summary>
 /// Enqueues a nonce to be sent to server.
 /// </summary>
 internal void Submit(Stratum.ShareSubmitInfo source, uint nonce)
 => pending.Add(new CandidateNonce(source.JobId, source.Nonce2, source.NetworkTime, nonce));
コード例 #5
0
ファイル: WorkGenerator.cs プロジェクト: MaxDZ8/fastdee
 internal Both(ShareSubmitInfo info, IReadOnlyList <byte> header)
 {
     this.info   = info;
     this.header = header;
 }