166 lines
6.0 KiB
HTML
166 lines
6.0 KiB
HTML
<div data-ng-include src="'/views/includes/connection.html'"></div>
|
|
<section>
|
|
<div class="page-header">
|
|
<h1>
|
|
Application Status
|
|
</h1>
|
|
</div>
|
|
<div id="status" class="row">
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
<h2>Sync Status</h2>
|
|
<table class="table" data-ng-controller="StatusController" data-ng-init="getSync()">
|
|
<tbody>
|
|
<tr>
|
|
<td>Sync Progress</td>
|
|
<td>
|
|
<div class="progress">
|
|
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: {{ sync.syncPercentage}}%">
|
|
<span data-ng-show="sync.syncPercentage>0">{{sync.syncPercentage}}% Complete</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Current Sync Status</td>
|
|
<td class="text-right">
|
|
<span data-ng-show="!sync.error">{{sync.status}}</span>
|
|
<span class="text-danger" data-ng-show="sync.error">
|
|
<span class="glyphicon glyphicon-warning-sign"></span>
|
|
{{sync.error}}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Start Date</td>
|
|
<td class="text-right"><time title="{{sync.startTs | date:'medium'}}">{{humanSince(sync.startTs)}}</time></td>
|
|
</tr>
|
|
<tr data-ng-show="sync.endTs">
|
|
<td>Finish Date</td>
|
|
<td class="text-right"><time title="{{sync.startTs | date:'medium'}}" >{{humanSince(sync.endTs)}}</time></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Initial Block Chain Height</td>
|
|
<td class="text-right">{{sync.blockChainHeight}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Synced Blocks</td>
|
|
<td class="text-right">{{sync.syncedBlocks}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Skipped Blocks (previously synced)</td>
|
|
<td class="text-right">{{sync.skippedBlocks}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Sync Type</td>
|
|
<td class="text-right">{{sync.type}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<h2>Last Block</h2>
|
|
<table class="table" style="table-layout: fixed" data-ng-controller="StatusController" data-ng-init="getStatus('LastBlockHash')">
|
|
<thead data-ng-include src="'/views/includes/infoStatus.html'"></thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Last Block Hash (Bitcoind)</td>
|
|
<td class="text-right ellipsis"><a href="/block/{{lastblockhash}}">{{lastblockhash}}</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Current Blockchain Tip (insight)</td>
|
|
<td class="text-right ellipsis"><a href="/block/{{syncTipHash}}">{{syncTipHash}}</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<h2>Transaction Output Set Information</h2>
|
|
<div data-ng-controller="StatusController">
|
|
<button data-ng-click="txoutLoading=1;getStatus('TxOutSetInfo')" class="btn btn-default" data-ng-show="!txoutsetinfo.height">
|
|
Show Transaction Output data
|
|
<span data-ng-show="txoutLoading" class="glyphicon glyphicon-refresh icon-rotate"></span>
|
|
</button >
|
|
|
|
<table class="table" data-ng-show="txoutsetinfo.height" style="table-layout: fixed" >
|
|
<thead data-ng-include src="'/views/includes/infoStatus.html'"></thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Height</td>
|
|
<td class="text-right"><a href="/block-index/{{txoutsetinfo.height}}">{{txoutsetinfo.height}}</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Best Block</td>
|
|
<td class="text-right ellipsis"><a href="/block/{{txoutsetinfo.bestblock}}">{{txoutsetinfo.bestblock}}</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Transactions</td>
|
|
<td class="text-right"> {{txoutsetinfo.transactions}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Transaction Outputs</td>
|
|
<td class="text-right">{{txoutsetinfo.txouts}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Bytes Serialized</td>
|
|
<td class="text-right">{{txoutsetinfo.bytes_serialized}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Hash Serialized</td>
|
|
<td class="text-right ellipsis">{{txoutsetinfo.hash_serialized}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Total Amount</td>
|
|
<td class="text-right">{{txoutsetinfo.total_amount}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div> <!-- END OF COL-8 -->
|
|
|
|
<div class="col-xs-12 col-md-4 col-gray">
|
|
<h2>Bitcoin node information</h2>
|
|
<table class="table" data-ng-controller="StatusController" data-ng-init="getStatus('Info')">
|
|
<thead data-ng-include src="'/views/includes/infoStatus.html'"></thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Version</td>
|
|
<td class="text-right">{{info.version}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Protocol version</td>
|
|
<td class="text-right">{{info.protocolversion}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Blocks</td>
|
|
<td class="text-right"><a href="/block-index/{{info.blocks}}">{{info.blocks}}</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Time Offset</td>
|
|
<td class="text-right">{{info.timeoffset}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Connections to other nodes</td>
|
|
<td class="text-right">{{info.connections}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Mining Difficulty</td>
|
|
<td class="text-right">{{info.difficulty}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Testnet</td>
|
|
<td class="text-right">{{info.testnet}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Proxy setting</td>
|
|
<td class="text-right">{{info.proxy}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Info Errors</td>
|
|
<td class="text-right">{{info.infoErrors}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div> <!-- END OF COL-GRAY -->
|
|
</div>
|
|
</section>
|
|
|