Releases: NethermindEth/juno
v0.6.3
v0.6.2
๐ Changed
-
Configurable Host Address:
- Introduced the ability to customize host addresses with new parameters:
--http-host
--metrics-host
--ws-host
--pprof-host
--grpc-host
- By default, these are set to
localhost
. To make them public, set the address to0.0.0.0
.
- Introduced the ability to customize host addresses with new parameters:
-
Pending Block Storage:
- Adjusted the storage of the pending block to store an empty version instead of deleting its key. This change aims to decrease "block not found" errors during transaction simulations against the pending block.
-
Library Update:
- Bumped to the latest version of
gnark-crypto
.
- Bumped to the latest version of
๐ Fixed
- Transaction Version Handling:
- Resolved the handling of the query bit when determining the transaction version for hashing, ensuring precise transaction version identification.
Full Changelog: v0.6.1...v0.6.2
v0.6.1
๐ Added
-
Monitoring Metrics:
- latency metrics to the RPC server.
- failed RPC requests.
- additional sync metrics added by @Exca-DK
-
Versioned Documentation: Added versioned docs to ensure clarity across different versions.
๐ Changed
-
Updated Pebble: Adopted the
crl-release-23.1
branch of Pebble, resulting in optimized database operations. -
Go Version: Upgraded the codebase to Go v1.21.
-
Rust Enhancements: Made multiple refinements in the Rust code, including reducing the number of allocations for trace serialization and removing unnecessary casts.
๐ Fixed
-
Clear Query Bit: Addressed an issue with the clear query bit in deploy account transactions.
-
Enhanced Transaction Handling: Implemented the return of
ErrTxnHashNotFound
injuno_getTransactionStatus
by @aminsato -
Field Naming Consistency: Corrected the
starknet_simulateTransactions
wrongly named field, ensuring consistency with the specification by @tomek0123456789.
Full Changelog: v0.6.0...v0.6.1
v0.6.0
๐ We're thrilled to announce the release of Juno v0.6.0. As we continue to forge ahead on our journey, this release encapsulates further improvements, new features, and optimized support to enhance the Starknet client experience.
๐ Added
-
New Trace RPC Methods:
starknet_traceTransaction
starknet_traceBlockTransactions
starknet_simulateTransactions
-
Juno RPC Schema: A dedicated schema to streamline RPC interactions for Juno's method.
-
Juno Console Enhancement: Pretty printing of Juno console logs for an enriched user experience.
-
Comprehensive Documentation: Official documentation now hosted on GitHub Pages.
๐ Fixed
- RPC Schema Consistency: Revised to ensure our RPC schema is consistent with the Starknet specification.
โ๏ธ Command-line Switches Update
Command-line switches have been restructured to provide clearer access control:
docker run -d \
--name juno \
-p $httpPort:$httpPort \
-p $metricsPort:$metricsPort \
-v /root/juno:/var/lib/juno \
nethermind/juno:v0.6.0 \
--db-path /var/lib/juno \
--http \
--http-port $httpPort \
--metrics \
--metrics-port $metricsPort \
--eth-node <YOUR-ETH-NODE>
(Note: Ensure to adjust the variables like $httpPort
, $metricsPort
and others as per your configuration.)
๐ Migration Notes
- Database Migration: This version introduces database changes due to our work focus on peer-to-peer (p2p) communication. These changes may result in extended migration times. For faster sync, we recommend users to utilize snapshots.
๐ฆ Docker Image
For those utilizing Docker:
docker pull nethermind/juno:v0.6.0
Full Changelog: v0.5.1...v0.6.0
v0.5.1
This release adds support for the Starknet v0.12.2.
Added
- Support for Starknet v0.12.2
Docker Image
You can pull the Docker image for this release with:
docker pull nethermind/juno:v0.5.1
Full Changelog: v0.5.0...v0.5.1
v0.5.0
This release adds support for the upcoming Starknet v0.12.1 upgrade and includes compatibility with v0.4.0 of the RPC specification.
Added
- Support for Starknet v0.12.1
- Compatibility with v0.4.0 of the RPC specification
- New RPC method:
starknet_estimateMessageFee
- Health Check Endpoint: A GET request to the / endpoint will now return a 200 status code for a healthy Juno node
- Added Prometheus metrics support: Use
--metrics
and--metrics-port
to enable this feature
Changed
- Adjusted worker number for sync process, improving performance
- Updated blockifier for starknet v0.12.1
Fixed
- Resolved issues causing context cancelled errors in write RPC methods
- Mapped gateway errors to write API RPC errors, improving error handling
Docker Image
You can pull the Docker image for this release with:
docker pull nethermind/juno:v0.5.0
Full Changelog: v0.4.1...v0.5.0
v0.5.0-rc0
This release adds support for the upcoming Starknet v0.12.1 upgrade and includes compatibility with v0.4.0-rc3 of the RPC specification.
Added
- Support for Starknet v0.12.1,
- Compatibility with v0.4.0-rc3 of the RPC specification,
- New RPC method:
starknet_estimateMessageFee
. - Health Check Endpoint: A GET request to the / endpoint will now return a 200 status code for a healthy Juno node.
Changed
- Adjusted worker number for sync process, improving performance.
Fixed
- Resolved issues causing context cancelled errors in write RPC methods.
- Mapped gateway errors to write API RPC errors, improving error handling.
Full Changelog: v0.4.1...v0.5.0-rc0
v0.4.1
With this release, we have significantly improved our processing speed. The time it takes to sync 90000 blocks on our VM has been reduced from 41 hours to about 24 hours. This marks an impressive 1.7x increase in our syncing efficiency.
Added
- Log the incoming RPC requests in #907
Changed
Fixed
- Add missing From field to rpc.MsgToL1 in #908
Full Changelog: v0.4.0...v0.4.1
v0.4.0
We're excited to announce the release of Juno v0.4.0, marking a significant step in the evolution of our Starknet client implementation. This release signifies the completion of Phase 2 of our development roadmap. Here are some of the major enhancements we've implemented in this version.
WARNING: This release has breaking changes and database is not compatible with the previous version.
Added
- New RPC Methods:
starknet_call
starknet_estimateFee
starknet_addDeclareTransaction
starknet_addDeployAccountTransaction
starknet_addInvokeTransaction
juno_getTransactionStatus
juno_version
- L1 Verifier: Verification of state from Layer 1 has been implemented.
- Block Reorg Detection and Handling: A feature to detect and handle block reorganizations has been implemented.
- gRPC Service: To accommodate users requiring direct access to the database, a gRPC service has been exposed.
- Database Migration: The system has been improved to handle database changes more gracefully. It's no longer necessary to sync from the start when some database changes occur.
- Starknet v0.12.0 support: includes integration with the Rust VM.
Changed
- Performance Enhancements: Several adjustments and improvements have been made to increase the performance. These changes have resulted in ~30% reduction in sync time.
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Added
- Fetch and store compiled classes for each Sierra class (#777).
Changed
- Updated the behavior of synced nodes, which will now return false to
starknet_syncing
(#776).
Fixed
- Resolved issue with
NumAsHex(0)
being omitted in RPC. - Fixed a Goerli sync issue by relaxing decoder max array elements limit (#779).
Full Changelog: v0.3.0...v0.3.1