Skip to content

Releases: OffchainLabs/nitro

Arbitrum Nitro v2.3.2

14 Mar 19:37
v2.3.2
064fa11
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.2-064fa11

It is identical to v2.3.2-rc.1 aside from the updated version tag.

What's Changed

This release improves batch poster support for EIP-4844 and fixes a rare state corruption issue with debug tracing requests.

Configuration Changes

  • The DAS option --data-availability.local-cache.expiration has been removed in favor of the new --data-availability.local-cache.capacity flag. This config option is only available for data availability servers, not nitro nodes.

Internal Highlights

  • Supply a maxFeePerGas for batch gas estimation: #2187
  • Disable EIP-4844 blob posting when another DAS is enabled: #2186
  • Set a maximum multiple of the current tx fees to bid in the data poster: #2188
  • Add extra check for recent block in debug tracing by hash: OffchainLabs/go-ethereum#293
  • Pull in geth changes for state recreation: #2005
  • Handle go-ethereum's blob tx already known: #2182
  • Include chainID in Tx to signtx args conversion: #2171
  • Support blob transactions in data poster external signer: #2169
  • Update badgerdb: #2172
  • Das replace cache: #2179
  • Fix ErrExceedsMaxMempoolSize err log: #2183

Full Changelog: v2.3.1...v2.3.2

Arbitrum Nitro v2.3.2 Release Candidate 1

14 Mar 17:39
v2.3.2-rc.1
064fa11
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.2-rc.1-064fa11

What's Changed

This release improves batch poster support for EIP-4844 and fixes a rare state corruption issue with debug tracing requests.

Internal Highlights

  • Supply a maxFeePerGas for batch gas estimation: #2187
  • Disable EIP-4844 blob posting when another DAS is enabled: #2186
  • Set a maximum multiple of the current tx fees to bid in the data poster: #2188
  • Add extra check for recent block in debug tracing by hash: OffchainLabs/go-ethereum#293
  • Pull in geth changes for state recreation: #2005
  • Handle go-ethereum's blob tx already known: #2182
  • Include chainID in Tx to signtx args conversion: #2171
  • Support blob transactions in data poster external signer: #2169
  • Update badgerdb: #2172
  • Das replace cache: #2179
  • Add --data-availability.local-cache.max-size-mb: #2176
  • Fix ErrExceedsMaxMempoolSize err log: #2183

Full Changelog: v2.3.1...v2.3.2-rc.1

Arbitrum Nitro v2.3.1

02 Mar 00:58
v2.3.1
26fad6f
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.1-26fad6f

It is identical to v2.3.1-rc.1 aside from the updated version tag.

What's Changed

This release fixes validators processing EIP-4844 batches and improves EIP-4844 blob based batch posting performance and reliability. However, we still recommend waiting for more testing to be done before enabling EIP-4844 batch posting on Arbitrum Orbit chains (the current default configuration does not have EIP-4844 batch posting enabled).

User-facing Improvements

  • Add option for beacon auth header: #2162
  • Seq-coordinator-manager should handle uninitialized redis: #2154

Internal Highlights

  • Fix recording blob preimages: #2167
  • Properly support replace by fee for blob txs: #2164
  • Avoid freq switch of non-4844 to 4844 batch post: #2158
  • Save Blob data as fetched from beaconURL to disk: #2166
  • Unified reader interface for Data Availability providers: #2155
  • Don't force delayed sequencing when coordinator is disabled: #2079
  • Log a warning whenever we don’t do the next validation because we’re low on memory: #2163
  • Update testnode submodule: #2132
  • Bump contracts pin: #2127

Full Changelog: v2.3.0...v2.3.1

Arbitrum Nitro v2.3.1 Release Candidate 1

01 Mar 23:18
v2.3.1-rc.1
f761877
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.1-rc.1-f761877

What's Changed

This release fixes validators processing EIP-4844 batches compared to the last alpha release.

Internal Highlights

  • Fix recording blob preimages: #2167
  • Save Blob data as fetched from beaconURL to disk: #2166

Full Changelog: v2.3.1-alpha.1...v2.3.1-rc.1

Arbitrum Nitro v2.3.1 Alpha 1

01 Mar 21:10
v2.3.1-alpha.1
f10123b
Compare
Choose a tag to compare
Pre-release

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.1-alpha.1-f10123b

What's Changed

This release improves EIP-4844 blob based batch posting performance and reliability. However, we still recommend waiting for more testing to be done before enabling EIP-4844 batch posting on Arbitrum Orbit chains (the current default configuration does not have EIP-4844 batch posting enabled).

User-facing Improvements

  • Add option for beacon auth header: #2162
  • Seq-coordinator-manager should handle uninitialized redis: #2154

Internal Highlights

  • Properly support replace by fee for blob txs: #2164
  • Avoid freq switch of non-4844 to 4844 batch post: #2158
  • Unified reader interface for Data Availability providers: #2155
  • Don't force delayed sequencing when coordinator is disabled: #2079
  • Log a warning whenever we don’t do the next validation because we’re low on memory: #2163
  • Update testnode submodule: #2132
  • Bump contracts pin: #2127

Full Changelog: v2.3.0...v2.3.1-alpha.1

Arbitrum Nitro v2.3.0

22 Feb 02:42
v2.3.0
3e14543
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.3.0-3e14543

What's Changed

This release adds support for ArbOS 20, which includes EIP-4844 batch posting support and new EVM opcodes such as MCOPY and TSTORE. The Arbitrum DAO forum proposal documents the full extent of the upgrade. This release will be a required upgrade for any Arbitrum networks that chose to adopt ArbOS 20. For a chain to adopt ArbOS 20 it must have nitro-contracts 1.2.1 or higher deployed.

