mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 09:05:06 -07:00
tweaking mining submission
This commit is contained in:
@@ -70,6 +70,7 @@ export class BitcoinRpcService {
|
|||||||
hexdata
|
hexdata
|
||||||
});
|
});
|
||||||
console.log(`BLOCK SUBMISSION RESPONSE: ${res}`);
|
console.log(`BLOCK SUBMISSION RESPONSE: ${res}`);
|
||||||
|
console.log(hexdata);
|
||||||
console.log(JSON.stringify(res));
|
console.log(JSON.stringify(res));
|
||||||
process.exit();
|
process.exit();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export class MiningJob {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public tryBlock(versionMaskString: number, nonce: number, extraNonce: string, extraNonce2: string): bitcoinjs.Block {
|
public copyAndUpdateBlock(versionMaskString: number, nonce: number, extraNonce: string, extraNonce2: string): bitcoinjs.Block {
|
||||||
|
|
||||||
const testBlock = bitcoinjs.Block.fromBuffer(this.block.toBuffer());
|
const testBlock = bitcoinjs.Block.fromBuffer(this.block.toBuffer());
|
||||||
|
|
||||||
@@ -91,12 +91,8 @@ export class MiningJob {
|
|||||||
testBlock.transactions[0].ins[0].script = inputScript;
|
testBlock.transactions[0].ins[0].script = inputScript;
|
||||||
|
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
// const test = testBlock.transactions[0].__toBuffer();
|
|
||||||
// console.log(test.toString('hex'))
|
|
||||||
|
|
||||||
const newRoot = this.calculateMerkleRootHash(testBlock.transactions[0].__toBuffer(), this.merkle_branch);
|
|
||||||
//recompute the root
|
//recompute the root
|
||||||
testBlock.merkleRoot = newRoot;
|
testBlock.merkleRoot = this.calculateMerkleRootHash(testBlock.transactions[0].__toBuffer(), this.merkle_branch);;
|
||||||
|
|
||||||
return testBlock;
|
return testBlock;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ export class StratumV1Client extends EasyUnsubscribe {
|
|||||||
if (job == null) {
|
if (job == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const updatedJobBlock = job.tryBlock(
|
const updatedJobBlock = job.copyAndUpdateBlock(
|
||||||
parseInt(submission.versionMask, 16),
|
parseInt(submission.versionMask, 16),
|
||||||
parseInt(submission.nonce, 16),
|
parseInt(submission.nonce, 16),
|
||||||
this.extraNonce,
|
this.extraNonce,
|
||||||
@@ -255,16 +255,18 @@ export class StratumV1Client extends EasyUnsubscribe {
|
|||||||
|
|
||||||
if (diff >= this.clientDifficulty) {
|
if (diff >= this.clientDifficulty) {
|
||||||
|
|
||||||
await this.statistics.addSubmission(this.entity, this.clientDifficulty);
|
|
||||||
if (diff > this.entity.bestDifficulty) {
|
|
||||||
await this.clientService.updateBestDifficulty(this.extraNonce, diff);
|
|
||||||
this.entity.bestDifficulty = diff;
|
|
||||||
}
|
|
||||||
if (diff >= (job.networkDifficulty / 2)) {
|
if (diff >= (job.networkDifficulty / 2)) {
|
||||||
console.log('!!! BOCK FOUND !!!');
|
console.log('!!! BOCK FOUND !!!');
|
||||||
const blockHex = updatedJobBlock.toHex(false);
|
const blockHex = updatedJobBlock.toHex(false);
|
||||||
this.bitcoinRpcService.SUBMIT_BLOCK(blockHex);
|
this.bitcoinRpcService.SUBMIT_BLOCK(blockHex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await this.statistics.addSubmission(this.entity, this.clientDifficulty);
|
||||||
|
if (diff > this.entity.bestDifficulty) {
|
||||||
|
await this.clientService.updateBestDifficulty(this.extraNonce, diff);
|
||||||
|
this.entity.bestDifficulty = diff;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log(`Difficulty too low`);
|
console.log(`Difficulty too low`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user