2022-01-06 19:59:33 +09:00
|
|
|
<div class="container-xl">
|
2022-01-17 15:34:34 +09:00
|
|
|
|
|
|
|
<app-difficulty [showProgress]=false [showHalving]=true></app-difficulty>
|
|
|
|
|
|
|
|
<div style="height: 500px; margin-top: 30px;" echarts [initOpts]="chartInitOptions" [options]="chartOptions"></div>
|
|
|
|
<div class="text-center loadingGraphs" *ngIf="isLoading">
|
|
|
|
<div class="spinner-border text-light"></div>
|
|
|
|
</div>
|
|
|
|
|
2022-01-06 19:59:33 +09:00
|
|
|
<div class="card-header">
|
2022-01-14 18:09:40 +09:00
|
|
|
<form [formGroup]="radioGroupForm" class="formRadioGroup">
|
|
|
|
<div class="btn-group btn-group-toggle" ngbRadioGroup name="radioBasic" formControlName="dateSpan"
|
|
|
|
(change)="onChangeWindowPreference($event)">
|
2022-01-06 19:59:33 +09:00
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'1d'" [routerLink]="['/pools' | relativeUrl]" fragment="1d"> 1D
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'3d'" [routerLink]="['/pools' | relativeUrl]" fragment="3d"> 3D
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'1w'" [routerLink]="['/pools' | relativeUrl]" fragment="1w"> 1W
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'1m'" [routerLink]="['/pools' | relativeUrl]" fragment="1m"> 1M
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'3m'" [routerLink]="['/pools' | relativeUrl]" fragment="3m"> 3M
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'6m'" [routerLink]="['/pools' | relativeUrl]" fragment="6m"> 6M
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'1y'" [routerLink]="['/pools' | relativeUrl]" fragment="1y"> 1Y
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'2y'" [routerLink]="['/pools' | relativeUrl]" fragment="2y"> 2Y
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'3y'" [routerLink]="['/pools' | relativeUrl]" fragment="3y"> 3Y
|
|
|
|
</label>
|
|
|
|
<label ngbButtonLabel class="btn-primary btn-sm">
|
|
|
|
<input ngbButton type="radio" [value]="'all'" [routerLink]="['/pools' | relativeUrl]" fragment="all"> ALL
|
|
|
|
</label>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<table class="table table-borderless" [alwaysCallback]="true" infiniteScroll [infiniteScrollDistance]="1.5" [infiniteScrollUpDistance]="1.5" [infiniteScrollThrottle]="50">
|
|
|
|
<thead>
|
2022-01-17 15:34:34 +09:00
|
|
|
<th class="d-none d-md-block" i18n="latest-blocks.height">Rank</th>
|
|
|
|
<th><!-- LOGO --></th>
|
|
|
|
<th i18n="latest-blocks.timestamp">Name</th>
|
2022-01-06 19:59:33 +09:00
|
|
|
<th i18n="latest-blocks.timestamp">Hashrate</th>
|
2022-01-17 15:34:34 +09:00
|
|
|
<th i18n="latest-blocks.mined">Block Count (%)</th>
|
|
|
|
<th class="d-none d-md-block" i18n="latest-blocks.transactions">Empty Blocks (%)</th>
|
2022-01-06 19:59:33 +09:00
|
|
|
</thead>
|
2022-01-14 18:09:40 +09:00
|
|
|
<tbody *ngIf="(miningStatsEmitter$ | async) as miningStats">
|
2022-01-06 19:59:33 +09:00
|
|
|
<tr>
|
2022-01-17 15:34:34 +09:00
|
|
|
<td class="d-none d-md-block">-</td>
|
|
|
|
<td><!-- LOGO --></td>
|
2022-01-06 19:59:33 +09:00
|
|
|
<td>All miners</td>
|
2022-01-14 18:09:40 +09:00
|
|
|
<td>{{ miningStats.lastEstimatedHashrate}} PH/s</td>
|
|
|
|
<td>{{ miningStats.blockCount }}</td>
|
2022-01-17 15:34:34 +09:00
|
|
|
<td class="d-none d-md-block">{{ miningStats.totalEmptyBlock }} ({{ miningStats.totalEmptyBlockRatio }}%)</td>
|
2022-01-14 18:09:40 +09:00
|
|
|
</tr>
|
|
|
|
<tr *ngFor="let pool of miningStats.pools">
|
2022-01-17 15:34:34 +09:00
|
|
|
<td class="d-none d-md-block">{{ pool.rank }}</td>
|
|
|
|
<td><img width="25" height="25" src="{{ pool.logo }}"></td>
|
|
|
|
<td><a target="#" href="{{ pool.link }}">{{ pool.name }}</a></td>
|
2022-01-14 18:09:40 +09:00
|
|
|
<td>{{ pool.lastEstimatedHashrate }} PH/s</td>
|
|
|
|
<td>{{ pool.blockCount }} ({{ pool.share }}%)</td>
|
2022-01-17 15:34:34 +09:00
|
|
|
<td class="d-none d-md-block">{{ pool.emptyBlocks }} ({{ pool.emptyBlockRatio }}%)</td>
|
2022-01-06 19:59:33 +09:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
</div>
|