public void AddJob(MoneroWorkerJob job) { ValidJobs.Add(job); while (ValidJobs.Count > 4) { ValidJobs.RemoveAt(0); } }
public void MoneroJob_PrepareWorkerJob() { var worker = new StratumClient(); worker.SetContext(new MoneroWorkerContext { Difficulty = 1000, }); var bt = JsonConvert.DeserializeObject <MiningCore.Blockchain.Monero.DaemonResponses.GetBlockTemplateResponse>( "{\"blocktemplate_blob\":\"0106e7eabdcf058234351e2e6ea901a56b33bb531587424321873072d80a9e97295b6c43152b9d00000000019c0201ffe00106e3a1a0cc010275d92c0a057aa5f073079694a153d426f837f49fdb9654da10a5364e79a2086280a0d9e61d028b46dca0d04998500b40b046fd6f8bb33229e6380fd465dbb1327aa6f813d8bd80c0fc82aa0202372f076459e769116d604d30aabff7160782acc0d20e0c5cdc8963ed4e16372f8090cad2c60e02f009504ce65538bbb684b466b21be3a90e3740f185d7089d37b75f0cf62b6e7680e08d84ddcb0102cf01b85c0b592bb6e508e20b5d317052b75de121908390363201abff3476ef0180c0caf384a302024b81076c8ad0cfe84cc32fe0813d63cdd0f7d8d0e56d82aa3f58cbbe49d4c61e2b017aaf3074be7ecb30a769595758e4da7c7c87ead864baf89b679b73153dfa352c0208000000000000000000\",\"Difficulty\":2,\"Height\":224,\"prev_hash\":\"8234351e2e6ea901a56b33bb531587424321873072d80a9e97295b6c43152b9d\",\"reserved_offset\":322,\"Status\":\"OK\"}"); var job = new MoneroJob(bt, "d150da".HexToByteArray(), "1", poolConfig, clusterConfig); var workerJob = new MoneroWorkerJob(1.ToString(), 10000); job.PrepareWorkerJob(workerJob, out var blob, out var target); Assert.Equal(blob, "0106e7eabdcf058234351e2e6ea901a56b33bb531587424321873072d80a9e97295b6c43152b9d00000000b7dff217012da3129b6e6a4b8705a598f8928469398b3479b711b6ceee16072301"); Assert.Equal(target, "b88d0600"); }