diff --git a/lib/services/bitcoind.js b/lib/services/bitcoind.js index 73c1ab74..4e96d2ea 100644 --- a/lib/services/bitcoind.js +++ b/lib/services/bitcoind.js @@ -479,11 +479,14 @@ Bitcoin.prototype._checkReindex = function(node, callback) { } if (node._reindex) { interval = setInterval(function() { - node.client.syncPercentage(function(err, percentSynced) { + node.client.getBlockchainInfo(function(err, response) { if (err) { return finish(self._wrapRPCError(err)); } + var percentSynced = response.result.verificationprogress * 100; + log.info('Bitcoin Core Daemon Reindex Percentage: ' + percentSynced.toFixed(2)); + if (Math.round(percentSynced) >= 100) { node._reindex = false; finish(); diff --git a/test/services/bitcoind.unit.js b/test/services/bitcoind.unit.js index fb2fc7ca..50ef9a5d 100644 --- a/test/services/bitcoind.unit.js +++ b/test/services/bitcoind.unit.js @@ -728,13 +728,13 @@ describe('Bitcoin Service', function() { after(function() { sandbox.restore(); }); - it('give error from client syncpercentage', function(done) { + it('give error from client getblockchaininfo', function(done) { var bitcoind = new BitcoinService(baseConfig); bitcoind._reindexWait = 1; var node = { _reindex: true, client: { - syncPercentage: sinon.stub().callsArgWith(0, {code: -1 , message: 'Test error'}) + getBlockchainInfo: sinon.stub().callsArgWith(0, {code: -1 , message: 'Test error'}) } }; bitcoind._checkReindex(node, function(err) { @@ -743,15 +743,20 @@ describe('Bitcoin Service', function() { done(); }); }); - it('will wait until syncpercentage is 100 percent', function(done) { + it('will wait until sync is 100 percent', function(done) { var bitcoind = new BitcoinService(baseConfig); bitcoind._reindexWait = 1; - var percent = 90; + var percent = 0.89; var node = { _reindex: true, client: { - syncPercentage: function(callback) { - callback(null, percent++); + getBlockchainInfo: function(callback) { + percent += 0.01; + callback(null, { + result: { + verificationprogress: percent + } + }); } } };