added clean blocks higher than best block
This commit is contained in:
parent
c26ba17cd4
commit
d9ae085890
2
dist/js/netstats.min.js
vendored
2
dist/js/netstats.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/netstats.min.js.map
vendored
2
dist/js/netstats.min.js.map
vendored
File diff suppressed because one or more lines are too long
@ -28,6 +28,8 @@ Collection.prototype.update = function(id, stats, callback)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
this._blockchain.clean(this.getBestBlockFromItems());
|
||||||
|
|
||||||
var block = this._blockchain.add(stats.block, id);
|
var block = this._blockchain.add(stats.block, id);
|
||||||
|
|
||||||
if (!block)
|
if (!block)
|
||||||
@ -57,6 +59,8 @@ Collection.prototype.addBlock = function(id, stats, callback)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
this._blockchain.clean(this.getBestBlockFromItems());
|
||||||
|
|
||||||
var block = this._blockchain.add(stats, id);
|
var block = this._blockchain.add(stats, id);
|
||||||
|
|
||||||
if (!block)
|
if (!block)
|
||||||
@ -113,6 +117,8 @@ Collection.prototype.addHistory = function(id, blocks, callback)
|
|||||||
{
|
{
|
||||||
blocks = blocks.reverse();
|
blocks = blocks.reverse();
|
||||||
|
|
||||||
|
this._blockchain.clean(this.getBestBlockFromItems());
|
||||||
|
|
||||||
for (var i = 0; i <= blocks.length - 1; i++)
|
for (var i = 0; i <= blocks.length - 1; i++)
|
||||||
{
|
{
|
||||||
this._blockchain.add(blocks[i], id);
|
this._blockchain.add(blocks[i], id);
|
||||||
@ -254,6 +260,13 @@ Collection.prototype.getHistory = function()
|
|||||||
return this._blockchain;
|
return this._blockchain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection.prototype.getBestBlockFromItems = function()
|
||||||
|
{
|
||||||
|
return _.result(_.max(this._items, function(item) {
|
||||||
|
return item.stats.block.number;
|
||||||
|
}), 'stats.block.number', 0);
|
||||||
|
}
|
||||||
|
|
||||||
Collection.prototype.canNodeUpdate = function(id)
|
Collection.prototype.canNodeUpdate = function(id)
|
||||||
{
|
{
|
||||||
var node = this.getNode({id: id});
|
var node = this.getNode({id: id});
|
||||||
|
@ -126,20 +126,6 @@ History.prototype.add = function(block, id)
|
|||||||
|
|
||||||
this._save(item);
|
this._save(item);
|
||||||
|
|
||||||
changed = true;
|
|
||||||
}
|
|
||||||
else if(this._items.length > 0 && block.arrived - this.bestBlock().arrived > 10*60*1000)
|
|
||||||
{
|
|
||||||
this._items.splice(0,1);
|
|
||||||
|
|
||||||
item.propagTimes.push({
|
|
||||||
node: id,
|
|
||||||
received: now,
|
|
||||||
propagation: block.propagation
|
|
||||||
});
|
|
||||||
|
|
||||||
this._save(item);
|
|
||||||
|
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -165,6 +151,22 @@ History.prototype._save = function(block)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
History.prototype.clean = function(max)
|
||||||
|
{
|
||||||
|
if(max > 0 && this._items.length > 0 && max < this.bestBlockNumber())
|
||||||
|
{
|
||||||
|
console.log("MAX:", max);
|
||||||
|
|
||||||
|
console.log("History items before:", this._items.length);
|
||||||
|
|
||||||
|
this._items = _(this._items).filter(function(item) {
|
||||||
|
return item.height <= max;
|
||||||
|
}).value();
|
||||||
|
|
||||||
|
console.log("History items after:", this._items.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
History.prototype.search = function(number)
|
History.prototype.search = function(number)
|
||||||
{
|
{
|
||||||
var index = _.findIndex( this._items, { height: number } );
|
var index = _.findIndex( this._items, { height: number } );
|
||||||
|
@ -485,7 +485,7 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, $localStorage, soc
|
|||||||
return parseInt(node.stats.block.number);
|
return parseInt(node.stats.block.number);
|
||||||
}).stats.block.number;
|
}).stats.block.number;
|
||||||
|
|
||||||
if( bestBlock > $scope.bestBlock )
|
if( bestBlock !== $scope.bestBlock )
|
||||||
{
|
{
|
||||||
$scope.bestBlock = bestBlock;
|
$scope.bestBlock = bestBlock;
|
||||||
$scope.bestStats = _.max($scope.nodes, function (node) {
|
$scope.bestStats = _.max($scope.nodes, function (node) {
|
||||||
|
Loading…
Reference in New Issue
Block a user