Commit graph

180 commits

Author SHA1 Message Date
Dan Janosik
2072546fef
logging cleanup 2024-04-12 17:57:12 -04:00
Dan Janosik
d07c655309
more cache stats 2023-05-02 12:28:14 -04:00
Dan Janosik
c00ae9e864
rpc api: fix to use no-timeout client when running gettxoutsetinfo with params 2023-04-10 11:45:13 -04:00
Dan Janosik
91315dd9a3
debug log cleanup 2023-04-06 13:00:49 -04:00
Dan Janosik
8eef8cbb0a
Drop "bitcoin-core" RPC client in favor of jayson
For a while this project used a fork of ruimarinho/bitcoin-core (the Bitcoin RPC project recommended on an old wiki: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)). Our fork had some minor lint cleanup and updates to some very old dependencies. The upstream project is barely maintained and continues to depend on other libraries with known vulnerabilities. Rather than try to update the fork, this change switches to the jayson RPC library, which is general-purpose rather than bitcoin-specific, is more widely deployed, is better maintained, and lacks vulnerable, old dependencies.
2023-03-31 12:09:53 -04:00
Dan Janosik
2a5da3ad88
cleanup 2023-03-31 11:16:54 -04:00
Dan Janosik
445f85253c
modernization 2023-03-22 12:43:38 -04:00
Dan Janosik
4aac1420b9
misc: lint; modernization; tweak mempool cache/keys; tx page: don't show block header JSON tab for unconfirmed 2023-03-22 12:07:26 -04:00
Dan Janosik
119a053868
Block Analysis: include top "days destroyed" transactions 2023-03-15 16:38:07 -04:00
Dan Janosik
4e3f3f9aeb
Merge remote-tracking branch 'pointbiz/feature-block-header' 2022-09-27 13:58:25 -04:00
Dan Janosik
35eedc1649
debug logging for cache operations
logging code can be heavy (JSON.stringify for objects) so it is opt-in based on the cache key using a regex
2022-09-27 13:34:17 -04:00
Dan Janosik
8fb922349f
Include median fee on for next-block estimates (hp and /next-block)
Fixes #470

