Hush-flavored NOMP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

163 lines
8.3 KiB

<style>
body{
color:#808080;
}
#logoImg{
height: 285px;
margin: 55px;
}
#welcomeText{
font-size: 2.7em;
margin: 50px 18px 10px 18px;
}
#welcomeItems{
list-style-type: none;
font-size: 1.3em;
padding: 0 !important;
margin: 0 0 0 18px !important;
}
#welcomeItems > li{
margin: 30px !important;
}
#boxesLower > div {
display: flex;
}
#boxesLower > div > div {
flex: 1 1 auto;
display: flex;
flex-direction: column;
}
.boxLowerHeader{
font-size: 1.3em;
margin: 0 0 5px 10px;
}
</style>
{{ function capitalizeFirstLetter(t){return t.charAt(0).toUpperCase()+t.slice(1)} }}
<div style="text-align:center">
<h1 style="color:#FFFFFF">hushpool.is - Mining Pool For Hush</h1>
<h2>Hush - Speak and Transact Freely</h2>
<h3>Private Cryptocurrency and Messenger using Zero Knowledge Mathematics</h3>
<pre> &amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp; &amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp; &amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;&amp;&amp; &amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;&amp;&amp;
&amp;&amp;&amp;&amp;
<!-- thanks onryō -->
</pre>
</div>
<table>
<tbody><tr>
<td><a href="https://explorer.hush.land" target="_blank">Explorer</a></td>
<td><a href="https://git.hush.is/hush" target="_blank">Gitea</a></td>
<td><a href="https://hush.land/faq.html" target="_blank">F.A.Q</a></td>
<td><a href="https://hush.land/team.html" target="_blank">Team</a></td>
</tr>
<tr>
<td colspan="2"><a href="https://git.hush.is/hush/SilentDragonLite/releases" target="_blank">Lite Wallet</a></td>
<td colspan="2"><a href="https://git.hush.is/hush/SilentDragon/releases" target="_blank">Full Node Wallet</a></td>
</tr>
</tbody></table>
<br/>
<div id="coinInfoRows">
<div id="coinInfoRowKeys">
<div>Minimum Payout:</div>
<div>Payout Frequency:</div>
<div>Pool Fee:</div>
</div>
<div id="coinInfoRowValues">
<div>1 HUSH</div>
<div>Every 3 Hours</div>
<div>0.5%</div>
</div>
</div>
<div class="pure-g-r" id="boxesLower">
{{ for(var pool in it.stats.pools) { }}
<div class="pure-u-1-2">
<div class="boxStats" id="boxStatsLeft">
<div class="boxLowerHeader">{{=capitalizeFirstLetter(it.stats.pools[pool].name)}} Pool Stats</div>
<div class="boxStatsList">
<div>
<div><i class="fa fa-users"></i><span id="statsMiners{{=pool}}">{{=it.stats.pools[pool].minerCount}}</span> Miners</div>
<div><i class="fa fa-rocket"></i><span id="statsWorkers{{=pool}}">{{=it.stats.pools[pool].workerCount}}</span> Workers</div>
<div><i class="fa fa-tachometer"></i><span id="statsHashrate{{=pool}}">{{=it.stats.pools[pool].hashrateString}}</span> (Now)</div>
<div><i class="fa fa-tachometer"></i><span id="statsHashrateAvg{{=pool}}">...</span> (Avg)</div>
<div><i class="fa fa-gavel"></i>Luck <span id="statsLuckDays{{=pool}}">{{=it.stats.pools[pool].luckDays}}</span> Days</div>
</div>
</div>
</div>
</div>
<div class="pure-u-1-2">
<div class="boxStats" id="boxStatsRight">
<div class="boxLowerHeader">{{=capitalizeFirstLetter(it.stats.pools[pool].name)}} Network Stats</div>
<div class="boxStatsList">
<div>
<div><i class="fa fa-bars" aria-hidden="true"></i><small>Block Height:</small> <span id="statsNetworkBlocks{{=pool}}">{{=it.stats.pools[pool].poolStats.networkBlocks}}</span></div>
<div><i class="fa fa-tachometer"></i><small>Network Hash/s:</small> <span id="statsNetworkSols{{=pool}}">{{=it.stats.pools[pool].poolStats.networkSolsString}}</span></div>
<div><i class="fa fa-unlock-alt" aria-hidden="true"></i><small>Difficulty:</small> <span id="statsNetworkDiff{{=pool}}">{{=it.stats.pools[pool].poolStats.networkDiff}}</span></div>
<div><i class="fa fa-users"></i><small>Node Connections:</small> <span id="statsNetworkConnections{{=pool}}">{{=it.stats.pools[pool].poolStats.networkConnections}}</span></div>
</div>
</div>
</div>
</div>
{{ } }}
</div>
<script>
document.querySelector('main').appendChild(document.createElement('script')).src = '/static/stats.js';
$(function() {
window.statsSource = new EventSource("/api/live_stats");
statsSource.addEventListener('message', function (e) {
var stats = JSON.parse(e.data);
for (var pool in stats.pools) {
$('#statsMiners' + pool).text(stats.pools[pool].minerCount);
$('#statsWorkers' + pool).text(stats.pools[pool].workerCount);
$('#statsHashrate' + pool).text(stats.pools[pool].hashrateString);
$('#statsHashrateAvg' + pool).text(getReadableHashRateString(calculateAverageHashrate(pool)));
$('#statsLuckDays' + pool).text(stats.pools[pool].luckDays);
$('#statsValidBlocks' + pool).text(stats.pools[pool].poolStats.validBlocks);
$('#statsTotalPaid' + pool).text((parseFloat(stats.pools[pool].poolStats.totalPaid)).toFixed(8));
$('#statsNetworkBlocks' + pool).text(stats.pools[pool].poolStats.networkBlocks);
$('#statsNetworkDiff' + pool).text(stats.pools[pool].poolStats.networkDiff);
$('#statsNetworkSols' + pool).text(getReadableNetworkHashRateString(stats.pools[pool].poolStats.networkSols));
$('#statsNetworkConnections' + pool).text(stats.pools[pool].poolStats.networkConnections);
}
});
});
function getReadableNetworkHashRateString(hashrate){
hashrate = (hashrate * 1000000);
if (hashrate < 1000000)
return '0 Sol';
var byteUnits = [ ' Sol/s', ' KSol/s', ' MSol/s', ' GSol/s', ' TSol/s', ' PSol/s' ];
var i = Math.floor((Math.log(hashrate/1000) / Math.log(1000)) - 1);
hashrate = (hashrate/1000) / Math.pow(1000, i + 1);
return hashrate.toFixed(2) + byteUnits[i];
}
</script>