first commit
This commit is contained in:
55
data/getBlockInfo.php
Normal file
55
data/getBlockInfo.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
// ---
|
||||
// --- La config globale
|
||||
// ---
|
||||
chdir('/opt/TOPISTO/apps');
|
||||
require_once '/opt/TOPISTO/apps/global/inc/config.php';
|
||||
|
||||
// ---
|
||||
// --- External dependances
|
||||
// ---
|
||||
require TOPISTO_PATH.'/ressources/vendor/autoload.php';
|
||||
|
||||
// ---
|
||||
// --- Internal dependances
|
||||
// ---
|
||||
require_once APP_PATH.'/blockchain/inc/block.php';
|
||||
|
||||
// ---
|
||||
// --- Par défaut on cherche le dernier block en cache
|
||||
// ---
|
||||
$block_hash = blockchain::getLastCacheBlockHash();
|
||||
|
||||
// ---
|
||||
// --- Le cas échéant, on cherche block passé en argument
|
||||
// ---
|
||||
if (isset($_REQUEST['block_hash'])) $block_hash = $_REQUEST['block_hash'];
|
||||
|
||||
$the_block = blockchain::getBlockWithHash($block_hash);
|
||||
if ($the_block === FALSE) die();
|
||||
|
||||
$the_name = blockchain::hash2SpecialName($the_block->hash);
|
||||
if ($the_name == $the_block->hash) $the_name ='';
|
||||
|
||||
// ---
|
||||
// --- Si on a passé un hash, le navigateur peut le mettre en cache
|
||||
// ---
|
||||
if (isset($_REQUEST['block_hash']))
|
||||
{
|
||||
$seconds_to_cache = 180; // 3 minutes de cache HTTP
|
||||
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";
|
||||
header("Expires: $ts");
|
||||
header("Pragma: cache");
|
||||
header("Cache-Control: max-age=$seconds_to_cache");
|
||||
header('Content-Type: application/json');
|
||||
}
|
||||
|
||||
$message = '{"hash":"'.$the_block->hash.'", "block_index":"'.$the_block->block_index.'", "time":"'.date('Y/m/d H:i:s', $the_block->time).'", "height":"'.$the_block->height.'", "topisto_outputs":"'.$the_block->topisto_outputs.'", "prev":"'.$the_block->prev_block.'", "topisto_inputs":"'.$the_block->topisto_inputs.'", "topisto_fees":"'.$the_block->topisto_fees.'", "topisto_reward":"'.$the_block->topisto_reward.'", "nonce":"'.$the_block->nonce.'", "n_tx":"'.$the_block->n_tx.'"}';
|
||||
|
||||
if ($_REQUEST['FULL'] == 'OK') $message = json_encode($the_block);
|
||||
|
||||
header('Content-Type: application/json');
|
||||
die($message);
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user