From 6741df1fcad445f2069bd9c8c8e0548b6d9b16fd Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Thu, 8 Sep 2016 17:59:12 -0700 Subject: [PATCH] network: refactor. optimize startup time. --- lib/protocol/networks.js | 62 +++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 36 deletions(-) diff --git a/lib/protocol/networks.js b/lib/protocol/networks.js index bee5e566..460ccf3f 100644 --- a/lib/protocol/networks.js +++ b/lib/protocol/networks.js @@ -181,6 +181,14 @@ main.pow = { 'hex' ), + /** + * Compact pow limit. + * @const {Number} + * @default + */ + + bits: 486604799, + /** * Default retarget interval. * @const {Number} @@ -197,6 +205,14 @@ main.pow = { targetSpacing: 10 * 60, + /** + * Retarget interval in blocks. + * @const {Number} + * @default + */ + + retargetInterval: 2016, + /** * Allow constant retargetting on testnet. * @const {Boolean} @@ -214,22 +230,6 @@ main.pow = { noRetargeting: false }; -/** - * Retarget interval in blocks. - * @const {Number} - * @default - */ - -main.pow.retargetInterval = main.pow.targetTimespan / main.pow.targetSpacing | 0; - -/** - * Compact pow limit. - * @const {Number} - * @default - */ - -main.pow.bits = utils.toCompact(main.pow.limit); - /** * Block constants. * @enum {Number} @@ -529,16 +529,14 @@ testnet.pow = { '00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'hex' ), + bits: 486604799, targetTimespan: 14 * 24 * 60 * 60, // two weeks targetSpacing: 10 * 60, + retargetInterval: 2016, allowMinDifficultyBlocks: true, noRetargeting: false }; -testnet.pow.retargetInterval = testnet.pow.targetTimespan / testnet.pow.targetSpacing | 0; - -testnet.pow.bits = utils.toCompact(testnet.pow.limit); - testnet.block = { majorityEnforceUpgrade: 51, majorityRejectOutdated: 75, @@ -680,16 +678,14 @@ regtest.pow = { '7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'hex' ), + bits: 545259519, targetTimespan: 14 * 24 * 60 * 60, // two weeks targetSpacing: 10 * 60, + retargetInterval: 2016, allowMinDifficultyBlocks: true, noRetargeting: true }; -regtest.pow.retargetInterval = regtest.pow.targetTimespan / regtest.pow.targetSpacing | 0; - -regtest.pow.bits = utils.toCompact(regtest.pow.limit); - regtest.block = { majorityEnforceUpgrade: 750, majorityRejectOutdated: 950, @@ -828,16 +824,14 @@ segnet3.pow = { '00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'hex' ), + bits: 486604799, targetTimespan: 14 * 24 * 60 * 60, // two weeks targetSpacing: 10 * 60, + retargetInterval: 2016, allowMinDifficultyBlocks: true, noRetargeting: false }; -segnet3.pow.retargetInterval = segnet3.pow.targetTimespan / segnet3.pow.targetSpacing | 0; - -segnet3.pow.bits = utils.toCompact(segnet3.pow.limit); - segnet3.block = { majorityEnforceUpgrade: 7, majorityRejectOutdated: 9, @@ -952,16 +946,14 @@ segnet4.pow = { '000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'hex' ), + bits: 503447551, targetTimespan: 14 * 24 * 60 * 60, // two weeks targetSpacing: 10 * 60, + retargetInterval: 2016, allowMinDifficultyBlocks: true, noRetargeting: false }; -segnet4.pow.retargetInterval = segnet4.pow.targetTimespan / segnet4.pow.targetSpacing | 0; - -segnet4.pow.bits = utils.toCompact(segnet4.pow.limit); - segnet4.block = { majorityEnforceUpgrade: 7, majorityRejectOutdated: 9, @@ -1098,16 +1090,14 @@ simnet.pow = { '7fffff0000000000000000000000000000000000000000000000000000000000', 'hex' ), + bits: 545259519, targetTimespan: 14 * 24 * 60 * 60, // two weeks targetSpacing: 10 * 60, + retargetInterval: 2016, allowMinDifficultyBlocks: true, noRetargeting: false }; -simnet.pow.retargetInterval = simnet.pow.targetTimespan / simnet.pow.targetSpacing | 0; - -simnet.pow.bits = utils.toCompact(simnet.pow.limit); - simnet.block = { majorityEnforceUpgrade: 51, majorityRejectOutdated: 75,