- Breaking changes to the API (see ./api/changelog)
- Homepage
- New "Next Halving" widget in Network Summary
- Show difficulty ATH comparison
- Show "Next Block" fullness
- Progress bar for difficulty adjustment estimate
- Include median fee rate for next-block estimates (also on /next-block)
- Show a banner if 'today' is a Bitcoin 'Holiday' (see more below)
- Minor fixes for running against Bitcoin Core v23
- Block Analysis: include top "days destroyed" transactions
- URL change: /mining-template -> /next-block (redirect is included for compatibility)
- On Extended PubKey pages, include balance data for various address (if Electrum server is configured)
- New /next-halving tool
- Several new API actions/changes; see /api/changelog
- New /holidays, a curated list of Bitcoin 'Holidays'
- Support for different view options on /fun
- On /difficulty-history, make delta graph honor timespan filtering
- Proper use of production-ready MemoryStore for session data
- Support for serving static assets via a configurable CDN
- Misc fixes for erroneous data display on non-mainnet nodes
- Switch from fontawesome to bootstrap-icons v1.8.0
- Refreshed miner-identification database
- Refreshed "Dark" theme with blues toned down (legacy dark theme still available)
- UI/UX tweaks
- Misc minor fixes
- Updated dependencies
- New tool for viewing the UTXO Set: /utxo-set
- New API actions:
- Major fixes for data displayed in /tx-stats tool
- Updated miners, including identification of "Patoshi"-pattern blocks
- /node-details: Include
coinstatsindex
status - Support querying UTXO Set even with slowDeviceMode=true, iff coinstatsindex is available
- Fix for difficulty adjustment estimate
- /difficulty-history: Support for viewing different time ranges
- When viewing unconfirmed transaction details, show an info dialog if the transaction is predicted to be confirmed in the next block
- Performance improvements
- Fix for performance degradation over time due to slow "estimatedSupply" function
- Homepage speedup by making "Estimated Next Block" data load asynchonously
- Caching for /difficulty-history data
- Unicode formatting for OP_RETURN and other similar data (with ascii+hex accessible via toggle)
- New
.env
options for setting defaults (see.env-sample
for details):- BTCEXP_DISPLAY_CURRENCY (btc,sat,local)
- BTCEXP_LOCAL_CURRENCY (usd,eur,gbp)
- BTCEXP_UI_TIMEZONE (utc,local)
- BTCEXP_UI_HIDE_INFO_PANELS (true,false)
- Support for displaying timestamps in local timezone (by using browser default, or setting a manual offset)
- Cleanup treatment of
locktime
on transaction details pages - Unique favicon color based on the active network (mainnet=orange, testnet=green, signet=magenta, regtest=gray)
- Lots of minor styling improvements
- Error handling improvements
- Fix for
/api/quotes/all
- Fix for incorrect date on "Diario El Salvador..." fun item (thanks @Dirkson643)
- New
Fun
items related to Taproot activation - Performance log admin page at /admin/perf-log
- Updated dependencies
- Public API! See the docs at /api/docs (thanks @pointbiz)
- XPUB pages: search for any xpub (ypub, zpub, etc) and see summary details and a list of associated addresses (thanks @pointbiz)
- Homepage: add "Predicted Next Block" section
- Mempool Summary: add top-fee transactions table
- Improvements to transaction details UI, especially on smaller screens
- Cleanup support for Taproot/bech32m
- New /mining-template tool, showing structured output of
getblocktemplate
command - Various improvements to charts and graphs throughout the tool (including lots of y-axis changes: linear->log)
- Better support for BIP9 soft forks shown on /node-details (e.g. Taproot ST in 0.21.1) (Thanks @Pantamis)
- New "Recent" and "Favorites" sections on /rpc-browser
- Block lists: show (min, avg, max) fee rates instead of just avg
- Random Bitcoin-related quote shown in footer on each page load
- New /quotes, curated list of Bitcoin-related quotes (each quote also having its own page like this)
- Preemptive support for upcoming format change to
getrawtransaction
output (thanks @xanoni) - Fix for incorrect homepage block count when using
BTCEXP_UI_HOME_PAGE_LATEST_BLOCKS_COUNT
- Fix for inaccurate difficulty adjustment estimates
- Link to Tor v3 Hidden Service in footer
- Fix for
DEBUG
environment variable being ignored - Fix for /rpc-terminal not parsing non-int parameters properly
- Fix for edge case where txindex availability check fails at startup (add retries with exp. backoff)
- Fix for tiny-value display (i.e. 1e-8 -> 0.00000001)
- Misc UI/UX tweaks
- Cache busting for frontend resources
- Improved error handling in many places
- Updated dependencies
- Fix SSO flow broken by v3.0.0 update
- Fix for regtest network errors on homepage
- Fix for server errors in Docker-based installs
- Improvements to no-
txindex
support: now available for all versions of Bitcoin Core - Move public sites to BitcoinExplorer.org (BIG thanks @SatoshisDomains)
- Add back the /peers tool in the "Tools" menu
- Note: The map on the peers tool now requires users set their own
BTCEXP_MAPBOX_APIKEY
in.env
- Note: The map on the peers tool now requires users set their own
- Response compression
- Remove reference to unused
fonts.css
- Increased static-files cache: 1hr -> 1mo
- Clearer UX around RPC connection failures (show the fact clearly, instead of flooding the log with cryptic errors)
- Fixed changelog for v3.0.0 release (added/clarified some issues)
- Updated favicons (Thanks realfavicongenerator.net)
- Fix for homepage error after failure to get AU exchange rate
- UX improvements on /peers page
- Graphs for top items in /admin/stats
- Optional support for plausible.io analytics
- Fix to avoid displaying empty "Summary" section when we fail to get address txid list
- UX improvement around electrs too-many-txs-for-address errors
- Major visual refresh!
- All new design (layout, fonts, colors, etc)
- Redesigned Dark Mode (now the default)
- New app icon
- Support for pruned nodes and nodes with disabled
txindex
! (HUGE Thanks to @shesek)- Note: Currently only Bitcoin Core versions 0.21+ are able to support this feature (a future improvement is planned to make it available to all versions)
- Mempool Summary improvements
- Greatly improved performance for multiple loads via caching
- Added: "Blocks Count" column by fee-rate bucket
- Tool for estimating Block Depth of a transaction or a fee rate (Thanks @pointbiz)
- Mining Summary: added doughnut chart for rev. breakdown, simplified table data
- Upgraded to Bootstrap 5 (currently beta3...)
- Update mapbox API (Thanks @shesek)
- Note: The map on the /peers page now requires that users set the env var
BTCEXP_MAPBOX_APIKEY
to their own API key
- Note: The map on the /peers page now requires that users set the env var
- Fix for 404 pages hanging (Thanks @shesek)
- Add convenience redirect for baseUrl (Thanks @shesek)
- Make url in logs clickable (Thanks @shesek)
- Caching for static files (maxAge=1hr)
- Frontend performance optimizations
- Smarter performance/memory defaults for slow devices
- Major refactoring, modernization, and code-reuse improvements
- UX improvements and polish throughout
- URL changes
/node-status
->/node-details
/unconfirmed-tx
->/mempool-transactions
- Environment variable changes
- The below changes were made to more clearly acknowledge that multiple Electrum-protocol implementations (e.g. ElectrumX, Electrs) can be used for address queries:
BTCEXP_ADDRESS_API
valueelectrumx
->electrum
(electrumx
should still works)BTCEXP_ELECTRUMX_SERVERS
->BTCEXP_ELECTRUM_SERVERS
(BTCEXP_ELECTRUMX_SERVERS
should still work)
- Updated dependencies
- jQuery: v3.4.1 -> v3.6.0
- highlight.js: v9.14.2 -> v10.7.1
- fontawesome: v5.7.1 -> v5.15.3
- New "Fun" item for the tx containing the whitepaper and new tool to extract the whitepaper and display it
- New fee rate data on
/block-analysis
pages - New minor misc peer data available in Bitcoin Core RPC v0.21+
- New gold exchange rate on homepage
- Fix for SSO token generation URL encoding (Thanks @shesek and @Kixunil)
- Fix for /peers map
- Fix for README
git clone
instructions (Thanks @jonasschnelli)
- Support for running on a configurable BASEURL, e.g. "/explorer/" (Thanks @ketominer, @Kixunil, @shesek)
- Support for SSO (Thanks @Kixunil)
- Support for signet and taproot (Thanks @guggero)
- Support for listening on 0.0.0.0 (Thanks @lukechilds)
- Support for viewing list of block heights for each miner on
/mining-summary
- Sanitizing of environment variables (Thanks @lukechilds)
- Fix for XSS vulnerabilities (Thanks @shesek)
- Fix for low severity lodash dependency vulnerability (Thanks @abhiShandy)
- Fix for zero block reward (eventually on mainnet, now on regtest) (Thanks @MyNameIsOka)
- Fix for cryptic error when running regtest with no blocks
- Fix for pagination errors on /blocks (not displaying genesis block on the last page; error on last page when sort=asc)
- Electrum connect/disconnect stats on
/admin
- Add P2SH bounty address
/fun
items (Thanks @cd2357) - Misc cleanup (Thanks @AaronDewes)
- Add "Thanks" notes to changelog
- Lots of improvements to connect/disconnect/error management with configured Electrum servers
- Include pending balance for addresses queried via ElectrumX, when available
- Include basic stats for Electrum queries on
/admin
- Bug fixes
- Fix for erroneous defaults for boolean env vars in some scenarios (slow device mode)
- Updated dependences and mining pools
- Misc cleanup (Thanks @JosephGoulden)
- Highlight coinbase spends in transaction I/O details
- Highlight very old UTXOs (5+ years) in transaction I/O details
- Transaction page: show "days destroyed"
- Bug fixes
- Fix for "verifymessage" in RPC browser accepting multi-line messages
- Fix to make "--slow-device-mode=false" work
- Don't show errors on address page for bech32 due to trying to parse as base58
- Fix "failure to render homepage when fee estimates are unavailable"
- Minor additions to "fun" data
- Updated dependences
- New data points in homepage "Network Summary":
- Fee estimates (estimatesmartfee) for 1, 6, 144, 1008 blocks
- Hashrate estimate for 1+7 days
- New item for 'Chain Rewrite Days', using 7day hashrate
- New data based on UTXO-set summary. Note that UTXO-set querying is resource intensive and therefore disabled by default to protect slower nodes. Set
BTCEXP_SLOW_DEVICE_MODE
tofalse
in your.env
file to enjoy associated features:- UTXO-set size
- Total coins in circulation
- Market cap
- 24-hour network volume (sum of tx outputs). This value is calculated at app launch and refreshed every 30min.
- Avg block time for current difficulty epoch with estimate of next difficulty adjustment
- Tweaks to data in blocks lists:
- Simpler timestamp formatting for easy reading
- Include "Time-to-Mine" (TTM) for each block (with green/red highlighting for "fast"/"slow" (<5min / >15min) blocks)
- Display average fee in sat/vB
- Add total fees
- Add output volume (if
getblockstats
rpc call is supported, i.e. 0.17.0+) - Show %Full instead of weight/size
- Block Detail page improvements
- New data in "Summary" on Block pages (supported for bitcoind v0.17.0+)
- Outputs total volume
- Input / Output counts
- UTXO count change
- Min / Max tx sizes
- New "Fees Summary" section (bitcoind v0.17.0+)
- Fee rate percentiles
- Fee rates: min, avg, max
- Fee totals: min, avg, max
- New "Technical Details" section. Items from "Summary" in previous versions have been moved here. This section is collapsible if desired.
- New data in "Summary" on Block pages (supported for bitcoind v0.17.0+)
- Improvements to transaction input/output displays
- Change primary input data to be tx outpoint ("txid #voutIndex")
- Zero-indexing for tx inputs/outputs (#173)
- Labels for transaction input/output types
- Inputs: when available, show "input address" below tx outpoint
- Coinbase and OP_RETURN items: show ascii data inline with link to show hex data
- New tool
/block-stats
for viewing summarized block data from recent blocks - New tool /mining-summary for viewing summarized mining data from recent blocks
- New tool
/block-analysis
for analyzing the details of transactions in a block.- IMPORTANT: Use of
/block-analysis
can put heavy memory pressure on this app, depending on the details of the block being analyzed. If your app is crashing, consider setting a higher memory ceiling:node --max_old_space_size=XXX bin/www
(whereXXX
is measured in MB).
- IMPORTANT: Use of
- New tool /difficulty-history showing a graph of the history of all difficulty adjustments
- Change
/mempool-summary
to load data via ajax (UX improvement to give feedback while loading large data sets) - Zero-indexing for tx index-in-block values
- Reduced memory usage
- Versioning for cache keys if using persistent cache (redis)
- Configurable UI "sub-header" links
- Start of RPC API versioning support
- Tweaked styling across site
- Homepage UI tweaks
- Remove "Bitcoin Explorer" H1 (it's redundant)
- Hide the "Date" (timestamp) column for recent blocks (the Age+TTM is more valuable)
- Updated miner configs
- Lots of minor bug fixes
- Fix for unescaped user search query display (#183)
- More detailed network info on
/node-status
- Updated bootstrap, jquery
- Disable stacktrace log output by default (#170)
- Updated miner configs
- Fix for missing changelog file when installed via npm
- Updated miner configs
- Fix startup issues when connecting to a node that's not ready to serve data (e.g. verifying blocks)
- Homepage header: show exchange rate in selected currency (rather than hardcoded USD)
- Homepage header: show sat/USD or sat/EUR
- First-class support for testnet/regtest
- Fixes related to running bitcoind 0.19.0.1
- Updated dependencies
- Version number in footer
/changelog
linked in footer
- Add back map on
/peers
that was lost with recent bug
- Add new default blacklist items for some 'hidden' RPCs
- Print app version info to log on startup
- Remove LTC site from footer
- Show spent/unspent status on tx detail pages
- Show mempool ancestor/descendant txs on tx detail pages
- Blacklist 'createwallet' by default
- Show RBF status for unconfirmed txs
- Faster, more reliable display of
/mempool-summary
and/mempool-transactions
pages - Fix for persisting arg values in UI on
/rpc-browser
- Misc minor fixes and ux tweaks
- Pluggable address API supporting different implementations
- Logging improvements
- Fix to avoid caching unconfirmed txs
- Identify destroyed fees
- Misc minor fixes and ux tweaks
- Fix for background color on light theme
- Dark theme
- Tx rate graph on homepage
- Improved caching
- Misc minor fixes and ux tweaks
- Initial release