mirror of
https://github.com/LBRYFoundation/pool.git
synced 2025-09-29 14:50:44 +00:00
58 lines
1.4 KiB
PHP
58 lines
1.4 KiB
PHP
<?php
|
|
|
|
$series = array();
|
|
$n = 0;
|
|
|
|
$json = controller()->memcache->get("yiimp-explorer-diff-".$coin->symbol);
|
|
|
|
if (empty($json)) {
|
|
|
|
// version is used in multi algo coins
|
|
$multiAlgos = versionToAlgo($coin, 0) !== false;
|
|
|
|
$series['diff'] = array();
|
|
|
|
$remote = new Bitcoin($coin->rpcuser, $coin->rpcpasswd, $coin->rpchost, $coin->rpcport);
|
|
for($i = $coin->block_height; $i > max(0, $coin->block_height-500); $i--)
|
|
{
|
|
$hash = $remote->getblockhash($i);
|
|
if(!$hash) continue;
|
|
|
|
$block = $remote->getblock($hash);
|
|
if(!$block) continue;
|
|
|
|
$n++;
|
|
|
|
$tm = $block['time'];
|
|
$dt = date('Y-m-d H:i:s', $tm);
|
|
// $tx = count($block['tx']);
|
|
$diff = $block['difficulty'];
|
|
$vers = $block['version'];
|
|
$algo = versionToAlgo($coin, $vers);
|
|
|
|
if (!$multiAlgos)
|
|
$series['diff'][$n] = array($dt,$diff);
|
|
else {
|
|
//if ($algo == 'sha256') $diff /= 100000.;
|
|
//if ($algo == 'skein') $diff /= 10.;
|
|
$series[$algo][$n] = array($dt,$diff);
|
|
}
|
|
}
|
|
|
|
if (!$multiAlgos)
|
|
$json = json_encode(array_values($series['diff']));
|
|
else if (!empty($coin->algo) && !empty($series[$coin->algo]))
|
|
$json = json_encode(array_values($series[$coin->algo]));
|
|
else {
|
|
$json = '';
|
|
foreach ($series as $algo => $data) {
|
|
$values = array_values($data);
|
|
$json .= json_encode($values).',';
|
|
}
|
|
$json = rtrim($json, ',');
|
|
}
|
|
// memcache the data
|
|
controller()->memcache->set("yiimp-explorer-diff-".$coin->symbol, $json, 120);
|
|
}
|
|
|
|
echo "[$json]";
|