v. 0.5.0 | 873199 - 2024/12/04
- Added
Sell Side Risk Ratio
to all entities - Added
Open
,High
andLow
datasets - Added
Satoshis Per Dollar
- Added
All Time High
- Added
All Time High Date
- Added
Days Since All Time High
- Added
Max Days Between All Time Highs
- Added
Max Years Between All Time Highs
- Added
Drawdown
- Added
Adjusted Value Created
,Adjusted Value Destroyed
andAdjusted Spent Output Profit Ratio
to all entities - Added
Realized Profit To Loss Ratio
to all entities - Added
Hash Price Min
- Added
Hash Price Rebound
- Removed all year datasets (25) in favor for epoch datasets (5), the former was too granular to be really useful
- Removed datasets split by liquidity for all datasets already split by any address kind, while fun to have, they took time to compute, ram, and space to store and no one was actually checking them
- Fixed a lot of values in split by liquidity datasets
- Updated the design yet again which made the website for something more minimal and easier on the eyes
- Added a Save In Bitcoin (DCA) simulation page
Added a dashboardAdded the latest values to the tree next to each option instead, while less values are visible at a time, it's much more readable and organised- Added a library of PDFs
- Fixed service worker not passing 304 (not modified) response and instead serving cached responses
- Fixed history not being properly registered
- Fixed window being moveable on iOS when in standalone mode when it shouldn't be
- Added
Compare
section to all groups, to compare all datasets within a group - Updated
Solid Signals
library, which had an important breaking change on thecreateEffect
function which might bring some bugs - Fixed some datasets paths
- A lot of code reorg and file splits
- Adopted a framework like approach to load pages while still being pure JS without a build step
- Probably more that was forgotten
- Added a
/datasets/last
json file with all the latest values - Added
--rpcconnect
parameter to the config - Added handling of SIGINT and SIGTERM terminal signals which menas you can now safely CTRL+C or kill the parser while it's exporting
- Added config print at the start of the program
- Compressed
empty_address_data
struct to save space (should shave of between up to 50% of theaddress_index_to_empty_address_data
database) - Doubled the number of
txid_to_tx_data
databases from 4096 to 8192 AddedBuggy for now--recompute_computed true
argument, to allow recomputation of computed datasets in case of a bug- Fixed not saved arguments, not being processed properly
- Fixed bug in
generic_map.multi_insert_simple_average
- Added defragmentation option
--first-defragment true
of databases to save space (which can save up to 50%) - Fixed bug in the computation of averages in
GenericMap
- Added support and paramer for cookie files with
--rpccookiefile
, and auto find if the path is--datadir/.cookie
- Increased number of retries and time between them when fetching price from exchanges APIs
- Fixed links in several places missing the
/api
part and thus not working - Fixed broken last values routes
- Added support for the
/datasets/last
file via the/api/last
route - Added support for
.json
(won't change anything) and.csv
(will download a csv file) extension at the end of datasets routes - Added
all=true
query parameter to dataset routes to get to full history
- Moved back to this repo
v. 0.4.0 | 861950 - 2024/09/19
- Satonomics is now kibō 🎉
- Complete redesign of the website
- Rewrote the whole application and removed
node
/npm
/pnpm
dependencies in favor for pureHTML
/CSS
/Javascript
- Website is now served by the server
- Added Trading View attribution link to the settings frame and file in the lightweight charts folder
- Many other changes
- Changed the block iterator from a custom version of bitcoin-explorer to the homemade biter which allows the parser to run alongside
bitcoind
- Added datasets compression thanks to zstd to reduce disk usage
- Use the Bitcoin RPC server for various calls instead of running cli commands and then parsing the JSON from the output
- Important database changes that will need a full rescan:
- Changed databases page size from 1MB to 4KB for improved disk usage
- Split txid_to_tx_data database in 4096 chunks (from 256) for improved disk usage
- Split address_index_to_X databases to chunks of 25_000 instead of 50_000
- Removed local Multisig database
- Updated the config, run with
-h
to see possible args - Moved outputs from
/target/outputs
to/out
to allow to run commands likecargo clean
without side effects - Various first run fixes
- Added to
-h
which arguments are saved, which is all of them at the time of writing
- Updated the code to support compressed binaries
- Added serving of the website
- Improved
Cache-Control
behavior
v. 0.3.0 | 853930 - 2024/07/26
- Global
- Improved self-hosting by:
- Fixing an incredibly annoying bug that made the program panic because of a wrong utxo/address durable state after a or many new datasets were added/changed after a first successful parse of the chain
- Fixing a bug that would crash the program if launched for the first time ever
- Auto fetch prices from the main Satonomics instance if missing instead of only trying Kraken's and Binance's API which are limited to the last 16 hours
- Merged the core of
HeightMap
andDateMap
structs intoGenericMap
- Added
Height
struct and many others - Reorganized outputs of both the parser and the server for ease of use and easier sync compatibility
- Improved self-hosting by:
- CLI
- Added an argument parser for improved UX with several options
- Datasets
- Added the following datasets for all entities:
- Value destroyed
- Value created
- Spent Output Profit Ratio (SOPR)
- Added the following ratio datasets and their variations to all prices {realized, moving average, any cointime, etc}:
- Market Price to {X}
- Market Price to {X} Ratio
- Market Price to {X} Ratio 1 Week SMA
- Market Price to {X} Ratio 1 Month SMA
- Market Price to {X} Ratio 1 Year SMA
- Market Price to {X} Ratio 1 Year SMA Momentum Oscillator
- Market Price to {X} Ratio 99th Percentile
- Market Price to {X} Ratio 99.5th Percentile
- Market Price to {X} Ratio 99.9th Percentile
- Market Price to {X} Ratio 1st Percentile
- Market Price to {X} Ratio 0.5th Percentile
- {X} 1% Top Probability
- {X} 0.5% Top Probability
- {X} 0.1% Top Probability
- {X} 1% Bottom Probability
- {X} 0.5% Bottom Probability
- {X} 0.1% Bottom Probability
- Added block metadatasets and their variants (raw/sum/average/min/max/percentiles):
- Block size
- Block weight
- Block VBytes
- Block interval
- Added the following datasets for all entities:
- Price
- Improved error message when price cannot be found
- General
- Added chart scroll button for nice animations à la Wicked
- Added scale mode switch (Linear/Logarithmic) at the bottom right of all charts
- Added unit at the top left of all charts
- Added a backup API in case the main one fails or is offline
- Complete redesign of the datasets object
- Removed import of routes in JSON in favor for hardcoded typed routes in string format which resulted in:
- + A much lighter app
- + Better Lighthouse score
- - Slower Typescript server
- Fixed datasets with null values crashing their fetch function
- Added a 'Go to a random chart' button in several places
- Chart
- Fixed series color being set to default ones after hovering the legend
- Fixed chart starting showing candlesticks and quickly switching to a line when it should've started directly with the line
- Separated the QRCode generator library from the main chunk and made it imported on click
- Fixed timescale changing on small screen after changing charts
- Folders
- Added the size in the "filename" of address cohorts grouped by size
- Favorites
- Added a 'favorite' and 'unfavorite' button at the bottom
- Settings
- Removed the horizontal scroll bar which was unintended
- Run file
- Only run with a watcher if
cargo watch
is available - Removed id_to_path file in favor for only
paths.d.ts
inapp/src/types
- Only run with a watcher if
v. 0.2.0 | 851286 - 2024/07/08
- General
- Added the height version of all datasets and many optimizations to make them usable but only available on desktop and tablets for now
- Added a light theme
- Charts
- Added split panes in order to have the vertical axis visible for all datasets
- Added min and max values on the charts
- Fixed legend hovering on mobile not resetting on touch end
- Added "3 months" and yearly time scale setters (from year 2009 to today)
- Hide scrollbar of timescale setters and instead added scroll buttons to the legend only visible on desktop
- Improved Share/QR Code screen
- Changed all Area series to Line series
- Fixed horizontal scrollable legend not updating on preset change
- Performance
- Improved app's reactivity
- Added some chunk splitting for a faster initial load
- Global improvements that increased the Lighthouse's performance score
- Settings
- Finally made a proper component where you can chose the app's theme, between a moving or static background and its text opacity
- Added donations section with a leaderboard
- Added various links that are visible on the bottom side of the strip on desktop to mobile users
- Added install instructions when not installed for Apple users
- Misc
- Support mini window size, could be useful for embedded views
- Hopefully made scrollbars a little more subtle on WIndows and Linux, can't test
- Generale style updates
- Fixed ulimit only being run in Mac OS instead of whenever the program is detected
v. 0.1.1 | 849240 - 2024/06/24
- Fixed overflow in
Price
struct which caused many Realized Caps and Realized Prices to have completely bogus data - Fixed Realized Cap computation which was using rounded prices instead normal ones
- Added the chunk, date and time of the request to the terminal logs
- Chart
- Added double click option on a legend to toggle the visibility of all other series
- Added highlight effect to a legend by darkening the color of all the other series on the chart while hovering it with the mouse
- Added an API link in the legend for each dataset where applicable (when isn't generated locally)
- Save fullscreen preference in local storage and url
- Improved resize bar on desktop
- Changed resize button logo
- Changed the share button to visible on small screen too
- Improved share screen
- Fixed time range shifting not being the one in url params or saved in local storage
- Fixed time range shifting on series toggling via the legend
- Fixed time range shifting on fullscreen
- Fixed time range shifting on resize of the sidebar
- Set default view at first load to last 6 months
- Added some padding around the datasets (year 1970 to 2100)
- History
- Changed background for the sticky dates from blur to a solid color as it didn't appear properly in Firefox
- Build
- Tried to add lazy loads to have split chunks after build, to have much faster load times and they worked great ! But they completely broke Safari on iOS, we can't have nice things
- Removed many libraries and did some things manually instead to improve build size
- Strip
- Temporarily removed the Home button on the strip bar on desktop as there is no landing page yet
- Settings
- Added version
- PWA
- Fixed background update
- Changed update check frequency to 1 minute (~1kb to fetch every minute which is very reasonable)
- Added a nice banner to ask the user to install the update
- Misc
- Removed tracker even though it was a very privacy friendly as it appeared to not be working properly
- Deleted old price datasets and their backups