mirror of
https://github.com/janoside/btc-rpc-explorer.git
synced 2026-08-13 12:33:13 +02:00
-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
150 lines
5.7 KiB
Text
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 »
|
|
|
|
#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 »
|
|
|
|
+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();
|
|
});
|
|
});
|
|
|