extends layout block headContent title Node Info block content h1 Node Info hr if (getblockchaininfo) p Data from RPC commands a(href="https://bitcoin.org/en/developer-reference#getblockchaininfo") getblockchaininfo span and a(href="https://bitcoin.org/en/developer-reference#getnetworkinfo") getnetworkinfo if (false) pre code #{JSON.stringify(getblockchaininfo, null, 4)} if (true) table(class="table") tr th(class="table-active properties-header") Chain td(class="monospace") #{getblockchaininfo.chain} tr th(class="table-active properties-header") Version td(class="monospace") #{getnetworkinfo.version} span(class="monospace") (#{getnetworkinfo.subversion}) tr th(class="table-active properties-header") Protocol Version td(class="monospace") #{getnetworkinfo.protocolversion} tr th(class="table-active properties-header") Blockchain Size on Disk td(class="monospace") #{getblockchaininfo.size_on_disk.toLocaleString()} span (pruned: #{getblockchaininfo.pruned}) tr th(class="table-active properties-header") Connections td(class="monospace") #{getnetworkinfo.connections.toLocaleString()} tr th(class="table-active properties-header") Block Count td(class="monospace") #{getblockchaininfo.blocks.toLocaleString()} tr th(class="table-active properties-header") Header Count td(class="monospace") #{getblockchaininfo.headers.toLocaleString()} tr - var scales = [ {val:1000000000000000, name:"quadrillion"}, {val:1000000000000, name:"trillion"}, {val:1000000000, name:"billion"}, {val:1000000, name:"million"} ]; - var scaleDone = false; th(class="table-active properties-header") Difficulty td(class="monospace") span #{getblockchaininfo.difficulty.toLocaleString()} each item in scales if (!scaleDone) - var fraction = Math.floor(getblockchaininfo.difficulty / item.val); if (fraction >= 1) - scaleDone = true; span(class="text-muted") (#{fraction} #{item.name}) tr th(class="table-active properties-header") Status td(class="monospace") if (getblockchaininfo.initialblockdownload) span Initial block download progress #{(100 * getblockchaininfo.verificationprogress).toLocaleString()}% else span Synchronized with network - var startTimeAgo = moment.duration(uptimeSeconds * 1000); tr th(class="table-active properties-header") Uptime td(class="monospace") #{startTimeAgo.format()} tr th(class="table-active properties-header") Network Traffic td(class="monospace") span Total Download: #{utils.formatBytes(getnettotals.totalbytesrecv)} span(class="text-muted") (avg #{utils.formatBytes(getnettotals.totalbytesrecv / uptimeSeconds)}/s) br span Total Upload: #{utils.formatBytes(getnettotals.totalbytessent)} span(class="text-muted") (avg #{utils.formatBytes(getnettotals.totalbytessent / uptimeSeconds)}/s) tr th(class="table-active properties-header") Warnings td(class="monospace") #{getblockchaininfo.warnings}