mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 07:09:59 -07:00
155 lines
6.3 KiB
Markdown
155 lines
6.3 KiB
Markdown
# TODO
|
||
|
||
- __CRATES__
|
||
- _BUNDLER_
|
||
- _CLI_
|
||
- UX: launch
|
||
- if first, test read/write speed, add warning if too low (<2gb/s)
|
||
- check available disk space
|
||
- pull latest version and notify if out of date
|
||
- FEAT: add custom path support for config.toml
|
||
- _COMPUTER_
|
||
- BUG: **add rollback of states (in stateful)**
|
||
- FEAT: add support for per index computation
|
||
- FEAT: Add percentiles of cost basis weighted by amount invested compared to total invested
|
||
- BUG: fix min fee_rate which is always ZERO due to coinbase transaction
|
||
- BUG: before computing multiple sources check their length, panic if not equal
|
||
- DX: create usd versions of vecs structs instead of having options everywhere
|
||
- FEAT: datasets
|
||
- `sats` version of all price datasets (average and co)
|
||
- pools
|
||
- highest dominance
|
||
- consecutive blocks
|
||
- max consecutive blocks
|
||
- add indexes back to the mempool.space version of pools as we need the correct one for the API
|
||
- price
|
||
- oracle (https://utxo.live/oracle/UTXOracle.py)
|
||
- cohorts
|
||
- costs basis by percentile
|
||
- address counts relative to all datasets
|
||
- revived/sent supply datasets
|
||
- add `p2pk` group (sum of `p2pk33` and `p2pk65`)
|
||
- add utxo count, address count, supply data for by reused addresses in groups by address type
|
||
- add more date ranges (3-6 months, 5-7 years and more)
|
||
- % of volume
|
||
- indicators
|
||
- pi cycle
|
||
- https://mainnet.observer
|
||
- https://glassnode.com
|
||
- https://checkonchain.com
|
||
- https://researchbitcoin.net/exciting-update-coming-to-the-bitcoin-lab/
|
||
- https://mempool.space/research
|
||
- _ERROR_
|
||
- _FETCHER_
|
||
- _INDEXER_
|
||
- PERF: parse only the needed block number instead the last 100 blocks
|
||
- maybe using https://developer.bitcoin.org/reference/rpc/getblockhash.html
|
||
- _INTERFACE_
|
||
- DX: Maybe change `json` to:
|
||
```json
|
||
{
|
||
"price_close": {
|
||
"data": [115976.6, 115943.4],
|
||
"unit": "USD",
|
||
"range": {
|
||
"from": 19627,
|
||
"to": 19628
|
||
}
|
||
}
|
||
}
|
||
```
|
||
- DX: create pagination enum
|
||
- from to
|
||
- from option<count>
|
||
- to option<count>
|
||
- page + option<per page> default 1000 max 1000
|
||
- BUG: from/to/count params don’t cap all combinations
|
||
- example: from -10,000 count 10, won’t work if underlying vec isn’t 10k or more long
|
||
- _LOGGER_
|
||
- BUG: remove colors from file
|
||
- _MCP_
|
||
- _PARSER_
|
||
- _SERVER_
|
||
- api
|
||
- FEAT: copy mempool's rest api
|
||
- https://mempool.space/docs/api/rest
|
||
- FEAT: add extensions support (.json .csv …) instead of only format
|
||
- FEAT: if format instead of extension then don't download file
|
||
- BUG: ddos protection
|
||
- against API params varying in range
|
||
- search
|
||
- fuzzy on typo
|
||
- https://github.com/rapidfuzz/strsim-rs or stick with current impl
|
||
- create map of all single words
|
||
- do some kind of score with that ?
|
||
- FEAT: discoverability
|
||
- search
|
||
- ???: remove redirects ?
|
||
- FEAT: add support for https (rustls)
|
||
- _STORE_
|
||
- FEAT: save height and version in one file
|
||
- _STRUCTS_
|
||
- _TRAVERSABLE_
|
||
- _GLOBAL_
|
||
- PERF: https://davidlattimore.github.io/posts/2025/09/02/rustforge-wild-performance-tricks.html
|
||
- __DOCS__
|
||
- _README_
|
||
- FEAT: add a comparison table with alternatives
|
||
- FEAT: add faq
|
||
- __WEBSITES__
|
||
- _PACKAGES_
|
||
- DX: move the fetching logic from `bitview` website to an independent `brk` package which could be published to npm
|
||
- https://www.npmjs.com/package/@mempool/mempool.js
|
||
- auto publish with github actions
|
||
- _BITVIEW_
|
||
- EXPLORER
|
||
- FEAT: blocks (interval as length between)
|
||
- FEAT: transactions
|
||
- FEAT: addresses
|
||
- FEAT: miners
|
||
- FEAT: xpubs ?
|
||
- CHART
|
||
- FEAT: Make candlesticks a bi-series with a candlestick series and a line when too zoomed out (like the auto mode)
|
||
- FEAT: Add min/max markers back now that they can be ignored when scaling the chart (to avoids stuttering)
|
||
- BUG: selected unit sometimes changes when going back end forth
|
||
- FEAT: add support for custom charts
|
||
- BUG: price scale format depends on unit, hide digits for sats for example (if/when possible)
|
||
- FEAT: shows certain series as [scatter plots](https://github.com/tradingview/lightweight-charts/issues/1662) with a solid sma/ema
|
||
- mainly datasets with a big variance like raw `hash_rate`
|
||
- BUG: hide pane if no series on it
|
||
- BUG: fix (and reset) pane size (50/50) when changing charts
|
||
- UX: units: add short name / long name / title
|
||
- BUG: verify that "compare" folders aren't missing charts/datasets
|
||
- LEGEND
|
||
- UX: add link to explanation for each name (to glassnode ?)
|
||
- TABLE
|
||
- FEAT: pagination
|
||
- FEAT: exports (.json, .csv,…)
|
||
- UX: improve dataset selection
|
||
- UX: display 1k values (instead of 10k) but to avoid caching multiple times the same values apply everywhere
|
||
- SEARCH
|
||
- UX: improve
|
||
- UX:datasets add legend, and keywords ?
|
||
- FEAT: support height/address/txid
|
||
- GLOSSARY
|
||
- FEAT: Add ?
|
||
- NAV
|
||
- UX: move share button to footer ?
|
||
- FEAT: add hide sidebar button
|
||
- BUG: when clicking on already selected option, pushes to history, bad !
|
||
- GLOBAL
|
||
- BUG: improve behavior when local storage is unavailable by having a global state, otherwise the website forgets/don't save user's settings
|
||
- FEAT: Add manual theme switcher, maybe in a smart way to avoid using real estate ?
|
||
- UI: font:
|
||
- https://fonts.google.com/specimen/Space+Mono
|
||
- PERF: keep as many files as possible [under 14kb](https://endtimes.dev/why-your-website-should-be-under-14kb-in-size/)
|
||
- DX: [No classes](https://news.ycombinator.com/item?id=45287155)
|
||
- UX: [Organic animations](https://courses.joshwcomeau.com/playground/magic-wand-final)
|
||
- __GLOBAL__
|
||
- check `TODO`s in codebase
|
||
- rename `output` to `txout` or `vout`, `input` to `txin` or `vin`
|
||
- https://マリウス.com/thoughts-on-cloudflare/
|
||
- tor: https://news.ycombinator.com/item?id=45683380
|
||
- design: https://opencode.ai/
|
||
- design: https://vortex.dev/
|