Rajout d'un article 20190308

This commit is contained in:
2019-03-08 19:56:23 +01:00
parent a4f572f962
commit 7a66157bd9
4 changed files with 219 additions and 32 deletions

View File

@@ -9,13 +9,13 @@ blockchainExplorer = function(){
var cur_methode = 'hasard';
var isInitSelector = false;
function precisionRound(number) {
function _precisionRound(number) {
var precision = 4;
var factor = Math.pow(10, precision);
return Math.round((number/100000000) * factor) / factor;
}
function getblockNameFromHash(hash)
function _getblockNameFromHash(hash)
{
var retour = '';
liste_blocks.forEach(function(item){
@@ -24,7 +24,7 @@ blockchainExplorer = function(){
return retour;
}
function getblocHashFromName(name)
function _getblocHashFromName(name)
{
var retour = '';
liste_blocks.forEach(function(item){
@@ -33,7 +33,7 @@ blockchainExplorer = function(){
return retour;
}
function addInfoForBlock(block)
function _addInfoForBlock(block)
{
var height = '300px';
var contenu = '';
@@ -43,7 +43,7 @@ blockchainExplorer = function(){
cur_class = 1 - cur_class;
blockName = getblockNameFromHash(block.hash);
blockName = _getblockNameFromHash(block.hash);
if (blockName != '') blockName = ' ( '+blockName+' )';
contenu += ' <h2> <span style="font-size:12px">block</span> '+block.height+blockName+'</h2>';
@@ -53,10 +53,10 @@ blockchainExplorer = function(){
contenu += ' <tr><td>timestamp</td><td align="right"><b>'+block.time+'</b></td></tr>';
contenu += ' <tr><td>nonce</td><td align="right"><b>'+block.nonce+'</b></td></tr>';
contenu += ' <tr><td>nb tx</td><td align="right"><b>'+block.n_tx+'</b></td></tr>';
contenu += ' <tr><td>outputs</td><td align="right"><b>'+precisionRound(block.topisto_outputs).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>inputs</td><td align="right"><b>'+precisionRound(block.topisto_inputs).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>fees</td><td align="right"><b>'+precisionRound(block.topisto_fees).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>reward</td><td align="right"><b>'+precisionRound(block.topisto_reward).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>outputs</td><td align="right"><b>'+_precisionRound(block.topisto_outputs).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>inputs</td><td align="right"><b>'+_precisionRound(block.topisto_inputs).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>fees</td><td align="right"><b>'+_precisionRound(block.topisto_fees).toFixed(4)+'</b></td></tr>';
contenu += ' <tr><td>reward</td><td align="right"><b>'+_precisionRound(block.topisto_reward).toFixed(4)+'</b></td></tr>';
contenu += ' </table>';
$('#info_'+block.height).html(contenu);
@@ -72,7 +72,7 @@ blockchainExplorer = function(){
return true;
}
function addDivForBlock(block_height)
function _addDivForBlock(block_height)
{
var contenu = '';
@@ -94,7 +94,7 @@ blockchainExplorer = function(){
return true;
}
function addDivForVoid()
function _addDivForVoid()
{
var contenu = '';
@@ -116,7 +116,7 @@ blockchainExplorer = function(){
return true;
}
function toggleForwardBtn()
function _toggleForwardBtn()
{
if (cur_height.length < 3)
{
@@ -133,7 +133,7 @@ blockchainExplorer = function(){
return true;
}
function gotoBlock(block_name)
function _gotoBlock(block_name)
{
$(document).scrollTop( $("#explorer").offset().top );
// Bloquer la navigation pendant le calcul
@@ -158,7 +158,7 @@ blockchainExplorer = function(){
liste_blocks['PREVIOUS'] = liste_blocks['BLOCK_'+cur_height[cur_height.length-1]];
cur_height.pop();
toggleForwardBtn();
_toggleForwardBtn();
$('#block_'+cur_height[cur_height.length-2]).slideDown(400, function() {
// Animation complete.
@@ -168,7 +168,7 @@ blockchainExplorer = function(){
} else {
// Ajouter un block
addDivForBlock(cur_height[cur_height.length-1] - 1);
_addDivForBlock(cur_height[cur_height.length-1] - 1);
// Décaler d'un block vers le haut
if (cur_height.length > 1) $('#block_'+cur_height[cur_height.length-2]).slideUp();
@@ -178,9 +178,9 @@ blockchainExplorer = function(){
$.getJSON('data/getBlockInfo.php'+block_hash, function( data ) {
liste_blocks['PREVIOUS'] = data.prev;
liste_blocks['BLOCK_'+data.height] = data.hash;
addInfoForBlock(data);
_addInfoForBlock(data);
toggleForwardBtn();
_toggleForwardBtn();
});
}
@@ -194,17 +194,18 @@ blockchainExplorer = function(){
flag_nav = false;
// Ajouter un div
addDivForBlock(cur_height[cur_height.length-1] - 1);
_addDivForBlock(cur_height[cur_height.length-1] - 1);
// Mettre les infos du
block_hash = '?block_hash='+liste_blocks['PREVIOUS'];
$.getJSON('data/getBlockInfo.php'+block_hash, function( data ) {
liste_blocks['PREVIOUS'] = data.prev;
liste_blocks['BLOCK_'+data.height] = data.hash;
addInfoForBlock(data);
_addInfoForBlock(data);
});
}
function initBlockchain(block_name)
function _initBlockchain(block_name)
{
$(document).scrollTop( $("#explorer").offset().top );
$('#blockchain').html('');
@@ -213,28 +214,28 @@ blockchainExplorer = function(){
flag_nav = true;
block_hash = '';
if (block_name != 'LAST') block_hash = '?block_hash='+getblocHashFromName(block_name);
if (block_name != 'LAST') block_hash = '?block_hash='+_getblocHashFromName(block_name);
$.getJSON('data/getBlockInfo.php'+block_hash, function( data ) {
addDivForBlock(data.height);
addInfoForBlock(data);
_addDivForBlock(data.height);
_addInfoForBlock(data);
liste_blocks['PREVIOUS'] = data.prev;
if (data.prev != '0000000000000000000000000000000000000000000000000000000000000000')
gotoBlock('PREVIOUS');
_gotoBlock('PREVIOUS');
else
addDivForVoid();
_addDivForVoid();
});
return true;
}
function blockSelectorChange()
function _blockSelectorChange()
{
initBlockchain($('#blockSelector').val());
_initBlockchain($('#blockSelector').val());
$('#fast_forward_btn').attr('data-original-title', $('#blockSelector').val());
}
function initBlockSelector()
function _initBlockSelector()
{
if (!isInitSelector)
{
@@ -253,13 +254,19 @@ blockchainExplorer = function(){
{
$.getJSON('data/getKnownBlocksList.php', function( data ) {
liste_blocks = data;
initBlockSelector();
if (cur_height.length == 0) initBlockchain('LAST');
_initBlockSelector();
if (cur_height.length == 0) _initBlockchain('LAST');
return true;
});
}
return {init: _init, ajouterPreviousBlock: _ajouterPreviousBlock};
return {
ajouterPreviousBlock: _ajouterPreviousBlock,
getblocHashFromName: _getblocHashFromName,
init: _init
};
}();
$(document).ready(function(){