diff --git a/routes/index.js b/routes/index.js index 36c3021..91a9a12 100644 --- a/routes/index.js +++ b/routes/index.js @@ -1,17 +1,23 @@ var models = require('../models'); var express = require('express'); var router = express.Router(); +var HeightOffset = require('../config/config')['syncHeightOffset'] || 0; -function formatRate(bytes, decimals = 2) { - if (bytes === 0) return '0 Bytes'; +function formatRate(hashrate, decimals = 2) { + if (hashrate === 0) return '0 H/s'; const k = 1000; const dm = decimals < 0 ? 0 : decimals; const sizes = ['H/s', 'KH/s', 'MH/s', 'GH/s', 'TH/s', 'PH/s', 'EH/s', 'ZH/s', 'YH/s']; - const i = Math.floor(Math.log(bytes) / Math.log(k)); + const i = Math.floor(Math.log(hashrate) / Math.log(k)); - return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; + return parseFloat((hashrate / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; +} + +function shorterHash(hash) { + var parts = hash.match(/[\s\S]{1,14}/g) || []; + return parts[0] + '...' + parts[parts.length-1]; } /* GET home page. */ @@ -26,8 +32,10 @@ router.get('/', async function(req, res, next) { arrayItem.ago = arrayItem.time.toUTCString().substring(5); arrayItem.difficulty = parseFloat(arrayItem.difficulty).toFixed(8); arrayItem.hashrate = formatRate(arrayItem.hashrate, 4); + arrayItem.hash_short = shorterHash(arrayItem.hash); }); res.render('index', { + HeightOffset, blocks, }); }); diff --git a/views/index.pug b/views/index.pug index 060c7fb..d0eb013 100644 --- a/views/index.pug +++ b/views/index.pug @@ -1,7 +1,7 @@ extends layout block content - h3 Last 50 blocks + h3 Last 50 blocks (with delay for #{HeightOffset} blocks) table tr @@ -22,4 +22,4 @@ block content td #{block.difficulty} td #{block.hashrate} td - a(href='/block/' + block.hash + '/') #{block.hash} + a(href='/block/' + block.hash + '/') #{block.hash_short}