This commit is contained in:
Chris Kleeschulte 2017-02-07 16:15:49 -05:00
parent 921210a6d0
commit f559daac4e

View File

@ -8,7 +8,6 @@ var async = require('async');
var bitcore = require('bitcore-lib');
var BufferUtil = bitcore.util.buffer;
var ProgressBar = require('progress');
var utils = require('../../utils.js');
var green = '\u001b[42m \u001b[0m';
var red = '\u001b[41m \u001b[0m';
@ -66,6 +65,7 @@ function Sync(node, db) {
this.syncing = false;
this.highWaterMark = 100;
this.progressBar = null;
this.lastReportedBlock = 0;
}
inherits(Sync, EventEmitter);
@ -78,16 +78,27 @@ Sync.prototype.initialSync = function() {
return;
}
self.progressBar = new ProgressBar('[:bar] :percent processed: :current blocks/sec: :blockspersec', {
self.lastReportedBlock = self.db.tip.__height;
self.progressBar = new ProgressBar('[:bar] :percent :current blks, :blockspersec blks/sec, :elapsed secs', {
complete: green,
incomplete: red,
total: self.node.services.bitcoind.height
total: self.node.services.bitcoind.height,
clear: true
});
console.log('starting at tip: ', self.db.tip.__height);
self.progressBar.tick(self.db.tip.__height, {
blockspersec: 0.0000
blockspersec: 0
});
var timer = setInterval(function () {
var tick = self.db.tip.__height - self.lastReportedBlock;
self.progressBar.tick(tick, { blockspersec: tick });
self.lastReportedBlock = self.db.tip.__height;
if (self.progressBar.complete) {
clearInterval(timer);
}
}, 1000);
self.syncing = true;
self.blockStream = new BlockStream(self.highWaterMark, self.node.services.bitcoind, self.db.tip.__height);
@ -275,10 +286,6 @@ ProcessSerial.prototype._process = function(block, callback) {
self.db.tip = block;
self.db.emit('addblock');
self.progressBar.tick(1, {
blockspersec: (1 / utils.diffTime(self.processBlockStartTime)).toFixed(4)
});
callback();
});
});