From aa46fb2df2ed887b8e844ea2dbae75b77d18d739 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 14 Dec 2016 10:43:32 -0800 Subject: [PATCH] miner: pass ts. --- lib/mining/miner.js | 1 + lib/mining/minerblock.js | 12 ++---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/mining/miner.js b/lib/mining/miner.js index c107d2a8..75b56eb8 100644 --- a/lib/mining/miner.js +++ b/lib/mining/miner.js @@ -338,6 +338,7 @@ Miner.prototype.createBlock = co(function* createBlock(tip, address) { attempt = new MinerBlock({ tip: tip, version: version, + ts: ts, bits: target, locktime: locktime, flags: this.chain.state.flags, diff --git a/lib/mining/minerblock.js b/lib/mining/minerblock.js index 4e4664ea..511378ff 100644 --- a/lib/mining/minerblock.js +++ b/lib/mining/minerblock.js @@ -49,6 +49,7 @@ function MinerBlock(options) { this.tip = options.tip; this.version = options.version; + this.ts = options.ts; this.height = options.tip.height + 1; this.bits = options.bits; this.target = btcutils.fromCompact(this.bits).toArrayLike(Buffer, 'le', 32); @@ -122,7 +123,7 @@ MinerBlock.prototype._init = function _init() { block.version = this.version; block.prevBlock = this.tip.hash; block.merkleRoot = constants.NULL_HASH; - block.ts = Math.max(this.network.now(), this.tip.ts + 1); + block.ts = this.ts; block.bits = this.bits; block.nonce = 0; @@ -231,8 +232,6 @@ MinerBlock.prototype.updateCoinbase = function updateCoinbase() { */ MinerBlock.prototype.updateNonce = function updateNonce() { - this.block.ts = Math.max(this.network.now(), this.tip.ts + 1); - // Overflow the nonce and increment the extraNonce. this.block.nonce = 0; this.extraNonce.iaddn(1); @@ -256,9 +255,6 @@ MinerBlock.prototype.updateMerkle = function updateMerkle() { if (this.witness) this.updateCommitment(); - // Update timestamp. - this.block.ts = Math.max(this.network.now(), this.tip.ts + 1); - // Recalculate merkle root. this.block.merkleRoot = this.block.createMerkleRoot('hex'); }; @@ -387,8 +383,6 @@ MinerBlock.prototype.mine = function mine() { // Track how long we've been at it. this.begin = util.now(); - assert(this.block.ts > this.tip.ts); - for (;;) { nonce = this.findNonce(); @@ -414,8 +408,6 @@ MinerBlock.prototype.mineAsync = co(function* mineAsync() { // Track how long we've been at it. this.begin = util.now(); - assert(this.block.ts > this.tip.ts); - for (;;) { nonce = yield this.findNonceAsync();