diff --git a/lib/node.js b/lib/node.js index 16bf376a..9443ac1c 100644 --- a/lib/node.js +++ b/lib/node.js @@ -10,7 +10,6 @@ var index = require('./'); var log = index.log; var Bus = require('./bus'); var BaseService = require('./service'); -var WebService = require('./web'); var errors = require('./errors'); function Node(config) { @@ -32,6 +31,7 @@ function Node(config) { $.checkState(config.datadir, 'Node config expects "datadir"'); this.datadir = config.datadir; + this.port = config.port; this._setNetwork(config); diff --git a/lib/scaffold/default-config.js b/lib/scaffold/default-config.js index 979d110a..3bf92e58 100644 --- a/lib/scaffold/default-config.js +++ b/lib/scaffold/default-config.js @@ -13,7 +13,7 @@ function getDefaultConfig() { datadir: process.env.BITCORENODE_DIR || path.resolve(process.env.HOME, '.bitcoin'), network: process.env.BITCORENODE_NETWORK || 'livenet', port: process.env.BITCORENODE_PORT || 3001, - services: ['bitcoind', 'db', 'address'] + services: ['bitcoind', 'db', 'address', 'web'] } }; } diff --git a/lib/services/db.js b/lib/services/db.js index ca864d13..5762038e 100644 --- a/lib/services/db.js +++ b/lib/services/db.js @@ -658,7 +658,7 @@ DB.prototype.sync = function() { self.bitcoindSyncing = false; self.lastSavedMetadataThreshold = 0; - self.chain.saveMetadata(); + self.saveMetadata(); // If bitcoind is completely synced if (self.node.services.bitcoind.isSynced()) { diff --git a/lib/web.js b/lib/services/web.js similarity index 95% rename from lib/web.js rename to lib/services/web.js index e5656608..81a7641c 100644 --- a/lib/web.js +++ b/lib/services/web.js @@ -8,10 +8,10 @@ var socketio = require('socket.io'); var WebService = function(options) { var self = this; this.node = options.node; - this.port = options.port || 3456; + this.port = options.port || this.node.port || 3456; this.node.on('ready', function() { - self.setupRoutes(); + self.setupAllRoutes(); self.server.listen(self.port); self.createMethodsMap(); }); @@ -42,7 +42,7 @@ WebService.prototype.stop = function(callback) { }) }; -WebService.prototype.setupRoutes = function() { +WebService.prototype.setupAllRoutes = function() { for(var key in this.node.modules) { this.node.modules[key].setupRoutes(this.app); } diff --git a/test/web.unit.js b/test/services/web.unit.js similarity index 97% rename from test/web.unit.js rename to test/services/web.unit.js index 1c283efe..e0803711 100644 --- a/test/web.unit.js +++ b/test/services/web.unit.js @@ -2,7 +2,7 @@ var should = require('chai').should(); var sinon = require('sinon'); -var WebService = require('../lib/web'); +var WebService = require('../../lib/services/web'); var EventEmitter = require('events').EventEmitter; describe('WebService', function() { @@ -33,7 +33,7 @@ describe('WebService', function() { }); }); - describe('#setupRoutes', function() { + describe('#setupAllRoutes', function() { it('should call setupRoutes on each module', function() { var node = { on: sinon.spy(), @@ -49,7 +49,7 @@ describe('WebService', function() { var web = new WebService({node: node}); - web.setupRoutes(); + web.setupAllRoutes(); node.modules.one.setupRoutes.callCount.should.equal(1); node.modules.two.setupRoutes.callCount.should.equal(1); });