Fixed issue with tip.
This commit is contained in:
parent
613cf6ebfb
commit
9875d81df1
@ -26,6 +26,7 @@ var HeaderService = function(options) {
|
||||
this.subscriptions.block = [];
|
||||
this._checkpoint = options.checkpoint || 2000;
|
||||
this.GENESIS_HASH = constants.BITCOIN_GENESIS_HASH[this.node.network];
|
||||
this._newBlocksHeight = 0;
|
||||
};
|
||||
|
||||
inherits(HeaderService, BaseService);
|
||||
@ -65,14 +66,14 @@ HeaderService.prototype.getAPIMethods = function() {
|
||||
|
||||
};
|
||||
|
||||
HeaderService.prototype.getBlockHeader = function(arg) {
|
||||
HeaderService.prototype.getBlockHeader = function(arg, callback) {
|
||||
|
||||
if (utils.isHeight(arg)) {
|
||||
var header = this._headers.getIndex(arg);
|
||||
return header ? header : null;
|
||||
return callback(null, this._headers.getIndex(arg));
|
||||
}
|
||||
|
||||
return this._headers.get(arg);
|
||||
return callback(this._headers.get(arg));
|
||||
|
||||
};
|
||||
|
||||
HeaderService.prototype.getBestHeight = function() {
|
||||
@ -186,6 +187,7 @@ HeaderService.prototype._onBlock = function(block) {
|
||||
header = block.toHeaders().toJSON();
|
||||
header.timestamp = header.ts;
|
||||
header.prevHash = header.prevBlock;
|
||||
header.height = ++this._newBlocksHeight;
|
||||
this._onHeaders([header]);
|
||||
}
|
||||
|
||||
@ -198,7 +200,6 @@ HeaderService.prototype._onHeaders = function(headers) {
|
||||
|
||||
var self = this;
|
||||
|
||||
|
||||
log.debug('Header Service: Received: ' + headers.length + ' header(s).');
|
||||
|
||||
var dbOps = [];
|
||||
@ -208,9 +209,9 @@ HeaderService.prototype._onHeaders = function(headers) {
|
||||
var header = headers[i];
|
||||
if (header instanceof Header) {
|
||||
header = header.toObject();
|
||||
header.height = ++self._tip.height;
|
||||
}
|
||||
|
||||
header.height = ++self._tip.height;
|
||||
header.chainwork = self._getChainwork(header).toString(16, 64);
|
||||
self._lastChainwork = header.chainwork;
|
||||
|
||||
@ -292,6 +293,7 @@ HeaderService.prototype._onBestHeight = function(height) {
|
||||
height + ' tip height: ' + this._tip.height);
|
||||
log.debug('Header Service: Best Height is: ' + height);
|
||||
this._bestHeight = height;
|
||||
this._newBlocksHeight = this._bestHeight;
|
||||
this._startSync();
|
||||
};
|
||||
|
||||
@ -375,7 +377,7 @@ HeaderService.prototype._getPersistedHeaders = function(callback) {
|
||||
|
||||
};
|
||||
|
||||
HeaderService.prototype._getChainwork = function(header, prevHeader) {
|
||||
HeaderService.prototype._getChainwork = function(header) {
|
||||
|
||||
var prevChainwork = new BN(new Buffer(this._lastChainwork || HeaderService.STARTING_CHAINWORK, 'hex'));
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user