Releases: OffchainLabs/nitro
Arbitrum Nitro v2.3.2
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
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
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
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
Full Changelog: v2.3.1-alpha.1...v2.3.1-rc.1
Arbitrum Nitro v2.3.1 Alpha 1
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
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
Internal Highlights
- Add consensus-v20 to Dockerfile: #2153
Full Changelog: v2.2.5...v2.3.0
Arbitrum Nitro v2.2.5
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
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
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
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
- Fix ArbitrumLegacyTxData decoding: OffchainLabs/go-ethereum#288
- Pull in geth changes to parse ABI errors: #2121
Full Changelog: v2.2.3...v2.2.4