⚠️ This update is required to support Starknet 0.14.3.
Additionally, it brings considerable performance improvements as well as a more streamlined user experience when interacting with the node.
Added
- Feeder client improvements to heavily reduce network bandwidth reducing the cost for all of Starknet users.
- Reduced heap allocations when encoding/decoding field elements (i.e. felts) making RPC requests response parsing 50% cheaper. #3565
- Improved UX by grouping flags when
--helpis used. #3620- Additionally, the
--helpmessage is no longer displayed when there is an error on node startup. #3613 -
- Additionally, the
New --help preview:
Network & L1 Flags:
--disable-l1-verification Disables L1 verification since an Ethereum node is not provided.
--eth-node string WebSocket endpoint of the Ethereum node. To verify the correctness of the L2 chain, Juno must connect to an Ethereum node and parse events in the Starknet contract.
...
Sync & Polling Flags:
--preconfirmed-poll-interval duration Sets how frequently pre_confirmed block will be updated(0s will disable fetching of pre_confirmed block). (default 500ms)
--prelatest-poll-interval duration Sets polling interval for pre-latest block updates. (0s will disable polling). (default 1s)
...
Gateway Flags:
--gw-api-key string API key for gateway endpoints to avoid throttling
--gw-timeouts string Timeouts for requests made to the gateway. Can be specified in three ways:
...Changed
- L1 head is updated on startup, allowing RPC consumers to see a consistent L1/L2 heads immediately, instead of after a short while. #3594
- Additionally, when the L1 head is ahead of the L2 chain height (during node sync), an RPC request for the L1 head will return the current chain height to avoid inconsistent responses. #3644
- Removed a core Rust dependency by rewriting the Cairo Zero class hash calculation in pure Go, getting a performance improvement and memory cost reduction of 20%. #3648
- Bump RPC spec version to 0.10.2. #3573
Fixed
starknet_estimateFeeandstarknet_simulateTransactionsrejecting transactions with a non-zero tip when the account balance could cover the fee. The maximum L2 gas bound now accounts for the tip, matching the blockifier's fee calculation. #3562- Startup RPC calls are now bounded by per-call timeouts so a slow or unresponsive L1 endpoint cannot hang node startup indefinitely. #3676
New Contributors
- @AvivYossef-starkware made their first contribution in #3562
- @RafaelGranza made their first contribution in #3602
- @ongyimeng made their first contribution in #3648
Full Changelog: v0.16.0...v0.16.1