Move closer to the original vision of supporting any address-querying implementation desired. Current options include ElectrumX (as before) and now blockchain.com and blockcypher.com since they were easy to support and are publicly/easily available (though ridiculously neither is yet to support bc1 addresses).
- new env var option BTCEXP_ADDRESS_API, value can be electrumx, blockchain.com, blockcypher.com
- update ElectrumX client connect to request v1.4 of API as all clients are now supposed to do
- misc frontend improvements/cleanup for addresses
- support for configurable RPC concurrency level (default 10, to be under bitcoind default "rpcworkqueue=16")
- queue up requests to prevent overloading RPC work queue of bitcoind
- simplify / cleanup rpcApi
- pull in chart.js and add integrity attribute
- move common tx-stats code to utils
- use bootstrap progress bars for block fullness in blocks-lists (moving away from radial progress which includes too much css and can be finicky)
- clean / reorg frontend code for graphs and homepage network summary
all for demo site only:
- remove github's javascript buttons from homepage in favor of github-api-request followed by self-rendered buttons
- donation modal with support for BTCPay-backed donations of set denominations and hidden-but-expandable old donation addresses
- tweak footer style and remove old donation addresses in favor of another donation button that shows the modal
- bold text for selected address in tx-io-details on address page
- hide large # of outputs by default on address page, only showing default 10 + all outputs for the selected address, with link to show hidden outputs
Without this fix, running btc-rpc-explorer without setting
BTCEXP_ELECTRUMX_SERVERS was being parsed as single empty-string
server, which resulted in the following error:
btc-rpc-explorer/app/config.js:33
electrumXServers.push({protocol:uri.protocol.substring(0, uri.protocol.length - 1), host:uri.hostname, port:parseInt(uri.port)});
^
TypeError: Cannot read property 'substring' of null
at Object.<anonymous> (btc-rpc-explorer/app/config.js:33:47)
- configure electrumX servers with the same mechanisms as everything else
- include _PORT and _ELECTRUMX_SERVERS configs in .env-sample
- drop support for overriding configs via app/credentials.js, and use that filename for the new, dynamic, env-based credentials config file
- updated package-lock
- include sample .env file for easy reference
- continue to support key-by-key updating from credentials.js for now
- minor code formatting
- reflect status of BTCEXP_NO_RATES in UI when applicable (hide new exchanged-currency items from display dropdown and hide exchange rate on homepage)
- rename _LOGIN to _BASIC_AUTH_PASSWORD for clarity
- tweak README to call out .env-sample