Files
brk/docs/TODO.md
2026-01-15 23:34:43 +01:00

154 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 dont cap all combinations
- example: from -10,000 count 10, wont work if underlying vec isnt 10k or more long
- _LOGGER_
- BUG: remove colors from file
- _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/