From c6d137f856c438d0251bc955e5e7ad702dbf7fad Mon Sep 17 00:00:00 2001 From: Gustavo Cortez Date: Sun, 9 Feb 2014 15:59:28 -0300 Subject: [PATCH 1/3] fixed: blocklist by date with limit. when arrive new block, reload last 5 blocks on homepage. The same for new txs. --- app/controllers/blocks.js | 8 ++--- lib/BlockDb.js | 7 ++--- public/js/controllers/index.js | 54 +++++++++++----------------------- test/integration/blocklist.js | 7 ++--- 4 files changed, 27 insertions(+), 49 deletions(-) diff --git a/app/controllers/blocks.js b/app/controllers/blocks.js index f66aa35..4eae98e 100644 --- a/app/controllers/blocks.js +++ b/app/controllers/blocks.js @@ -72,7 +72,6 @@ console.log('[blocks.js.60]: could not get %s from RPC. Orphan? Error?', blockha * List of blocks by date */ exports.list = function(req, res) { - var limit = req.query.limit || -1; var isToday = false; //helper to convert timestamps to yyyy-mm-dd format @@ -103,14 +102,15 @@ exports.list = function(req, res) { var prev = formatTimestamp(new Date((gte - 86400) * 1000)); var next = formatTimestamp(new Date(lte * 1000)); - bdb.getBlocksByDate(gte, lte, limit, function(err, blocks) { + bdb.getBlocksByDate(gte, lte, function(err, blocks) { if (err) { res.status(500).send(err); } else { var blockshashList = []; - for(var i=0;i= parseInt(TRANSACTION_DISPLAYED, 10)) { - $scope.txs = $scope.txs.splice(0, TRANSACTION_DISPLAYED); - } - }); + _getTransactions(); }); socket.on('block', function(block) { - var blockHash = block.hash.toString(); - console.log('Block received! ' + JSON.stringify(block)); - if (parseInt($scope.blocks.length, 10) > parseInt(BLOCKS_DISPLAYED, 10) - 1) { - $scope.blocks.pop(); - } - - _getBlock(blockHash); + var blockHash = block.hash.hash.toString(); + console.log('Block received! ' + JSON.stringify(blockHash)); + _getBlocks(); }); $scope.humanSince = function(time) { @@ -57,18 +47,8 @@ angular.module('insight.system').controller('IndexController', }; $scope.index = function() { - Blocks.get({ - limit: BLOCKS_DISPLAYED - }, function(res) { - $scope.blocks = res.blocks; - $scope.blocksLength = res.lenght; - }); - - Transactions.get({ - limit: TRANSACTION_DISPLAYED - }, function(res) { - $scope.txs = res.txs; - }); + _getBlocks(); + _getTransactions(); }; $scope.txs = []; diff --git a/test/integration/blocklist.js b/test/integration/blocklist.js index d1ed33d..628ef0d 100644 --- a/test/integration/blocklist.js +++ b/test/integration/blocklist.js @@ -3,11 +3,10 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development'; -var TESTING_BLOCK0 = '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943'; -var TESTING_BLOCK1 = '00000000b873e79784647a6c82962c70d228557d24a747ea4d1b8bbe878e1206'; +var TESTING_BLOCK0 = '00000000b873e79784647a6c82962c70d228557d24a747ea4d1b8bbe878e1206'; +var TESTING_BLOCK1 = '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943'; var START_TS = 1; var END_TS = '1296688928~'; // 2/2/2011 23:23PM -var LIMIT = 2; var assert = require('assert'), BlockDb = require('../../lib/BlockDb').class(); @@ -24,7 +23,7 @@ describe('BlockDb getBlocksByDate', function(){ it('Get Hash by Date', function(done) { - bDb.getBlocksByDate(START_TS, END_TS, LIMIT, function(err, list) { + bDb.getBlocksByDate(START_TS, END_TS, function(err, list) { if (err) done(err); assert(list, 'returns list'); assert.equal(list.length,2, 'list has 2 items'); From 34f2e933b6741aaa8fffc8acd394b9ae94836068 Mon Sep 17 00:00:00 2001 From: Gustavo Cortez Date: Sun, 9 Feb 2014 16:26:41 -0300 Subject: [PATCH 2/3] fix update of blockheight on navbar --- public/js/controllers/header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/controllers/header.js b/public/js/controllers/header.js index 7147272..5b4d3a9 100755 --- a/public/js/controllers/header.js +++ b/public/js/controllers/header.js @@ -33,7 +33,7 @@ angular.module('insight.system').controller('HeaderController', }; socket.on('block', function(block) { - var blockHash = block.hash.toString(); + var blockHash = block.hash.hash.toString(); console.log('Updated Blocks Height!'); _getBlock(blockHash); }); From db8b6e2728150672f7e7e02272998c3215e652b7 Mon Sep 17 00:00:00 2001 From: Gustavo Cortez Date: Sun, 9 Feb 2014 21:11:20 -0300 Subject: [PATCH 3/3] when arrive tx, push on list. fixed streamed blocks on homepage. --- app/controllers/blocks.js | 3 +++ insight.js | 2 +- lib/TransactionRpc.js | 4 ++-- public/js/controllers/header.js | 2 +- public/js/controllers/index.js | 24 +++++++++++++++--------- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/app/controllers/blocks.js b/app/controllers/blocks.js index 4eae98e..a2b6ca7 100644 --- a/app/controllers/blocks.js +++ b/app/controllers/blocks.js @@ -109,6 +109,9 @@ exports.list = function(req, res) { else { var blockshashList = []; var limit = parseInt(req.query.limit || blocks.length); + if (blocks.length < limit) { + limit = blocks.length; + } for(var i=0;i= parseInt(TRANSACTION_DISPLAYED, 10)) { + $scope.txs = $scope.txs.splice(0, TRANSACTION_DISPLAYED); + } + }); }); socket.on('block', function(block) { - var blockHash = block.hash.hash.toString(); + var blockHash = block.hash.toString(); console.log('Block received! ' + JSON.stringify(blockHash)); _getBlocks(); }); @@ -48,7 +55,6 @@ angular.module('insight.system').controller('IndexController', $scope.index = function() { _getBlocks(); - _getTransactions(); }; $scope.txs = [];