Skip to content

v31.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Nov 10:41
2f0bfb2

Warning

The Engine API JWT secret must now be exactly 32 bytes (64 hex characters, as the Engine API specifies). A shorter secret or an empty secret file now stops startup with an error that names its length; earlier releases accepted it. A secret that ethrex generates is now created readable only by its owner, and an existing file is never overwritten.

Note

What's new

  • New RPC methods: eth_simulateV1, eth_callBundle, eth_getStorageValues, eth_getHeaderByHash and eth_getHeaderByNumber, eth_getFilterLogs, eth_newPendingTransactionFilter and newPendingTransactions subscriptions, and web3_sha3.
  • RPC behavior aligned with the other clients: state reads for a block the node does not know, or whose state it no longer holds, return an error instead of empty values; invalid params return -32602; an omitted block parameter defaults to latest; and eth_call and eth_getProof follow the execution-apis rules.
  • Performance: faster EVM arithmetic opcodes and precompiles (MODEXP, BN254, the BLS12-381 pairing check, and keccak on x86-64 with AVX-512), cheaper calls to precompiles and other code-less targets, and block access list accounts warmed on a dedicated I/O pool.
  • Hardening: RPC requests are bounded in the work they can ask for, node records are kept only when they are the sender's signed record, and the transaction pool drops transactions whose nonce is already used on chain.
  • Fixes: a cancelled engine_getPayload no longer loses the payload; a node's live connection stays listed when a duplicate connection to it closes; a legacy transaction's chain id is derived from its whole v; genesis files accept JSON numbers and decimal strings for nonces, gas limit and timestamp; and node records advertise the snap versions the node serves.
  • Partial stateful node (experimental): ethrex psn holds only the accounts and storage its users read and proves every value against light-client-verified headers. It is available in source builds with --features partial; release binaries and images do not include it.
  • L2: value-free L2→L1 intent messages, provable and consumable on L1 without moving funds. New chains get them from genesis; existing chains get them through the usual L2 contract upgrade.

No resync is needed.

Installation and running instructions can be found in our docs

✨ New Features

🐛 Bug Fixes

⚡ Performance Improvements