From 6d1c918793b4bbb564a8f9faf5337f7e7fe5d51a Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sun, 15 Jan 2017 12:48:46 -0800 Subject: [PATCH] hostlist: refactor seed handling. --- lib/blockchain/chain.js | 9 +++++---- lib/http/server.js | 4 +++- lib/net/hostlist.js | 21 ++++++++++++--------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/lib/blockchain/chain.js b/lib/blockchain/chain.js index 8fd18013..7900f6ad 100644 --- a/lib/blockchain/chain.js +++ b/lib/blockchain/chain.js @@ -71,7 +71,6 @@ function Chain(options) { this.network = this.options.network; this.logger = this.options.logger; - this.db = new ChainDB(this); this.locker = new Lock(true); this.invalid = new LRU(100); @@ -88,6 +87,8 @@ function Chain(options) { this.orphanCount = 0; this.orphanSize = 0; + this.db = new ChainDB(this); + this._init(); } @@ -2304,10 +2305,10 @@ function ChainOptions(options) { */ ChainOptions.prototype.fromOptions = function fromOptions(options) { - if (options.network != null) + if (options.network != null) { this.network = Network.get(options.network); - - this.witness = this.network.witness; + this.witness = this.network.witness; + } if (options.logger != null) { assert(typeof options.logger === 'object'); diff --git a/lib/http/server.js b/lib/http/server.js index a024deed..15f628df 100644 --- a/lib/http/server.js +++ b/lib/http/server.js @@ -555,8 +555,10 @@ HTTPServer.prototype._init = function _init() { if (cmd.method !== 'getblocktemplate' && cmd.method !== 'getwork') { this.logger.debug('Handling RPC call: %s.', cmd.method); - if (cmd.method !== 'submitblock') + if (cmd.method !== 'submitblock' + && cmd.method !== 'getmemorypool') { this.logger.debug(cmd.params); + } } try { diff --git a/lib/net/hostlist.js b/lib/net/hostlist.js index 96e10c10..f26973b7 100644 --- a/lib/net/hostlist.js +++ b/lib/net/hostlist.js @@ -10,6 +10,7 @@ var assert = require('assert'); var util = require('../utils/util'); var IP = require('../utils/ip'); var co = require('../utils/co'); +var Network = require('../protocol/network'); var NetAddress = require('../primitives/netaddress'); var List = require('../utils/list'); var murmur3 = require('../utils/murmur3'); @@ -17,7 +18,6 @@ var StaticWriter = require('../utils/staticwriter'); var Map = require('../utils/map'); var common = require('./common'); var dns = require('./dns'); -var Network = require('../protocol/network'); /** * Host List @@ -35,6 +35,7 @@ function HostList(options) { this.proxyServer = null; this.resolve = dns.resolve; this.banTime = common.BAN_TIME; + this.rawSeeds = this.network.seeds; this.seeds = []; this.banned = {}; @@ -65,8 +66,13 @@ function HostList(options) { */ HostList.prototype._initOptions = function initOptions(options) { - if (options.network != null) + if (!options) + return; + + if (options.network != null) { this.network = Network.get(options.network); + this.rawSeeds = this.network.seeds; + } if (options.logger != null) { assert(typeof options.logger === 'object'); @@ -93,8 +99,10 @@ HostList.prototype._initOptions = function initOptions(options) { this.banTime = options.banTime; } - if (options.seeds) + if (options.seeds) { assert(Array.isArray(options.seeds)); + this.rawSeeds = options.seeds; + } }; /** @@ -113,12 +121,7 @@ HostList.prototype._init = function init(options) { for (i = 0; i < this.maxBuckets; i++) this.used.push(new List()); - if (options.seeds) { - this.setSeeds(options.seeds); - return; - } - - this.setSeeds(this.network.seeds); + this.setSeeds(this.rawSeeds); }; /**