[FEATURE] calculating-luck
This commit is contained in:
parent
3a120c4709
commit
f8f8b0a997
@ -22,6 +22,22 @@ class Statistics extends Base {
|
||||
return $this->getcache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get our first block found
|
||||
*
|
||||
**/
|
||||
public function getFirstBlockFound() {
|
||||
$this->debug->append("STA " . __METHOD__, 4);
|
||||
if ($data = $this->memcache->get(__FUNCTION__)) return $data;
|
||||
$stmt = $this->mysqli->prepare("
|
||||
SELECT
|
||||
time FROM " . $this->block->getTableName() . "
|
||||
ORDER BY id ASC LIMIT 1");
|
||||
if ($this->checkStmt($stmt) && $stmt->execute() && $result = $stmt->get_result())
|
||||
return $result->fetch_object()->time;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch last found blocks by time
|
||||
**/
|
||||
@ -44,7 +60,10 @@ class Statistics extends Base {
|
||||
IFNULL(SUM(IF(confirmations = -1 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 604800 SECOND), 1, 0)), 0) AS 7DaysOrphan,
|
||||
IFNULL(SUM(IF(FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 2419200 SECOND), 1, 0)), 0) AS 4WeeksTotal,
|
||||
IFNULL(SUM(IF(confirmations > 0 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 2419200 SECOND), 1, 0)), 0) AS 4WeeksValid,
|
||||
IFNULL(SUM(IF(confirmations = -1 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 2419200 SECOND), 1, 0)), 0) AS 4WeeksOrphan
|
||||
IFNULL(SUM(IF(confirmations = -1 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 2419200 SECOND), 1, 0)), 0) AS 4WeeksOrphan,
|
||||
IFNULL(SUM(IF(FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 29030400 SECOND), 1, 0)), 0) AS 12MonthTotal,
|
||||
IFNULL(SUM(IF(confirmations > 0 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 29030400 SECOND), 1, 0)), 0) AS 12MonthValid,
|
||||
IFNULL(SUM(IF(confirmations = -1 AND FROM_UNIXTIME(time) >= DATE_SUB(now(), INTERVAL 29030400 SECOND), 1, 0)), 0) AS 12MonthOrphan
|
||||
FROM " . $this->block->getTableName());
|
||||
if ($this->checkStmt($stmt) && $stmt->execute() && $result = $stmt->get_result())
|
||||
return $this->memcache->setCache(__FUNCTION__, $result->fetch_assoc());
|
||||
|
||||
@ -44,8 +44,11 @@ if (!$smarty->isCached('master.tpl', $smarty_cache_key)) {
|
||||
|
||||
// Past blocks found, max 4 weeks back
|
||||
$iFoundBlocksByTime = $statistics->getLastBlocksbyTime();
|
||||
$iFirstBlockFound = $statistics->getFirstBlockFound();
|
||||
$iTimeSinceFirstBlockFound = ($now->getTimestamp() - $iFirstBlockFound);
|
||||
|
||||
// Propagate content our template
|
||||
$smarty->assign("FIRSTBLOCKFOUND", $iTimeSinceFirstBlockFound);
|
||||
$smarty->assign("LASTBLOCKSBYTIME", $iFoundBlocksByTime);
|
||||
$smarty->assign("ESTTIME", $iEstTime);
|
||||
$smarty->assign("TIMESINCELAST", $dTimeSinceLast);
|
||||
|
||||
@ -51,32 +51,50 @@
|
||||
{assign var=estshares value=(pow(2, (32 - $GLOBAL.config.target_bits)) * $DIFFICULTY) / pow(2, ($GLOBAL.config.targetdiff - 16))}
|
||||
<td>{$estshares|number_format:"0"} <font size="1">(done: {(100 / $estshares * $GLOBAL.roundshares.valid)|number_format:"2"} %)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">All Blocks - Found / Valid / Orphan</td>
|
||||
<td>{$FOUNDALLVALID + $FOUNDALLORPHAN} / {$FOUNDALLVALID} / {$FOUNDALLORPHAN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Blocks last hour - Found / Valid / Orphan</td>
|
||||
<td>{$FOUNDLASTHOURVALID + $FOUNDLASTHOURORPHAN} / {$FOUNDLASTHOURVALID} / {$FOUNDLASTHOURORPHAN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Blocks last 24 hours - Found / Valid / Orphan</td>
|
||||
<td>{$FOUNDLAST24HOURSVALID + $FOUNDLAST24HOURSORPHAN} / {$FOUNDLAST24HOURSVALID} / {$FOUNDLAST24HOURSORPHAN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Blocks last 7 days - Found / Valid / Orphan</td>
|
||||
<td>{$FOUNDLAST7DAYSVALID + $FOUNDLAST7DAYSORPHAN} / {$FOUNDLAST7DAYSVALID} / {$FOUNDLAST7DAYSORPHAN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Blocks last 4 weeks - Found / Valid / Orphan</td>
|
||||
<td>{$FOUNDLAST4WEEKSVALID + $FOUNDLAST4WEEKSORPHAN} / {$FOUNDLAST4WEEKSVALID} / {$FOUNDLAST4WEEKSORPHAN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="leftheader">Time Since Last Block</td>
|
||||
<td>{$TIMESINCELAST|seconds_to_words}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<tr>
|
||||
<th align="left"></th>
|
||||
<th align="center">Est. Shares</th>
|
||||
<th align="center">Shares found</th>
|
||||
<th align="center">Luck</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">since Pool Start</td>
|
||||
<td align="center">{($FIRSTBLOCKFOUND / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.Total}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.Total / ($FIRSTBLOCKFOUND / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last hour</td>
|
||||
<td align="center">{(3600 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.1HourTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.1HourTotal / (3600 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last day</td>
|
||||
<td align="center">{(86400 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.24HourTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.24HourTotal / (86400 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last week</td>
|
||||
<td align="center">{(604800 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.7DaysTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.7DaysTotal / (604800 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last month</td>
|
||||
<td align="center">{(419200 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.4WeeksTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.4WeeksTotal / (2419200 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last year</td>
|
||||
<td align="center">{(29030400 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.12MonthTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.12MonthTotal / (29030400 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
</table>
|
||||
{if !$GLOBAL.website.api.disabled}<li>These stats are also available in JSON format <a href="{$smarty.server.PHP_SELF}?page=api&action=getpoolstatus&api_key={$GLOBAL.userdata.api_key}">HERE</a></li>{/if}
|
||||
{include file="global/block_footer.tpl"}
|
||||
|
||||
|
||||
@ -31,15 +31,6 @@
|
||||
<th align="left">Est. Shares this Round</td>
|
||||
<td id="b-target"></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<header><h3>Block Statistics</h3></header>
|
||||
<div class="module_content">
|
||||
<table width="100%">
|
||||
<tbody>
|
||||
{if ! $GLOBAL.website.blockexplorer.disabled}
|
||||
<tr>
|
||||
<th align="left" width="50%">Next Network Block</td>
|
||||
@ -59,41 +50,55 @@
|
||||
<th align="left">Time Since Last Block</td>
|
||||
<td colspan="3">{$TIMESINCELAST|seconds_to_words}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<header><h3>Pool Luck</h3></header>
|
||||
<div class="module_content">
|
||||
<table width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th align="left"></th>
|
||||
<th align="center">Found</th>
|
||||
<th align="center">Valid</th>
|
||||
<th align="center">Orphan</th>
|
||||
<th align="center">Est. Shares</th>
|
||||
<th align="center">Shares found</th>
|
||||
<th align="center">Luck</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">All Time</td>
|
||||
<th align="left">since Pool Start</td>
|
||||
<td align="center">{($FIRSTBLOCKFOUND / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.Total}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.TotalValid}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.TotalOrphan}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.Total / ($FIRSTBLOCKFOUND / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Last Hour</td>
|
||||
<th align="left">last hour</td>
|
||||
<td align="center">{(3600 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.1HourTotal}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.1HourValid}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.1HourOrphan}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.1HourTotal / (3600 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Last 24 Hours</td>
|
||||
<th align="left">last day</td>
|
||||
<td align="center">{(86400 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.24HourTotal}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.24HourValid}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.24HourOrphan}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.24HourTotal / (86400 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Last 7 Days</td>
|
||||
<th align="left">last week</td>
|
||||
<td align="center">{(604800 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.7DaysTotal}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.7DaysValid}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.7DaysOrphan}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.7DaysTotal / (604800 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Last 4 Weeks</td>
|
||||
<th align="left">last month</td>
|
||||
<td align="center">{(419200 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.4WeeksTotal}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.4WeeksValid}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.4WeeksOrphan}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.4WeeksTotal / (2419200 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">last year</td>
|
||||
<td align="center">{(29030400 / $ESTTIME)|number_format:"2"}</td>
|
||||
<td align="center">{$LASTBLOCKSBYTIME.12MonthTotal}</td>
|
||||
<td align="center">{($LASTBLOCKSBYTIME.12MonthTotal / (29030400 / $ESTTIME) * 100)|number_format:"2"} %</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user