Beacon chain RPC connection

To run an layer 2 Arbitrum Nitro node (this does not apply to layer 3s), you will now need to supply a beacon chain RPC connection. This allows the node to query the contents of EIP-4844 batches. If you're running an layer 1 node locally, your consensus client should expose this RPC. Prysm exposes this RPC on port 3500 by default, and Lighthouse exposes this RPC on port 5052 by default. Check your consensus client's documentation for details.

If you're using a 3rd party L1 execution client RPC (previously the only RPC required to run an Arbitrum node), ask your provider if they also provide a beacon chain RPC. We have a non-exhaustive list of 3rd party beacon chain RPC providers here: https://docs.arbitrum.io/node-running/reference/ethereum-beacon-rpc-providers

Currently, in order to sync an Arbitrum node from scratch (or from a database that's more than 18 days old), your beacon chain RPC will also need to support querying historical blobs, which is not the default behavior of Ethereum consensus clients. However, some 3rd party beacon chain RPC providers do provide this data. We list some providers known to do this in our documentation.

To test if your beacon chain RPC URL is correct, try curl <Layer 1 beacon chain URL>/eth/v1/beacon/genesis. You should get a response like the following (this response is for mainnet, other networks will have other values for each field):

{"data":{"genesis_time":"1606824023","genesis_validators_root":"0x4b363db94e286120d76eb905340fdd4e54bfe9f06bf33ff6cf5ad27f511bfe95","genesis_fork_version":"0x00000000"}}

You can set this URL on the command line with --parent-chain.blob-client.beacon-url=<Layer 1 beacon chain URL> or use the equivalent JSON config path.

User-facing Improvements

  • Finalize ArbOS 20: #2111
  • Require beacon client RPC: #2148

Internal Highlights

  • Add consensus-v20 to Dockerfile: #2153

Full Changelog: v2.2.5...v2.3.0

Arbitrum Nitro v2.2.5

16 Feb 20:20
v2.2.5
a20a1c7
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.5-a20a1c7

It is identical to v2.2.5-rc.1 aside from the updated version tag.

What's Changed

This release fixes retryable gas estimation, and makes a number of improvements preparing for ArbOS 20 and EIP-4844.

User-facing Improvements

  • Add an option to support multiple block validation RPCs: #2071
  • Handle INVALID opcode in the flatCallTracer: OffchainLabs/go-ethereum#289
  • Add option to save arbitrum blobs to disk when they are fetched: #2145

Internal Highlights

  • Fix retryable gas estimation: OffchainLabs/go-ethereum#290
  • Error if reading authenticated batch with unknown header bits: #2147
  • Gate 4844 Batch Posting on ArbOS 20: #2136
  • Rename force-post-4844-blobs opt ignore-blob-price: #2144
  • Move Prefetch flag from sequencer to execution node: #2137
  • Add a flag to enable re-execution of a range of historic blocks: #2107
  • Add P2P options: #2124
  • Produce better error messages when failing to read the delayed inbox: #2135
  • Error on rpc daserver configured without bls key: #2150

Full Changelog: v2.2.4...v2.2.5

Arbitrum Nitro v2.2.5 Release Candidate 1

16 Feb 18:19
v2.2.5-rc.1
a20a1c7
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.5-rc.1-a20a1c7

What's Changed

This release fixes retryable gas estimation, and makes a number of improvements preparing for ArbOS 20 and EIP-4844.

User-facing Improvements

  • Add an option to support multiple block validation RPCs: #2071
  • Handle INVALID opcode in the flatCallTracer: OffchainLabs/go-ethereum#289
  • Add option to save arbitrum blobs to disk when they are fetched: #2145

Internal Highlights

  • Fix retryable gas estimation: OffchainLabs/go-ethereum#290
  • Error if reading authenticated batch with unknown header bits: #2147
  • Gate 4844 Batch Posting on ArbOS 20: #2136
  • Rename force-post-4844-blobs opt ignore-blob-price: #2144
  • Move Prefetch flag from sequencer to execution node: #2137
  • Add a flag to enable re-execution of a range of historic blocks: #2107
  • Add P2P options: #2124
  • Produce better error messages when failing to read the delayed inbox: #2135
  • Error on rpc daserver configured without bls key: #2150

Full Changelog: v2.2.4...v2.2.5-rc.1

Consensus V20

12 Feb 20:24
consensus-v20
cf2eadf
Compare
Choose a tag to compare

This release signifies a WASM fraud proof consensus version, and is not a good version to run a node on

WAVM Module Root: 0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4

This consensus release supports ArbOS 20, which includes support for EIP-4844 based blob batch posting to L1 and support for Cancun execution layer changes on Arbitrum chains, such as EIP-5656 MCOPY and EIP-1153 TSTORE. For more details, see the ArbOS 20 Arbitrum DAO proposal: https://forum.arbitrum.foundation/t/aip-arbos-version-20-atlas/20957

Full Changelog: consensus-v11...consensus-v20

v2.2.4

07 Feb 06:05
v2.2.4
8517340
Compare
Choose a tag to compare

This release is available as a Docker image on Docker Hub at offchainlabs/nitro-node:v2.2.4-8517340

What's Changed

This release fixes an issue querying Arbitrum Classic transactions and uses the current timestamp as block.timestamp for gas estimation by default.

User-facing Improvements

  • Use current timestamp for "pending" block tag instead of last block timestamp, e.g. in eth_estimateGas: OffchainLabs/go-ethereum#286
  • Add an option for the inbox reader to only read safe or finalized L1 blocks: #2080
  • Add a CLI option for the RPC “finalized” and "safe" block to wait for the block validator to complete: #2086

Internal Highlights

Full Changelog: v2.2.3...v2.2.4