Skip to content

Releases: NethermindEth/juno

v0.5.0

07 Aug 16:33

Choose a tag to compare

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

01 Aug 08:32

Choose a tag to compare

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

13 Jul 05:29

Choose a tag to compare

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

  • Update types for 0.12.1 in #895
  • Parallelize per-contract storage updates in #900

Fixed

  • Add missing From field to rpc.MsgToL1 in #908

Full Changelog: v0.4.0...v0.4.1

v0.4.0

10 Jul 08:22

Choose a tag to compare

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

26 May 10:50
92b187c

Choose a tag to compare

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

v0.3.0

19 May 12:43

Choose a tag to compare

Added

  • Starknet v0.11.2 support
  • History for contracts, nonce, and class hash.
  • Implemented StateSnapshot.
  • New RPC endpoints:
    • starknet_syncing
    • starknet_getNonce
    • starknet_getStorageAt
    • starknet_getClassHashAt
    • starknet_getClass
    • starknet_getClassAt
    • starknet_getEvents

Note: For new RPC endpoints to fully work with data before the new version, the node needs to be resynced

Changed

  • Optimized TransactionStorage encoding and refactored memStorage.
  • Refactored RPC implementation for better organization and maintainability.
  • Parallelized and refactored sync tests for faster execution, improved readability, and maintainability.

Fixed

  • Updated handling of non-existent keys to return a zero value

Full Changelog: v0.2.2...v0.3.0

Juno v0.2.2

25 Apr 09:14

Choose a tag to compare

This patch release fixes handling of block versioning and ensures compatibility with non-sem-ver compliant Starknet.

Fixed

  • Ignore or add digits to block version string as necessary

Full Changelog: v0.2.1...v0.2.2

Juno v0.2.1

17 Apr 13:01
541ffe1

Choose a tag to compare

This minor release introduces an important optimization that enhances sync performance.

Changed

  • Update gnark-crypto version:
    • Implement precomputed point multiplication results for Pedersen hash operations.

Full Changelog: v0.2.0...v0.2.1

Juno v0.2.0

12 Apr 15:01
4a14bf0

Choose a tag to compare

This release adds support for Staknet v0.11.0.

WARNING: This release has breaking changes and database is not compatible with the previous version.

Added

  • Starknet v0.11.0 support:
    • Add Poseidon hash for new state commitment.
    • Add DeclareTransaction version 2.
    • Add and Store Cairo 1/Sierra class definition and hash calculations.
  • pprof option is added for profiling and monitoring.
  • Verify Class Hashes.

Changed

  • Starknet v0.11.0 support:
    • Update InvokeTransaction version 1's contract address to sender address.
    • Update current JSON RPC endpoints to v.0.3.0-rc1.
  • Rename the verbosity option to log-level and log-level accepts string instead of uint8. See help for details.
  • network option accepts string instead of uint8. See help for details.
  • Database table is updated to account for Starknet v0.11.0 changes.

Removed

  • Remove metrics and eth-node options since it is not used.

Fixed

  • Graceful Shutdown: ensures all services have returned before exiting.

Full Changelog: v0.1.0...v0.2.0

Juno v0.1.0

10 Mar 14:45

Choose a tag to compare

Juno is a Starknet full node client implementation in Go.

This is Juno's first release (compatible with Starknet v0.10.3) with the following features:

  • Starknet state construction and storage using a path-based Merkle Patricia trie.
  • Pedersen and starknet_keccak hash implementation over starknet field.
  • Feeder gateway synchronisation of Blocks, Transactions, Receipts, State Updates and Classes.
  • Block and Transaction hash verification.
  • JSON-RPC Endpoints:
    • starknet_chainId
    • starknet_blockNumber
    • starknet_blockHashAndNumber
    • starknet_getBlockWithTxHashes
    • starknet_getBlockWithTxs
    • starknet_getTransactionByHash
    • starknet_getTransactionReceipt
    • starknet_getBlockTransactionCount
    • starknet_getTransactionByBlockIdAndIndex
    • starknet_getStateUpdate