- 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
This ensures a unique, hard-to-guess cookie secret for every instance.
Also, renamed from "cookiePassword" to "cookieSecret" to better express
its meaning.
- cleaner support for handling credentials (new app/defaultCredentials.js has the defaults, git-ignored app/credentials.js overwrites)
- update some dependencies
This makes the protocol (either `tcp` or `tls`) for the electrum server
configurable, to allow communicating with an electrum server without tls
encryption.
This commit expands the rpc blacklist to cover all calls that could leak
sensitive information about the wallet of the bitcoin node or that could
cause the operator to lose funds. It also alphabetizes the blacklist.
before this change, searching for a 64-char string that didn't correspond to a block hash would fail due to lack of proper error handling on the RpcError response when running the interpret-string-as-blockhash step
- in tx history, request/display all inputs to get correct gain/loss values
- cross referencing for txid history from electrum
- include genesis coinbase values for genesis coinbase output address (electrum ignores the genesis coinbase TX and +50 value, but for consistency with the rest of this tool they're included)
- banner describing the electrum trust model
- ui tweaks including showing gain/loss for each address tx history item