Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe("----- STRATUM -----", () => {
- return;
- it("MOCK DATA", function (done) {
- const jobScheduler = new JobScheduler({
- onBlockFound: (blockParams) => {
- console.log("SHARE FOUND!" + "\n" + JSON.stringify(blockParams, null, 2));
- const {jobId, extraNonce2, nTime, nonce, hash} = blockParams;
- expect(jobId).equal("6408f9ba00000070");
- expect(extraNonce2).equal("83e7363018d66318");
- expect(nTime).equal("64090657");
- expect(nonce).equal("00171a05");
- expect(hash).equal("16b73c0211848a829f31d90dcbc378374cdad8fcd17f5403b7aaf0f20131a81e");
- JobScheduler.clear();
- done();
- },
- onHashRate: (hashRate) => {},
- maxCPUs: 1
- });
- //Mock data from server
- const data = [
- "6408f9ba00000070",
- "fcd4ba3be555a155db4bcfda38412ee066eacf0825513afd3a59454e00000000",
- "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff3203aafa24000444060964044699292b0c",
- "0a636b706f6f6c0e2f6d696e656420627920616a732fffffffff02be24280000000000160014800953e1f5cd355198e46eb6d9b994259d169cb00000000000000000266a24aa21a9ed6a8e980c6ef75466936022be977edf548fee24037dc17b3422eb7c320f078f8600000000",
- [
- "1c2cd37d8e8c6e5baf774f21d5af6ee7c0c5bf649bf2678bdb71141e4b3d8d69",
- "abafa48853234d75ad7d53b7a07bdf7aabf4b9e36fc47586f828d143ae861d9e",
- "343f1fb6417332ebd4995d48ea00dbb9204ff731f5eb074da23e98de795f0f8f",
- "2203f4b6458c351dc93755913745f68ec665c2a3830e3f01c0a893ad8643ccef",
- "09b1cc3bf1c47e6c044add6ca842e8efc7d8778f9e05419a805ae89bf5133088"
- ],
- "20000000",
- "192a0b9d",
- "64090644",
- false
- ];
- const [jobId, prevHash, coinb1, coinb2, merkleBranch, version, nBits, nTime, cleanJobs] = data;
- handler_stratum_notify({
- jobId,
- prevHash,
- coinb1,
- coinb2,
- merkleBranch,
- version,
- nBits,
- nTime: "64090657",
- cleanJobs,
- extraNonce1: "bbf90864",
- extraNonce2Size: 8,
- difficulty: 2,
- testExtraNonce2: "83e7363018d66318",
- testNonce: 0x00171a05
- });
- //Stratum received data needed to pass to Miner
- function handler_stratum_notify({jobId, cleanJobs, ...data}) {
- //Clear all jobs
- if (cleanJobs) {
- console.log("CLEAR JOBS");
- jobScheduler.clear({ignore: jobId});
- }
- //Get/Create miner
- if (!jobScheduler.exists(jobId)) {
- console.log("NEW JOB", jobId);
- } else {
- console.log("UPDATE JOB", jobId);
- }
- jobScheduler.update(jobId, data);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment