btc-rpc-explorer/views/index.pug
Dan Janosik a678c8a6a9
-more styling tweaks/cleanup/consistency
-new fun item showing example of future-dated timelock (coinbase) tx
-special-case code for mainnet genesis coinbase tx, to avoid indicating that satoshi spent these unspendable coins
-tx details: skip displaying locktime when it's meaningless (the raw data is in the json if anyone wants it); show additional info about locktime meaning
-tx details: show byte-size in addition to vByte size, if applicable
-fix for recently broken donut chart on /mining-summary
-changelog
2021-12-06 16:43:10 -05:00

150 lines
5.7 KiB
Text

extends layout
block headContent
title Bitcoin Explorer
block content
if (getblockchaininfo == null)
div.alert.alert-danger
h5.mb-3 Unable to get basic blockchain data
ul
li
p
b If you just started your node, it may still be initializing.
div At startup, bitcoind verifies its block index before making itself available to serve data. The amount of time the verification process takes depends largely on the speed of the machine bitcoind is running on. If you're running bitcoind on low powered, inexpensive hardware, don't be surprised if this process takes a long time.
li
p
b If you believe your bitcoind node is already initialized...
div Check your RPC connection info and/or check this application's error log for possible hints about the cause of this issue.
else
+dismissableAlert("homepageWelcomeBannerDismissed")
h5 Bitcoin Explorer
span.fw-light :
span.fst-italic.ms-1 The free, open-source, easy-to-setup, easy-to-use, self-hosted explorer
span.fw-light Protect your privacy while enjoying the conveniences of public explorers. Made for Bitcoiners by Bitcoiners. Enjoy!
hr
.fa-lg.mt-2
if (global.sourcecodeProjectMetadata)
a.btn.btn-sm.btn-primary.mb-2.mb-md-1.me-3(href="https://github.com/janoside/btc-rpc-explorer", title="View source code on Github", data-bs-toggle="tooltip", data-bs-placement="bottom")
i.fab.fa-github.fa-lg.text-white.me-2
| View Source
a.btn.btn-sm.btn-primary.mb-2.mb-md-1.me-3(href="https://donate.bitcoinexplorer.org", target="_blank", title="Support this project with a donation", data-bs-toggle="tooltip", data-bs-placement="bottom")
i.fas.fa-heart.fa-lg.text-danger.me-2
| Donate
a.btn.btn-sm.btn-primary.mb-2.mb-md-1.me-3(href="https://twitter.com/BitcoinExplorer", target="_blank", title="Follow @BitcoinExplorer on Twitter", data-bs-toggle="tooltip", data-bs-placement="bottom")
i.fab.fa-twitter.fa-lg.text-twitter.me-2
| @BitcoinExplorer
if (getblockchaininfo.softforks && getblockchaininfo.softforks.taproot && getblockchaininfo.softforks.taproot.bip9)
- var minTaprootHeight = getblockchaininfo.softforks.taproot.bip9.min_activation_height;
- var blocksLeft = minTaprootHeight - getblockchaininfo.blocks;
//- var blocksLeft = -145;
if (blocksLeft > 0)
+blockCountdown("Taproot Activation", blocksLeft)
.mb-2 The softfork known as Taproot will activate on Bitcoin's mainnet at block height 709,632. After activation, any Bitcoin user will be able to use a new address type that enables new features and functionality. The Taproot upgrade has been ~4 years in the making!
| Read more about Taproot's history from Pieter Wuille (one of its architects) <a href="https://twitter.com/pwuille/status/1403725170993336322">here</a>.
else if (blocksLeft <= 0 && blocksLeft > -144)
.alert.alert-success
h5 Taproot: Activation Height Reached 🎉
| Taproot has activated on Bitcoin's mainnet as of block height <a href="./block-height/709632">709,632</a>!
if (getblockchaininfo.initialblockdownload && !["regtest", "signet"].includes(global.activeBlockchain))
div.alert.alert-warning.shadow-sm.border.mb-3
div.fw-bold.mb-1 Initial Block Download (IBD) - In Progress...
div.mb-1 Your node is currently downloading and verifying blockchain data. Until the process is finished, some features of this tool will be unusable and/or unreliable.
span.fw-bold Progress:
span #{new Decimal(getblockchaininfo.verificationprogress).times(100).toDP(3)}%
include includes/index-network-summary.pug
if (true || nextBlockTemplate)
if (false)
pre
code.json #{JSON.stringify(nextBlockFeeRateGroups, null, 4)}
.d-flex.justify-content-between
div
- var desc = "Prediction for the next block, based on the output of the getblocktemplate command";
+sectionTitle("Predicted Next Block", false, null, null, null, desc)
div
a.small.ms-2(href="./mining-template") Next block details &raquo;
#index-next-block
+contentSection
+summaryRow(3)
+summaryItem("Transactions")
.text-center.text-reset
.spinner-border.spinner-border-sm
+summaryItem("Fee Rates", "Minimum and maximum fee rates for transactions that are predicted to be included in the next block.", "sat/vB")
.text-center
.spinner-border.spinner-border-sm
+summaryItem("Total Fees", "Sum of fees for all transactions that are predicted to be included in the next block.")
.text-center
.spinner-border.spinner-border-sm
if (false)
.mt-4
.text-center
+summaryTitle("Fee Rate Breakdown")
.progress.mt-2
each group, groupIndex in nextBlockFeeRateGroups
if (group.totalWeight > 0)
- var intPercent = parseInt(100 * group.weightRatio);
if (intPercent < 10)
- intPercent = 10;
- var color = `hsl(${(333 * (groupIndex / nextBlockFeeRateGroups.length))}, 100%, 35%)`;
.progress-bar(role="progressbar", style=`width: ${intPercent}%; background-color: ${color};`, aria-valuenow=`${intPercent}`, aria-valuemin="0", aria-valuemax="100")
| #{new Decimal(group.minFeeRate).toDP(1)}
if (latestBlocks)
.d-flex.justify-content-between
div
+sectionTitle("Latest Blocks")
div
a.small.ms-2(href="./blocks") Browse blocks &raquo;
+contentSection
- var blocks = latestBlocks;
- var blockOffset = 0;
include includes/blocks-list.pug
+contentSection("Tools")
include includes/tools-card.pug
block endOfBody
script.
$(document).ready(function() {
$.get("./snippet/next-block", function(data) {
$("#index-next-block").html(data);
enableTooltipsAndPopovers();
});
});