v0.6.0
Rooch Release Notes
Major Updates:
-
Refactored and Improve System Components:
- ObjectRuntime, Object Storage, and Object modules for better performance, security, and developer friendliness.
- Introduced rooch-db crate, Improved storage configurations, Enhanced file caching logic, and SQLite optimizations.
- Proving transaction orders via Sequence proof to ensure security, prepare integrated Babylon for Bitcoin security.
-
Enhanced CLI Commands:
- Improved commands like
rooch account
,rooch session-key
,rooch object
, androoch move
. - Beautified CLI outputs.
- Improved commands like
-
Improved RPC:
- Standardized Object output format.
- Support
rooch.rpc.discovery
. - Provided API for querying Move module ABI.
-
Move Virtual Machine Optimization:
- Implemented
vector::append
through native functions and added support for Groth16 zero-knowledge proofs. - Optimized WASM native support.
- Implemented
-
Enhanced Bitcoin Support:
- Addressed reorg issues
- Handle Curse Inscription
- All CLI and RPC address arguments support Bitcoin address input.
-
System Performance and Gas Optimization:
- Reduced gas for transfer transactions from approximately 10 million to around 1.5 million.
-
Move Framework v1 Release:
- Future updates will maintain compatibility.
-
Portal and SDK upgrade: Improve the Portal and release a new SDK, supporting more Bitcoin wallets, OKX wallets, and Onekey wallets.
Additional Improvements:
-
Bug Fixes:
- State query, testnet deployment, and artifact download issues resolved.
- Fixed sequencer order bug and improved error handling in various components.
-
Website and Documentation:
- Updated navigation links, improved website content, and fixed broken URLs.
- Added new blogs, documentation updates, and improved SEO.
-
Metrics and Monitoring:
- Added system metrics and started Prometheus server for metrics pulling.
-
Toolchain and Dependencies:
- Updated dependencies, optimized build processes, and enabled jemalloc for better memory management.
Rooch will continue to improve security and performance, launching the pre-mainnet based on version v0.6.
What's Changed
- [State] Fixup state query bug by @baichuan3 in #1804
- Opt/faucet by @wow-sven in #1800
- Fix portal 0.5 by @wow-sven in #1805
- fix testnet deploy by @yourmoonlight in #1806
- [cli] ParsedAddress support Bitcoin address by @vegetabledogdog in #1807
- update navigation bar link by @geometryolife in #1809
- The generic struct is not allowed except for the Option type. by @steelgeek091 in #1811
- Support freeze package upgrading by @pause125 in #1808
- blog: add early builders on rooch network by @geometryolife in #1812
- blog: update header and add the img by @geometryolife in #1817
- [storage] Introduce rooch-db crate and refactor the StoreConfig by @jolestar in #1819
- Create vercel.json by @Mine77 in #1821
- only deploy rooch container && use artifact to pass image tag between workflow by @yourmoonlight in #1823
- [sequencer] Fix sequencer order bug and add tests by @jolestar in #1824
- fix download artifact for testnet workflow by @yourmoonlight in #1827
- [cli] implement genesis cmd by @jolestar in #1828
- refactor website and recover the some docs by @geometryolife in #1825
- remove useless condition by @yourmoonlight in #1830
- feat: update some content for website by @TwilightLogic in #1814
- [blog] Update the application layer of bitcoin by @jolestar in #1831
- Fix broken urls by @geometryolife in #1835
- Owen/wasm gas meter by @yubing744 in #1792
- Remove suffix and link checker action by @geometryolife in #1838
- avoid rate limiting with token by @yourmoonlight in #1839
- modify hello world by @v1xingyue in #1843
- refactor: update the ecosystem by @TwilightLogic in #1845
- remove unused alias by @v1xingyue in #1842
- switch testnet by @baicaiyihao in #1846
- modify first coin by @v1xingyue in #1848
- doc: add Rooch StarTrek Q&A by @geometryolife in #1847
- Add dependency-review.yml by @jolestar in #1850
- [ci] Use rust-toolchain.toml to replace rust-toolchain file by @jolestar in #1851
- Portal 240606 by @TwilightLogic in #1837
- [toolchain] Add rust-toolchain.toml by @jolestar in #1855
- [ci] action-rs/toolchain to v1 by @jolestar in #1856
- [CLI]
rooch account
supports output in json by @vegetabledogdog in #1854 - Introduce RoochOrBitcoinAddressView by @vegetabledogdog in #1857
- Refactor state rpc API by @pause125 in #1829
- [doc] Update storage abstraction documents by @jolestar in #1849
- feat: optimization wasm gas meter by @yubing744 in #1853
- update first account doc by @geometryolife in #1862
- [genesis] Include genesis static file in binary and reset testnet, prepare release v0.5.4 by @jolestar in #1863
- Gas metering for the transaction size by @steelgeek091 in #1858
- Portal 240611 by @TwilightLogic in #1861
- update quick start counter guide by @geometryolife in #1869
- Update first contract by @geometryolife in #1870
- [bench] Fix and refactor the bench by @jolestar in #1867
- chore: Bump OpenDAL to 0.47.0 by @Xuanwo in #1871
- Check the illegal type and some types of values in the data_struct. by @steelgeek091 in #1876
- [doc] Refactor account and address docs by @jolestar in #1872
- [docs] Update move-on-rooch relative docs by @jolestar in #1874
- [Bitcoin] Handle Curse Inscription by @baichuan3 in #1865
- blog: add the sprouting of rooch by @geometryolife in #1879
- fix(rooch-types): using MoveOption for Inscription.rune by @popcnt1 in #1880
- clean unused workflows by @yourmoonlight in #1882
- chore: fix #1790 by @TwilightLogic in #1877
- [CLI] Remove export filed state for rebuild indexer cli by @baichuan3 in #1878
- [framework] Framework review and do some refactor by @jolestar in #1885
- [CLI]
rooch move
success json output by @vegetabledogdog in #1868 - Using relative path to reference the action in the current branch by @yourmoonlight in #1887
- feat: update meta tags by @TwilightLogic in #1886
- RPC: Output bitcoin address for transaction and object by @pause125 in #1891
- Portal 240616 by @TwilightLogic in #1893
- Use the Option type to wrap the single gas parameter by @steelgeek091 in #1892
- Beautify
rooch rpc request
cli output, and supportjson
mode. by @pause125 in #1894 - [release] Prepare v0.5.5 and reset testnet genesis by @jolestar in #1896
- use dtolnay/rust-toolchain instead of actions-rs/toolchain by @yourmoonlight in #1883
- remove all weekly by @geometryolife in #1900
- Portal 240617 by @TwilightLogic in #1902
- export package binary by @pause125 in #1904
- [bitcoin] Introduce pending block and handle reorg by @jolestar in #1901
- [ci] Update dependabot config by @jolestar in #1918
- retry rustup by @yourmoonlight in #1927
- [Accumulator] Implements sequencer accumulator by @baichuan3 in #1932
- [test] Add testcase for testnet 2821527 block and refactor the real block tests by @jolestar in #1917
- [bitcoin] Define l1_tx type and split l1_tx execution from l1_block by @jolestar in #1933
- [ci] Auto cancel the docker_build task by @jolestar in #1942
- [Testcase] Add sequencer accumulator test cases by @baichuan3 in #1941
- Website blog by @TwilightLogic in #1945
- Recover inscription and get btc test coin docs by @geometryolife in #1946
- [bitcoin] Refactor bitcoin relayer to load ready l1 txs from pending block contract by @jolestar in #1948
- [Website] SEO Enhancement by @TwilightLogic in #1959
- [Portal] Logic Enhancement by @TwilightLogic in #1956
- Add the type depth checking for data_struct. by @steelgeek091 in #1947
- blog: add let's rooch Developer Bootcamp by @geometryolife in #1961
- fix portal gas by @wow-sven in #1960
- [Website] update theme configuration by @TwilightLogic in #1963
- fix let's rooch blog by @geometryolife in #1965
- [Website] Enhancement by @TwilightLogic in #1968
- [break][bitcoin] Refactor bitcoin-move and relayer to handle reorg by @jolestar in #1969
- [CLI] Support object query by @vegetabledogdog in #1931
- refactor: update
postHeader.tsx
by @TwilightLogic in #1971 - [storage] Merge Storage Instance by @jolestar in #1970
- Owen/bitseed validity 4 by @yubing744 in #1776
- [Website] Update by @TwilightLogic in #1975
- [server] Change the default port to 6767 by @jolestar in #1973
- Prepare v0.5.6 by @jolestar in #1976
- feat(statedb): add ability to import Bitcoin UTXO and ORD data into statedb by @popcnt1 in #1981
- feat: update head by @TwilightLogic in #1983
- update dev phrase by @yourmoonlight in #1984
- blog: Rooch Network Will Integrate Babylon to Secure the Native Bitco… by @geometryolife in #1986
- Fix the Bitcoin reorg bug and Add BtcTx bench by @jolestar in #1990
- Enable gas metering for the view function by @steelgeek091 in #2000
- [Sqlite] Optimize Sqlite concurrent read and write mode and tune key database configs by @baichuan3 in #2002
- [vm]Use system address to execute L1 block and L1 tx by @jolestar in #2001
- doc: update connect testnet by @geometryolife in #2006
- doc: update private generics by @geometryolife in #2009
- blog: update read private generics in one article by @geometryolife in #2010
- finish sdk refactor by @wow-sven in #1915
- [Sqlite] Adjust busy timeout to avoid database locked by @baichuan3 in #2014
- refactor(statedb): refactor utxo:inscription_obj_id's map updates by @popcnt1 in #2016
- [release]Prepare v0.5.7 and release stdlib v2 by @jolestar in #2015
- doc: update unit test by @geometryolife in #2020
- feat(statedb): update genesis ord with inscriptions ids index by @popcnt1 in #2023
- chore: add genesis-ord cmd for statedb by @popcnt1 in #2025
- [object][break] Refactor object runtime and introduce ObjectPointer by @jolestar in #2011
- [object] Refactor ObjectRuntime split runtime.rs to mods by @jolestar in #2028
- [deps] remove http by @vegetabledogdog in #2030
- [Website] Update postHeader.tsx/theme.config.tsx by @TwilightLogic in #2032
- fix(statedb): Add fallback for getting public key from script buffer by @popcnt1 in #2035
- Update portaol sdk by @wow-sven in #2040
- [object] Do some cleanup and fix bugs by @jolestar in #2034
- fix vercel deploy failed by @wow-sven in #2043
- docs: add some topic intro pages by @geometryolife in #2041
- feat(rocksdb): enable blobDB of by @popcnt1 in #2046
- limit kit export & fix git status is dirty by @wow-sven in #2047
- [deps] update rpc deps by @vegetabledogdog in #2044
- fix(genesis_ord): add object ID merge functions and update tests by @popcnt1 in #2048
- chore: refine genesis_ord output & comment by @popcnt1 in #2049
- docs(statedb): update the README for statedb genesis cmd by @popcnt1 in #2050
- refactor(genesis ord): derive ord's object_id directly by @popcnt1 in #2059
- fix(rocks): set blob option for each column family by @popcnt1 in #2061
- feat(common): add new 'rooch-common' crate with utility functions by @popcnt1 in #2067
- feat(common): add file cache manager by @popcnt1 in #2068
- update discord faucet output text by @wow-sven in #2069
- fix let us blog by @geometryolife in #2070
- [Website] Update the ecosystem by @TwilightLogic in #2058
- chore(deps): bump opendal from 0.47.1 to 0.47.2 by @dependabot in #2065
- sdk refactor wallet detection & support okx by @wow-sven in #2062
- refactor(statedb_cmd): index utxo:ord before importing by @popcnt1 in #2077
- blog: update all catagory tags by @geometryolife in #2080
- [rpc] Implement json rpc Discovery method by @vegetabledogdog in #2083
- support onekey wallet & fix okx publickey by @wow-sven in #2081
- refactor(statedb_cmd): Add deep check functionality to UTXO:Ords map index by @popcnt1 in #2088
- docs: update rooch statedb genesis-ord command readme by @popcnt1 in #2089
- fix(common): add Linux-specific file caching logic by @popcnt1 in #2090
- fix(statedb-cmd): improve error handling in genesis_utxo.rs by @popcnt1 in #2094
- chore: refine file cache management in genesis data import by @popcnt1 in #2097
- chore(deps): bump serde from 1.0.203 to 1.0.204 by @dependabot in #2098
- [object] Object runtime and state refactor by @jolestar in #2066
- feat(malloc): simple way to enable jemalloc by @popcnt1 in #2100
- chore(deps): bump opendal from 0.47.2 to 0.47.3 by @dependabot in #2099
- [website] support the dark mode for BLOG by @TwilightLogic in #2106
- Provide API to query move module ABI by @pause125 in #2095
- [object] Refactor child object by @jolestar in #2104
- [gh-2022] update address data in mnemonic data. by @feliciss in #2091
- [Metrics] Add system metrics by @baichuan3 in #2082
- writing error by @ranmian in #2109
- Add a native function implementation of 0x1::vector::append. by @steelgeek091 in #2114
- fix typo in docs by @CooperHash in #2116
- release both intel and arm for macOS by @yourmoonlight in #2117
- [rpc] Unify object rpc struct by @jolestar in #2118
- [Website] Update ecosystem partnerships by @miroim in #2103
- chore(links): Update wget link for binary installation by @keienWang in #2110
- chore(links): Update wget command to fetch the latest binary installation link by @keienWang in #2124
- fix: change orderbook example create object function by @mx819812523 in #2123
- chore(deps): bump async-trait from 0.1.80 to 0.1.81 by @dependabot in #2122
- chore(deps): bump clap from 4.5.8 to 4.5.9 by @dependabot in #2121
- chore(deps): bump uuid from 1.9.1 to 1.10.0 by @dependabot in #2120
- [Log] Resolve the problem of trace log being hijacked and not outputting by @baichuan3 in #2128
- website: update button by @geometryolife in #2127
- [framework] Migrate Timestamp from object to timestamp module by @jolestar in #2126
- fix(cmd/statedb): remove temporary placeholder 'unimplemented' in ly_fields function by @popcnt1 in #2131
- [cli] rooch session-key list by @vegetabledogdog in #2129
- [bitcoin] Refactor ord sequence_number to ID by @jolestar in #2133
- [moveos_std] Refactor the display by @jolestar in #2137
- docs: update prerequirements for compiling rooch in docs by @K-tang-mkv in #2149
- docs: jemalloc needs cmake to compile by @lybenson in #2153
- Refactor StateChangeSet and Indexer by @jolestar in #2151
- [Metrics] Start prometheus server for pulling metrics by @baichuan3 in #2150
- [cli] refactor list by @vegetabledogdog in #2154
- [gh-2152] use external dependencies to replace with the custom fastcrypto lib. by @feliciss in #2155
- Unit test for rooch-sdk by @anthhub in #2063
- fix(build): try to fix build issue on MSVC and docker caused by using jemalloc by @popcnt1 in #2135
- [object_runtime] Support Genesis Object init by @jolestar in #2158
- doc: fix learn/overview by @geometryolife in #2159
- extract shell script from deploy workflow to deploy_rooch.sh by @yourmoonlight in #2160
- fix(docker): fix build issue caused by uninstalled tool in DockerfileDebug by @popcnt1 in #2161
- fix[website]: post share in twitter card by @CooperHash in #2112
- fix(ci): fix rust lint workspace in scripts/pr.sh by @popcnt1 in #2166
- feat: add check_asset_is_staked func by @mx819812523 in #2165
- Add the data_struct attribute to ObjectID by @steelgeek091 in #2162
- [smt] Sparse Merkle Tree benchmark and optimize by @jolestar in #2163
- update startrek q&a by @geometryolife in #2111
- feat: flag inscription burned by @yubing744 in #2107
- make more pretty to command help inteface by @TheHeBoy in #2168
- chore: fix rust fmt issue by @popcnt1 in #2171
- [gh-1644] add groth16 verification support. by @feliciss in #2173
- [release] Prepare release v0.6 by @jolestar in #2167
- update sdk version field by @jolestar in #2176
- update sdk gen & fix bitcoin auth length by @wow-sven in #2177
New Contributors
- @Mine77 made their first contribution in #1821
- @v1xingyue made their first contribution in #1843
- @baicaiyihao made their first contribution in #1846
- @Xuanwo made their first contribution in #1871
- @dependabot made their first contribution in #1905
- @ranmian made their first contribution in #2109
- @CooperHash made their first contribution in #2116
- @miroim made their first contribution in #2103
- @keienWang made their first contribution in #2110
- @K-tang-mkv made their first contribution in #2149
- @lybenson made their first contribution in #2153
- @anthhub made their first contribution in #2063
- @TheHeBoy made their first contribution in #2168
Full Changelog: v0.5.0...v0.6.0