mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2025-04-02 08:58:02 +02:00
tweaking mining submission
This commit is contained in:
parent
9d4a1dda7f
commit
5ec2906f99
@ -70,6 +70,7 @@ export class BitcoinRpcService {
|
||||
hexdata
|
||||
});
|
||||
console.log(`BLOCK SUBMISSION RESPONSE: ${res}`);
|
||||
console.log(hexdata);
|
||||
console.log(JSON.stringify(res));
|
||||
process.exit();
|
||||
} 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());
|
||||
|
||||
@ -91,12 +91,8 @@ export class MiningJob {
|
||||
testBlock.transactions[0].ins[0].script = inputScript;
|
||||
|
||||
//@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
|
||||
testBlock.merkleRoot = newRoot;
|
||||
testBlock.merkleRoot = this.calculateMerkleRootHash(testBlock.transactions[0].__toBuffer(), this.merkle_branch);;
|
||||
|
||||
return testBlock;
|
||||
}
|
||||
|
@ -244,7 +244,7 @@ export class StratumV1Client extends EasyUnsubscribe {
|
||||
if (job == null) {
|
||||
return;
|
||||
}
|
||||
const updatedJobBlock = job.tryBlock(
|
||||
const updatedJobBlock = job.copyAndUpdateBlock(
|
||||
parseInt(submission.versionMask, 16),
|
||||
parseInt(submission.nonce, 16),
|
||||
this.extraNonce,
|
||||
@ -255,16 +255,18 @@ export class StratumV1Client extends EasyUnsubscribe {
|
||||
|
||||
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)) {
|
||||
console.log('!!! BOCK FOUND !!!');
|
||||
const blockHex = updatedJobBlock.toHex(false);
|
||||
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 {
|
||||
console.log(`Difficulty too low`);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user