cryptocurrency-pool-server
Version:
An extremely efficient, highly scalable, all-in-one, easy to setup cryptocurrency pool server
37 lines (36 loc) • 2.23 kB
HTML
<div id="workersPage">
<div id="topCharts">
{{ for (var i = 0, poolNames = Object.keys(it.stats.pools).sort(); i < poolNames.length; i++) { var pool = poolNames[i]; }}
<div class="chartWrapper card">
<div class="chartLabel"><amp-img src="{{=it.poolsConfigs[pool].logo}}" width="{{=it.poolsConfigs[pool].logoWidth}}" height="{{=it.poolsConfigs[pool].logoHeight}}" layout="fixed"></amp-img> {{=it.stats.pools[pool].name.replace(/(^([a-zA-Z\p{M}]))|([ -][a-zA-Z\p{M}])/g,function(s){return s.toUpperCase()})}}</div>
<div class="chartHolder">
<table>
<thead>
<tr>
<th>Address</th>
<th>Mode</th>
<th>Shares</th>
<th>Invalid Shares</th>
<th>Efficiency</th>
<th>Hashrate</th>
</tr>
</thead>
<tbody>
{{ for (var j = 0, workerNames = Object.keys(it.stats.pools[pool].workers).sort(); j < workerNames.length; j++) { var worker = workerNames[j]; }}
{{var workerstat = it.stats.pools[pool].workers[worker]; var sharesKey = workerstat.mode === 'SOLO' ? 'soloshares' : 'shares';}}
<tr class="odd">
<td><a href="/workers/{{=String(worker).split('.')[0]}}">{{=worker}}</a></td>
<td>{{=workerstat.mode}}</td>
<td>{{=Math.floor(workerstat[sharesKey])}}</td>
<td>{{=Math.floor(workerstat['invalid' + sharesKey])}}</td>
<td>{{? workerstat[sharesKey] > 0}} {{=Math.floor(10000 * workerstat[sharesKey] / (workerstat[sharesKey] + workerstat['invalid' + sharesKey])) / 100}}% {{??}} 0% {{?}}</td>
<td>{{=workerstat[workerstat.mode === 'SOLO' ? 'solohashrateString' : 'hashrateString']}}</td>
</tr>
{{ } }}
</tbody>
</table>
</div>
</div>
{{ } }}
</div>
</div>