diff --git a/lib/status.js b/lib/status.js index 2275adf03..3f989eaa0 100644 --- a/lib/status.js +++ b/lib/status.js @@ -59,10 +59,14 @@ StatusController.prototype.sync = function(req, res) { status = 'finished'; } + // Not exactly the total blockchain height, + // but we will reach 100% when our db and bitcoind are both fully synced + var totalHeight = this.node.services.bitcoind.height / this.node.services.bitcoind.syncPercentage(); + var info = { status: status, blockChainHeight: this.node.services.bitcoind.height, - syncPercentage: this.node.services.db.tip.__height / this.node.services.bitcoind.height * 100, + syncPercentage: Math.round(this.node.services.db.tip.__height / totalHeight * 100), height: this.node.services.db.tip.__height, error: null, type: 'bitcore node' diff --git a/test/status.js b/test/status.js index 1fff1f9b9..3b0bc3c7e 100644 --- a/test/status.js +++ b/test/status.js @@ -125,7 +125,8 @@ describe('Status', function() { }, bitcoind: { height: 500000, - isSynced: sinon.stub().returns(true) + isSynced: sinon.stub().returns(true), + syncPercentage: sinon.stub().returns(.9999) } } };