95 lines
4.0 KiB
HTML
Executable File
95 lines
4.0 KiB
HTML
Executable File
{include file="index/layout_header" title="节点状态"}
|
||
|
||
<h5 class="mb-3 fw-bold">NAC 节点状态</h5>
|
||
|
||
<!-- 核心协议状态 -->
|
||
<div class="row g-3 mb-4">
|
||
<div class="col-md-4">
|
||
<div class="card bg-dark border-primary h-100">
|
||
<div class="card-header border-primary text-primary fw-bold">CBPP 共识协议</div>
|
||
<div class="card-body">
|
||
<p>状态:<span class="badge {$stats.cbppBadge|default='bg-secondary'}">{$stats.cbppConsensus|default='unknown'}</span></p>
|
||
<p>当前区块高度:<strong class="text-primary">{$stats.currentBlock|default=0}</strong></p>
|
||
<p class="mb-0">平均出块时间:<strong>{$stats.avgBlockTime|default='3.0'}s</strong></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-4">
|
||
<div class="card bg-dark border-info h-100">
|
||
<div class="card-header border-info text-info fw-bold">CSNP 网络层</div>
|
||
<div class="card-body">
|
||
<p>状态:<span class="badge {$stats.csnpBadge|default='bg-secondary'}">{$stats.csnpNetwork|default='unknown'}</span></p>
|
||
<p>在线节点数:<strong class="text-info">{$stats.nodeCount|default=0}</strong></p>
|
||
<p class="mb-0">网络协议:<strong>CSNP/1.0</strong></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-4">
|
||
<div class="card bg-dark border-warning h-100">
|
||
<div class="card-header border-warning text-warning fw-bold">NVM 虚拟机</div>
|
||
<div class="card-body">
|
||
<p>宪法层:<span class="badge {$stats.constitutionBadge|default='bg-secondary'}">{$stats.constitutionText|default='未知'}</span></p>
|
||
<p>流动区块模式:
|
||
<span class="badge {$stats.fluidBadge|default='bg-secondary'}">{$stats.fluidText|default='未知'}</span>
|
||
</p>
|
||
<p class="mb-0">Charter 合约语言:<strong>已就绪</strong></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 链参数 -->
|
||
<div class="card bg-dark border-secondary mb-4">
|
||
<div class="card-header border-secondary fw-bold">链参数</div>
|
||
<div class="card-body">
|
||
<table class="table table-dark table-borderless mb-0">
|
||
<tbody>
|
||
<tr>
|
||
<td class="text-secondary" style="width:200px">Chain ID</td>
|
||
<td class="text-info fw-bold">{$stats.chainId|default=20260131}</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">网络</td>
|
||
<td>{$stats.network|default='mainnet'}</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">RPC 协议</td>
|
||
<td>NRPC/4.0</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">哈希算法</td>
|
||
<td>SHA3-384(48字节)</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">地址长度</td>
|
||
<td>32字节</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">原生代币</td>
|
||
<td>XTZH(稳定币,SDR 锚定)</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">资产协议</td>
|
||
<td>ACC-20</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-secondary">TPS</td>
|
||
<td>{$stats.tps|default=0}</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- API 健康状态原始数据 -->
|
||
{if condition="!empty($healthJson)"}
|
||
<div class="card bg-dark border-secondary">
|
||
<div class="card-header border-secondary fw-bold">API 服务健康状态(原始数据)</div>
|
||
<div class="card-body">
|
||
<pre class="text-info small mb-0" style="white-space:pre-wrap;word-break:break-all">{$healthJson}</pre>
|
||
</div>
|
||
</div>
|
||
{/if}
|
||
|
||
{include file="index/layout_footer"}
|