This release is available as a Docker Image on Docker Hub at offchainlabs/nitro-node:v3.8.0-rc.4-4d9a400
This Docker image specifies default flags in its entrypoint which should be replicated if you're overriding the entrypoint: /usr/local/bin/nitro --validation.wasm.allowed-wasm-module-roots /home/user/nitro-legacy/machines,/home/user/target/machines
If you're running a validator without a split validation server (this will be true of most validators), you should instead use the image offchainlabs/nitro-node:v3.8.0-rc.4-4d9a400-validator which has the extra script /usr/local/bin/split-val-entry.sh as the entrypoint.
Special Note 1
Nitro 3.7.0 pulled in go-ethereum 1.15.6 which changed log index from bloombits to filtermap. This means that database previously running pre-Nitro 3.7.0 on startup there will be elevated CPU usage for 50+ hours while new FilterMaps are generated for log indexing. If log queries are not used, the parameter --execution.tx-indexer.enable=false
can be used to completely disable log indexing.
Special Note 2
Nitro 3.7.0 pulled in go-ethereum 1.15.11 which includes a brand new log indexing system called filtermaps
that has resulted in an increase in log indexing latency due to Nitro’s current reliance on HashDB (instead of PathDB). In some cases, this can delay log queries from being served anywhere between 5 seconds to 2 minutes on Arbitrum One during long tail unindexing. We’ve observed that this happens roughly once per day based on Arbitrum One mainnet traffic levels. Teams who need to serve log queries with consistent latency (e.g. eth_getLogs
, eth_getFilterLogs
, eth_getFilterChanges
) can use the configuration parameter --execution.rpc.log-history=0
to keep all log history, which will only slightly increase database growth. Teams running their own log indexer may be unaffected. At some point, a future release of Nitro is expected to fix the issue of log index pruning being able to block log queries.
User facing changes
- Fix consensus bug introduced in
v3.8.0-rc.3
What's Changed
- Make sure to retry fast confirmation on failure: #3640
- fix: recreate-missing-state-from panic: #3464
- Add FloorGasAdditionalTokens to floor-gas computation: #3642
- Fix redefining of staker related metrics: #3592
- Fix api.go to use new callcode/delegatecall/staticcall signatures: #3635
- Instrument multi-gas in account HostIOs: #3645
- Use RLock instead of Lock in CollectMachineHashes: #3632
- Extract SerializedChainConfig from json directly: #3636
- Remove unnecessary alias imports: #3637
- Fix goroutine loop variable capture in sequencer shutdown forwarding: #3623
- fix: Docker and tool version checks for accurate reporting: #3643
- Account for multi-gas in transaction intrinsic gas: #3639
- batch_posting report: fix addition of batchExtraGas: #3654
Full Changelog: v3.8.0-rc.3...v3.8.0-rc.4