Also some minor cleanup and tweaks.
2022-09-23 15:14:28 -04:00
Dan Janosik
db3a3d46e5
updated dependency: major version update for lru-cache
https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md#v7---2022-02
2022-09-23 10:27:36 -04:00
pointbiz
c166d2e995 add block header API 2022-09-22 22:20:42 -04:00
Dan Janosik
e506070702
Cleanup related to merge of PR #436
-move /api/xyzpub/:xyzpub to /api/xyzpub/txids/:xyzpub
-move /api/util/xyzpub/:xyzpub -> /api/xyzpub/:xyzpub
-rename xyzpubAddressApi -> xyzpubApi and move more functionality from apiRouter there
-searchXpubTxids: return more details about the search, then in the apiRouter just use what's needed
-fix in searchXpubTxids: reset gapCount value when tx is found
-update api docs
-update changelogs
2022-05-18 00:12:22 -04:00
Dan Janosik
4acb76bcd3
Merge remote-tracking branch 'pointbiz/feature-xyzpub-tx' 2022-05-17 18:03:56 -04:00
Dan Janosik
2504f8e120
Various:
-load difficulty history at startup, and store ath for use on hp
-hp: display ath data next to difficulty; add some clickthrough icons next to items in network summary
-move difficulty history logic to coreApi (was in internalApiRouter)
-clean up deprecated "new Buffer()" (use Buffer.from() instead)
-versioning support for utils.fileCache (old versions will be deleted automatically)
-include line breaks in utils.fileCache json output
-change icon for diff history
2022-05-01 16:37:26 -04:00
Dan Janosik
aa01fb47a7
Fix #432
getblockchaininfo.softforks -> getdeploymentinfo.deployments
2022-04-24 16:48:56 -04:00
pointbiz
1d08e8c881 new xyzpub API returns txids 2022-04-13 18:05:16 -04:00
Dan Janosik
d1838af9a0
don't limit max size for mempool summary size graph 2021-12-08 15:20:11 -05:00
Dan Janosik
9f9a9e9cce
code cleanup 2021-12-07 13:30:03 -05:00
Dan Janosik
9656744751
more improvements to /tx-stats 2021-12-02 23:44:24 -05:00
Dan Janosik
41ace60d83
/api/mining/miner-summary 2021-12-02 13:53:43 -05:00
Dan Janosik
b579408878
/tx-stats: finally fix the really bad data in this tool 2021-12-01 13:14:19 -05:00
Dan Janosik
fa235b7126
new tool: /utxo-set 2021-11-02 16:29:48 -04:00
Dan Janosik
3036208a1a
cache file fixes 2021-10-29 10:00:08 -04:00
Dan Janosik
c7aaab7971
caching for difficulty history; caching improvements 2021-10-29 09:33:02 -04:00
Dan Janosik
b19a7937d0
Misc:
-new /admin/perf-log: show performance details for various actions
-reorg "next block" code into coreApi
-fix /api/quotes/all (was defined below "/api/quotes/:index" which was catching it)
-homepage: make next-block content load async
2021-09-30 14:28:19 -04:00
Dan Janosik
46294d06a5
Merge branch 'master' of github.com:janoside/btc-rpc-explorer 2021-08-31 14:56:31 -04:00
Dan Janosik
2a81db5549
drop deprecated "request" in favor of "axios" 2021-08-31 14:54:10 -04:00
Dan Janosik
11eb78a11b
rpcApi: more log details for RpcErrors 2021-08-14 11:14:35 -04:00
Dan Janosik
0429d9727d
support for identifying miner by known height
(to support including "patoshi" block heights)
2021-08-14 11:11:29 -04:00
Dan Janosik
259a613b2b
Misc:
- support for miner identification falling back to payout address when unknown
- support for deep linking to non-default nav tabs on many pages
- updated miners
- minor cleanup and ux tweaks
2021-07-30 11:34:36 -04:00
Dan Janosik
39123f9641
Fix #355
Add support for upcoming format change to getrawtransaction output
2021-07-29 15:28:30 -04:00
Dan Janosik
9f285a69d8
cleanup 2021-07-26 12:09:02 -04:00
Dan Janosik
8697c915d9
cleanup 2021-06-07 21:08:33 -04:00
Dan Janosik
1503361326
Misc:
- Updated dependencies, including removing "bitcoin-core" in favor of a self-maintained fork "btc-rpc-client" (forked from bitcoin-core v3.0) which fixes a dependency-based security vulnerability there; the bitcoin-core-v3.0 bump changes the callback structure of the library so changes have been made adding "await" for rpc-client calls
- Fix some parameter-parsing problems with /rpc-browser and /rpc-terminal tools
2021-06-01 16:55:52 -04:00
Dan Janosik
08cdea72c8
Misc:
- New /mining-template page showing structured output from getblocktemplate
- Homepage: add "Predicted Next Block" section (again, using getblocktemplate output)
- WIP: /predicted-blocks tool
- UX improvements to homepage "Tools" section
- Fix title of /block-stats page (haha)
- Changelog updates
2021-05-29 16:58:32 -04:00
Dan Janosik
7889cc2fc1
mempool summary:
-top fee txs
-cleanup main action
2021-05-22 12:16:42 -04:00
Dan Janosik
faef9fbbf0
env var for filesystem cache dir 2021-05-21 11:25:59 -04:00
Dan Janosik
103a7f9671
various improvements to mempool summary loading
...including filesystem caching of the summary
2021-05-21 10:50:16 -04:00
pointbiz
865eb66ee6 API routes for ticker data use case 2021-05-04 20:47:54 -04:00
Dan Janosik
54af81fe34
a little missing armor
hopeful fix for #314
2021-04-20 18:03:56 -04:00
Dan Janosik
1750c2f598
ux imp for electrs too-many-tx errors 2021-04-14 12:39:52 -04:00
Dan Janosik
12e77b85d1
/peers tweaks to service flags stuff 2021-04-13 16:23:39 -04:00
Dan Janosik
b0370fabb5
clearer ux around rpc connection failures:
-new global flag rpcConnected that's set when the connection is verified
-if rpcConnected=false, fail all RPC calls immediately with less fuss (and less log output)
-if rpcConnected=false, don't run any router/action code (which often submits a bunch of destined-to-fail rpcs), rather just show a more friendly error and point users in the right direction to address
2021-04-09 14:01:33 -04:00
Dan Janosik
00a6a7be4f
Work on #300
-Update docs to specify that txindex is necessary for pre-v0.21 nodes
-Gracefully handle getindexinfo failures for old nodes
-Use graceful failure to fallback to assuming that txindex=1 (as docs indicate is necessary)

I'm open to other approaches for identifying absence of txindex, but this should keep older clients functioning at 100% for now.
2021-04-07 22:23:33 -04:00
Dan Janosik
26ec0d2649
electrum+electrumx var that I missed 2021-04-07 18:56:45 -04:00
Dan Janosik
a107acaa8d
mempool summary: table with oldest/largest txs 2021-04-07 18:04:58 -04:00
Dan Janosik
286ee73e1b
ENV vars rename: "ElectrumX" -> "Electrum"
To more clearly acknowledge that any Electrum-protocol implementation can be configured for address queries, the names of variables explicitly named "ElectrumX" have been changed to "Electrum". Backward compatibility with any clients using the old names is meant to be preserved.
2021-04-07 17:24:44 -04:00