Skip to content

Releases: NethermindEth/juno

v0.3.0

19 May 12:43
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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