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.
 
 
 

231 lines
8.9 KiB

extends layout
block headContent
title Home
block content
h1.h3 #{coinConfig.siteTitle}
hr
if (getblockchaininfo == null)
div(class="alert alert-warning")
p(class="font-weight-bold") Unable to get basic blockchain data
ul
li If you just started your node, it may still be initializing.
li If your node is already initialized, check your RPC connection info.
else
if (config.demoSite && session.hideHomepageBanner != "true")
div(class="alert alert-primary alert-dismissible shadow-sm mb-4", role="alert")
span
strong #{coinConfig.siteTitle}
span is
a(href="https://github.com/janoside/btc-rpc-explorer", target="_blank") open-source
span and easy to set up. It can communicate with your
a(href=coinConfig.nodeUrl, target="_blank") #{coinConfig.name} Full Node
span via RPC. See the
a(href="https://github.com/janoside/btc-rpc-explorer", target="_blank") project description
span for a list of features and instructions for running.
if (global.sourcecodeProjectMetadata)
div.mt-2
a(href="https://github.com/janoside/btc-rpc-explorer", class="btn btn-primary mr-3 mb-1")
i(class="fas fa-star mr-2")
span(class="mr-2") Star
span(class="badge bg-white text-dark") #{global.sourcecodeProjectMetadata.stargazers_count}
a(href="https://github.com/janoside/btc-rpc-explorer/fork", class="btn btn-primary mr-3 mb-1")
i(class="fas fa-code-branch mr-2")
span(class="mr-2") Fork
span(class="badge bg-white text-dark") #{global.sourcecodeProjectMetadata.forks_count}
if (!crawlerBot)
button.btn.btn-primary(type="button", class="btn btn-primary mb-1", data-toggle="modal", data-target="#exampleModalCenter")
i(class="fas fa-heart mr-2")
span Support Project
div.mt-2
a.mr-2(href="https://www.npmjs.com/package/btc-rpc-explorer" rel="nofollow" target="_blank")
img(src="https://camo.githubusercontent.com/a2a28dff9062102df7988314d014e68d4612bd83/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f6274632d7270632d6578706c6f7265722e7376673f7374796c653d666c6174" alt="npm version" data-canonical-src="https://img.shields.io/npm/v/btc-rpc-explorer.svg?style=flat" style="max-width:100%;")
a(href="https://npmcharts.com/compare/btc-rpc-explorer?minimal=true" rel="nofollow" target="_blank")
img(src="https://camo.githubusercontent.com/07914c9a0c2f22f7493952dc969c57164bb14f77/687474703a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f6274632d7270632d6578706c6f7265722e7376673f7374796c653d666c6174" alt="NPM downloads" data-canonical-src="http://img.shields.io/npm/dm/btc-rpc-explorer.svg?style=flat" style="max-width:100%;")
a(href="/changeSetting?name=hideHomepageBanner&value=true", class="close", aria-label="Close", style="text-decoration: none;")
span(aria-hidden="true") ×
- var networkSummaryItemCount = 4;
if (getblockchaininfo.size_on_disk)
- networkSummaryItemCount++;
if (global.exchangeRates)
- networkSummaryItemCount++;
if (txStats)
- networkSummaryItemCount++;
- var networkSummaryColumnClass = "col-md-4";
if (networkSummaryItemCount > 6)
- networkSummaryColumnClass = "col-md-3";
div(class="card mb-4 shadow-sm")
div(class="card-header")
h2(class="h6 mb-0") Network Summary
div(class="card-body")
div(class="row")
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px;")
span
i(class="fas fa-tachometer-alt fa-2x mr-2", style="margin-top: 6px;")
- var hashrateData = utils.formatLargeNumber(miningInfo.networkhashps, 3);
span(class="font-weight-bold") Hashrate
p(class="lead")
span #{hashrateData[0]}
span.border-dotted(title=`${hashrateData[1].abbreviation}H = ${hashrateData[1].name}-hash (x10^${hashrateData[1].exponent})`, data-toggle="tooltip") #{hashrateData[1].abbreviation}H/s
if (txStats)
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px;")
span
i(class="fas fa-sign-out-alt fa-2x mr-2", style="margin-top: 6px; margin-left: 3px;")
span(class="font-weight-bold") Total Transactions
p(class="lead") #{txStats.totalTxCount.toLocaleString()}
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px;")
span
i(class="fas fa-unlock-alt fa-2x mr-2", style="margin-top: 6px; margin-left: 3px;")
span(class="font-weight-bold") Unconfirmed Transactions
p(class="lead") #{mempoolInfo.size.toLocaleString()} tx
- var mempoolBytesData = utils.formatLargeNumber(mempoolInfo.usage, 2);
small(class="text-muted font-weight-light") (#{mempoolBytesData[0]} #{mempoolBytesData[1].abbreviation}B)
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px;")
span
i(class="fas fa-bolt fa-2x mr-2", style="margin-top: 6px; margin-left: 6px;")
- var chainworkData = utils.formatLargeNumber(parseInt("0x" + getblockchaininfo.chainwork), 2);
span(class="font-weight-bold") Chainwork
p(class="lead")
span.mr-2.border-dotted(data-toggle="tooltip", title=getblockchaininfo.chainwork.replace(/^0+/, ''))
span #{chainworkData[0]}
span x 10
sup #{chainworkData[1].exponent}
span hashes
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px; font-size: 12px;")
span
i(class="fas fa-dumbbell fa-2x mr-2", style="margin-top: 6px;")
- var difficultyData = utils.formatLargeNumber(getblockchaininfo.difficulty, 3);
span(class="font-weight-bold") Difficulty
p(class="lead")
span.mr-2.border-dotted(data-toggle="tooltip", title=parseFloat(getblockchaininfo.difficulty).toLocaleString())
span #{difficultyData[0]}
span x 10
sup #{difficultyData[1].exponent}
if (getblockchaininfo.size_on_disk)
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px;")
span
i(class="fas fa-database fa-2x mr-2", style="margin-top: 6px; margin-left: 3px;")
span(class="font-weight-bold") Blockchain Size
- var sizeData = utils.formatLargeNumber(getblockchaininfo.size_on_disk, 2);
p(class="lead") #{sizeData[0]} #{sizeData[1].abbreviation}B
if (global.exchangeRates)
div(class=networkSummaryColumnClass)
div(class="float-left", style="height: 40px; width: 40px; font-size: 12px;")
span
i(class="fas fa-money-bill-wave-alt fa-2x mr-2", style="margin-top: 7px;")
span.font-weight-bold.border-dotted(data-toggle="tooltip", title=("Exchange-rate data from: " + coinConfig.exchangeRateData.jsonUrl)) Exchange Rate
if (global.exchangeRates)
p(class="lead") #{utils.formatValueInActiveCurrency(1.0)}
small.text-muted.font-weight-light (#{utils.satoshisPerUnitOfActiveCurrency()})
else
p(class="lead") -
include includes/tools-card.pug
if (latestBlocks)
div(class="card mb-4 shadow-sm")
div(class="card-header")
div(class="row")
div(class="col")
h2(class="h6 mb-0") Latest Blocks
if (getblockchaininfo.initialblockdownload)
small (#{(getblockchaininfo.headers - getblockchaininfo.blocks).toLocaleString()} behind)
div(class="col")
span(style="float: right;")
a(href="/blocks")
span Browse Blocks »
div(class="card-body")
- var blocks = latestBlocks;
- var blockOffset = 0;
include includes/blocks-list.pug
if (txStats)
div(class="card mb-4 shadow-sm")
div(class="card-header")
div(class="row")
div(class="col")
h2(class="h6 mb-0") Transaction Stats Summary
div(class="col")
span(style="float: right;")
a(href="/tx-stats")
span Transaction Stats »
div(class="card-body")
if (true)
div(class="row")
div(class="col-lg-6")
div(class="table-responsive")
table(class="table text-right mb-4 mb-lg-0")
thead
tr
th Period
th Transactions
th Transactions Per Sec
tbody
each item, index in chainTxStats
tr(class="text-monospace")
td #{chainTxStatsLabels[index]}
td #{item.window_tx_count.toLocaleString()}
td #{new Decimal(item.txrate).toDecimalPlaces(4)}
div(class="col-lg-6")
script var txRateDataDay = [];
each item, index in txStats.txCountStats.txRates
script txRateDataDay.push({x:#{item.x}, y:#{item.y}});
- var graphData = {id:"graphRateDay", dataVar:"txRateDataDay", labels:txStats.txCountStats.txLabels, title:"Tx Rate, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Per Sec"};
include ./includes/line-graph.pug