Releases: NethermindEth/nethermind
v1.16.0
We found out that default value for --JsonRpc.MaxBatchSize
was too low, so we decided to release a new version 1.16.1.
Please use fixed version for Your nodes.
Release notes
This release brings important stability fixes and performance improvements, including:
- Background pruning: Reduces node latency spikes when processing blocks, leading to better attestation performance on Validator nodes
- Health check: Users will now be notified about low disk space
- Memory and performance: Performance boost and memory consumption reduction due to upgrade runtime and database engine
JSON-RPC
- Improved JsonRPC batch calls. Batch results will now be streamed. This reduces memory usage during batched calls. [#5134]
New flags are introduced to be able to limit batched calls on node:--JsonRpc.MaxBatchSize
- Limits batch size for batched JSON-RPC call. The default value is 100.--JsonRpc.MaxBatchResponseBodySize
- Limits max response body size when using batch requests. Subsequent requests are trimmed with an error response. The default value is 30MB.
- New
engine_getPayloadBodiesByRange
Engine API endpoint as a part of Shanghai hardfork. Consensus clients can use this endpoint for better performance instead ofeth_getBlockByNumber
[#4939] - Fixed logs ordering of
eth_getLogs
when blooms are disabled [#5033] - Fixed the
trace_transaction
not to contain precompile sub-traces [#4410]
Sync & Networking
- Improved state sync performance with better parallelism. This results in performance improvement -- observed state sync executes a few times faster than before. [#4921]
- Fixed issue causing a snap sync stage on Sepolia to hang on 0% for a long time [#5059]
- Fixed edge case when sync is stuck and unable to proceed further until the node was restarted [#5055]
Pruning
- In previous versions, pruning blocks block processing which can lead to increased latency from time to time on the block. In this version, pruning is moved to a background thread. This change should reduce block processing latency spikes leading to better attestation performance on Validator nodes. [#4626]
Gnosis
- Renamed xDai to Gnosis. This includes existing chain specs and configuration files. For new nodes recommended option is now
-c gnosis
. Old-c xdai
is still supported. [#5057]
⚠️
If you want to use an existing node with a new name, you need to move the database from the old directory to the one used in thegnosis.cfg
. For example,<datadir>/nethermind_db/xdai
should be moved to<datadir>/nethermind_db/gnosis
.
Same procedure applies for archive nodes, usinggnosis_archive.cfg
config.
Runtime and database
- Updated to .NET 7 [#4889]
- Updated to RocksDB v7.7. Solves issues with syncing on specific ARM CPUs. [#5065]
Health check
Added free disk space checks for the drives configured as DB locations to prevent data corruption due to disks being full. Two configurable thresholds added [#4837]:
HealthChecks.LowStorageSpaceWarningThreshold
: The percentage of free disk space below which a warning is added to the console as well as to the health checks. The default value is 5 (5% of free space).HealthChecks.LowStorageSpaceShutdownThreshold
: The percentage of free disk space below which the client shuts down. The default value is 1 (1% of free space)
Other changes
- Added logging CPU type at startup [#5016]
- Disabled color output for CLI [#4785]
- Added Exosama network support [#5008]
- Dropped support of obsolete configurations [#5064]
- Various performance improvements (thank you @benaadams) [#5027] [#5009] [#5030] [#5079]
We'd love to hear from you, so if you encounter an issue or have any feedback, please open an issue or contact us on Discord.
v1.16.0-unstable
Release notes
This is our very first public preview (pre-release). We encourage trying this version on your nodes as it brings stability improvements and a handful of new features making your node perform even better.
To begin, you can either:
- Download the respective binary for your platform
- Use either of Docker images below:
nethermind/nethermind:unstable
-- Always points to the latest unstable (pre-release) versionnethermind/nethermind:1.16.0-unstable
We'd love to hear from you, so if you encounter an issue or have any feedback, please open an issue or contact us on Discord.
JSON-RPC
- New
engine_getPayloadBodiesByRange
Engine API endpoint as a part of Shanghai hardfork. Consensus clients can use this endpoint for better performance instead ofeth_getBlockByNumber
[#4939] - Fixed logs ordering of
eth_getLogs
when blooms are disabled [#5033] - Fixed the
result
oftrace_transaction
to match the trace oftrace_replayTransaction
[#4410]
Sync & Networking
- Added support for eth/68. This is used for shard blob transactions. [#4866]
- Improved state sync performance. Use read-write lock instead of plain lock on state sync. This results in great performance improvement (on Goerli, observed state sync executes ~2 times faster than before) [#4921]
- Fixed the issue causing a snap sync stage on Sepolia to hang on 0% for a longer time (runs as expected after some time) [#5059]
- Fixed an edge case on Goerli when sync is stuck and unable to proceed further until the node was restarted [#5055]
Pruning
Currently, pruning blocks block processing which can lead to increased latency from time to time on the block. In this version, pruning is moved to a background thread. This also lowers latency on heavy pruning with multiple spins of a loop by allowing block processing to go in-between loop spins. Overall this change should reduce block processing times and make it more stable which results in better attestations. [#4626]
Gnosis
Renamed xDai to Gnosis. This includes existing chain specs and configuration files. The recommended option is now -c gnosis
while the old -c xdai
will be supported for some time. [#5057]
⚠️
To migrate without full resync, you need to move the database from the old directory to the one used in thegnosis.cfg
. For example,<datadir>/nethermind_db/xdai
should be moved to<datadir>/nethermind_db/gnosis
.
Runtime and database
- Updated to .NET 7 [#4889]
- Updated to RocksDB v7.7 (solves issues with syncing on specific CPU architectures) [#5065]
Health check
Added free disk space checks for the drive configured as DB location. There are 2 configurable thresholds added [#4837]:
HealthChecks.LowStorageSpaceWarningThreshold
: The percentage of free disk space below which a warning is added to the console as well as to the health checks. The default value is 5 (5% of free space).HealthChecks.LowStorageSpaceShutdownThreshold
: The percentage of free disk space below which the client shuts down. The default value is 1 (1% of free space)
Other changes
v1.15.0
What changed?
In this version there are plenty of new changes You may find interesting like:
- TraceStorePlugin
- ETH/67
- Shanghai hardfork preparation
- Improvements & fixes in JSON-RPC, sync, metrics, networking, recovering from corruption, and more!
JsonRpc
- Add Sync stages endpoint Adds JsonRPC Debug endpoint
debug_getSyncStage
that reports sync stage. - Fix eth_sendRawTransaction. returns insufficient funds when executed twice. Resolves #4829
- Fix eth_call/eth_estimateGas/eth_createAccessList to use PREVRANDAO value from specified block.
Synchronization & Networking
- eip-4938: eth/67 Add support for
eth/67
. - Optimized Eth/66 implementation Use requestId instead of waiting for response from the peer. Resolves #4714
- Snap Healing Support healing of state trie during sync with snap protocol. Preparation to decommision of
GetNodeData
message and pre-eth/67
protocol versions on mainnet. Resolves #4324 - Fix rare issue causeing State Sync corruption. Resolves #4776
- Fix rare issues causing peers to deadlock.
- Fix Headers sync hang with negative progress.
- Fix rare issue with all peers disconnecting.
- Fix GetBlockHeaders reversed search Fix gapless reverse blockheader search. Resolves #5017
- Avoid excessive logs during Headers sync.
- Added
Network.DiscoveryDns
configuration option: Use tree is available through a DNS name. Keep it empty for the default of{chainName}.ethdisco.net
. Resolves #4321
Shanghai hardfork preparation
- Timestamp Based Fork Activation Allows for post-merge forks to use timestamp from CL client for fork activation. Resolves #4605
- EIP-3860: Limit and meter initcode Limit the maximum size of initcode to 49152 and apply extra gas cost of 2 for every 32-byte chunk of initcode. Resolves #4588
- Add engine_getPayloadV2 Add block value to engine_getPayloadV2 result. This change allows CL clients to compare locally produced block value with builder block value, allowing for CL client to compare locally created blocks with MEV-Boost ones. Spec: ethereum/execution-apis#314
Gnosis chain
- Gnosis bootnodes Update Gnosis bootnodes to be able to sync properly on new nodes.
Plugins
- TraceStore plugin Allows to save parity like traces (
trace
JSON RPC module) to database during block processing and later serving them without having the state data. Makes serving relevent trace methods orders of magnitudes faster. Takes disk space. Affected methods:trace_filter
,trace_block
,trace_transaction
,trace_get
,trace_replayTransaction
,trace_replayBlockTransactions
. Resolves #4205 and #4143. Related PRs: #4971 Add TraceStoreConfig.DeserializationParallelization- Configuration:
TraceStore.Enabled
- Defines whether the TraceStore plugin is enabled, iftrue
traces will come from DB if possible. DefaultValuefalse
.TraceStore.BlocksToKeep
- Defines how many blocks counting from head are kept in the TraceStore, if0
all traces of processed blocks will be kept. DefaultValue10000
. Default value was chosen to have neglegible disk usage. Keep in mind that keeping full trace history on disk will take a lot of space.TraceStore.TraceTypes
- Defines what kind of traces are saved and kept in TraceStore. Available options are:Trace
,Rewards
,VmTrace
,StateDiff
and combinations of them or justAll
. DefaultValueTrace, Rewards
. Default value will suffice to fully supporttrace_filter
,trace_block
,trace_transaction
,trace_get
methods and partial calls totrace_replayTransaction
,trace_replayBlockTransactions
methods. Non-default values that will includeVmTrace
orStateDiff
will increase resource usage by a lot!TraceStore.DeserializationParallelization
- Maximum parallelization when deserializing requests fortrace_filter
.0
defaults to logical cores, set to something low if you experience too big resource usage. DefaultValue '0'. Recommended to set to1
or2
on low-core public JSON RPC endpoints.
- Configuration:
Metrics
- Gas Usage Metrics Added metrics for gas usage: GasUsed, GasLimit
- Version Metrics Added better version metric. Resolves #4860
- EIP-2159 metrics Added 4 new metrics that follow eip-2159 (ethereum_blockchain_height ethereum_best_known_block_number ethereum_peer_count ethereum_peer_limit). Resolves #4842
- Fixed Building Gauge Names.
- Fixed main metrics being wrongly updated through JSON RPC call. Resolves #4943
CLI
- Fix eth.syncing command.. Resolves #4537
TxPool
Other fixes
- Fix enode parsing when it contains
DiscoveryPort
. Resolves #4876 - Block Config and Mining Config separation Added separate Block creation configuration settings. Deprecated Mining configuration with added descriptions. Resolves #4836
- Fix edge case in debug_trace when memory tracing is enabled.
- DB repair on corruption Nethermind will now attempt to fix RocksDb file corruption. Requires restart.
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.15.0/nethermind-linux-amd64-1.15.0-2b70876-20221228.zip
unzip nethermind-linux-amd64-1.15.0-2b70876-20221228.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.15.0/nethermind-linux-arm64-1.15.0-2b70876-20221228.zip
unzip nethermind-linux-arm64-1.15.0-2b70876-20221228.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.15.0-2b70876-20221228.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.15.0-2b70876-20221228.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.7
Gnosis chain issue hotfix.
What changed?
Fixed issue with high resource usage due to unnecessary block propagation on Gnosis chain after network issues.
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.7/nethermind-linux-amd64-1.14.7-4fe81c6-20221130.zip
unzip nethermind-linux-amd64-1.14.7-4fe81c6-20221130.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.7/nethermind-linux-arm64-1.14.7-4fe81c6-20221130.zip
unzip nethermind-linux-arm64-1.14.7-4fe81c6-20221130.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.7-4fe81c6-20221130.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.7-4fe81c6-20221130.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.6
What changed?
This version is created mostly for Gnosis chain purpose + increase Pivots for supported chains to speed up syncing procedure.
Gnosis
- Gnosis TTD value (#4901)
- Gnosis and Chiado block propagation time set in config + config minor fixes (#4880)
JSON RPC
- Fix for eth_call missing RANDAO value from requested block (#4873)
General
- Update Pivots for all supported chains to decrease the time of syncing procedure (#4923)
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.6/nethermind-linux-amd64-1.14.6-6aea772-20221121.zip
unzip nethermind-linux-amd64-1.14.6-6aea772-20221121.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.6/nethermind-linux-arm64-1.14.6-6aea772-20221121.zip
unzip nethermind-linux-arm64-1.14.6-6aea772-20221121.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.6-6aea772-20221121.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.6-6aea772-20221121.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.5
What changed?
This version is a rollback of one minor change related to Sepolia chain which resulted in unexpected regression on other chains. The issue was unnecessarily activating the SnapSync procedure on already synced nodes, that had previously configured using FastSync. This wasn't harmful for the node but was consuming resources which could have resulted in missed attestations during the processing time.
We recommend to skip version 1.14.4, and instead upgrade to 1.14.5.
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.5/nethermind-linux-amd64-1.14.5-380bf9c-20221029.zip
unzip nethermind-linux-amd64-1.14.5-380bf9c-20221029.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.5/nethermind-linux-arm64-1.14.5-380bf9c-20221029.zip
unzip nethermind-linux-arm64-1.14.5-380bf9c-20221029.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.5-380bf9c-20221029.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.5-380bf9c-20221029.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.4
What changed?
Most of the improvements in this release were raised by our Community via GitHub Issues and Discord channel suggestions.
We are continuing to improve our Execution layer Client by fixing improvements raised by the community, improving stabilization, reducing the data size and UX of our Client.
Known issues
A few Nethermind users reported that Snap Sync unexpectedly activates on their already synced nodes.
If this happens we recommend that you downgrade to 1.14.3. We suspect it's only affecting nodes that initially synced with fast sync before switching to snap sync.
What happens if you don’t downgrade? Your node would eventually work correctly, but it may be overwhelmed by snap requests while processing, which could result in missed attestations. A fix is being prepared and will be deployed tomorrow in version 1.14.5.
Release Overview
- More profitable blocks post-merge
- Fixes & improvements in synchronization and networking
- Fixes & improvements in JSON-RPC:
eth_getFilterLogs
,parity_PendingTransactions
,eth_subscribe
,eth_getBlockByNumber
,eth_getBlockByHash
- Optimization of disk reads and CPU usage
- First part of Shanghai EIPs
Block Construction
- Continuous block improvements until slot finishes, refreshing added transactions, allows making more profitable blocks (#4488)
- Added
ExtraData
configuration for post-merge blocks The default ExtraData isNethermind
, but you can set it viaMining.ExtraData
config
JsonRPC
- eth_getFilterLogs returns different output for the same parameters
- Corrected behaviour of eth_getFilterLogs to return the right logs for subsequent calls with the same filter (created by eth_newFilter) (#4771)
- Add optional argument Address in parity_pendingTransactions - Implementation, Tests, Spacing Fixes
- parity_pendingTransactions call now accepts an argument
address
to filter the pending transactions originating foraddress
(#4413)
- parity_pendingTransactions call now accepts an argument
- Fix logIndex in logs subscription - fix log index in logs subscription, adjust tests
- The second part of
eth_getBlockByNumber
andeth_getBlockByHash
optimization -- The previous release optimized requests only if the second parameter
returnFullTransactionObjects
was set tofalse
. Now it is optimized for both boolean values.
- The previous release optimized requests only if the second parameter
Sync
- Reduce old receipts response time
- Old receipts sync time improvement on slow IO
- Fix forward sync may stuck on slow peer
- Fixed forward sync sometimes stuck on a slow peer
- Disable snap capability after healing instead of StateRanges
Networking
- Multiple peering improvements
- Fix node speed does not update
- Fix peer dropping randomly
- Fix stuck when restarting with a new pivot
- Fix Syncing to a Chain with Invalid Terminal Block
- Fix peer manager keep reconnecting too quickly - adding connection delay if client disconnects (#2191, #4747)
- Drop support for old
Eth
protocols -eth/62
,eth/63
,eth/64
,eth/65
- Remove pre eth66 network protocols - This is a breaking change (#4717)
- UPnP port forwarding support
- UPnP support - Add a plugin that allows automatic port forwarding on supporting router. Enabled by
--Network.EnableUPnP=true
config value.
- UPnP support - Add a plugin that allows automatic port forwarding on supporting router. Enabled by
TxPool
- Optimize deployed code filter for the state to be accessed less
- Optimization reduces disk reads and CPU usage of the node
EVM
Added two Shanghai upgrade related EIPs:
HealthChecks
- Disable HealthChecks UI if HealthChecks is not enabled
- If HealthChecksUI and HealthChecks are not both enabled user will see a warning and UI would not be added
Metrics
- Fixed unable to use metrics on pull mode without specifying gateway url
- Added Engine API metrics
- Added a new TxPool metric - PendingTransactionsWithExpensiveFiltering
Log
- Fixed
Could not reach PushGatewayUrl
error appearing in logs a lot - Fixed peer header printed to logs without any peers
- Added time unit (microseconds) to JSON RPC report
- Fixed incorrect logs for old receipts and old bodies. The ancient barriers were ignored.
Config
- Revised product version and client id
- Changed the default setting of
Merge.Enabled
totrue
- Added
none.cfg
to allow CLI configuration without mainnet defaults- Add an empty config file to allow configuring everything via command line flags without carrying mainnet defaults
- Added new
Chiado
chainspec and config
ENR
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.4/nethermind-linux-amd64-1.14.4-d7f8306-20221026.zip
unzip nethermind-linux-amd64-1.14.4-d7f8306-20221026.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.4/nethermind-linux-arm64-1.14.4-d7f8306-20221026.zip
unzip nethermind-linux-arm64-1.14.4-d7f8306-20221026.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.4-d7f8306-20221026.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.4-d7f8306-20221026.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.3
What changed?
[SYNC] Fixes in Nethermind synchronizations (#4492, #4528, #4576, #4541, #4549, #4640)
[JSON RPC] Better integration with CL clients thanks to faster eth_getBlockByNumber and eth_getBlockByHash (#4645)
[Health checks] You won't forget running CL clients anymore. Nethermind will print a warning in case of no requests from CL clients. The feature has been integrated with our HealthChecks plugin, so you will get Unhealthy status in case of no requests. You can configure how long you want to wait for CL requests by setting --HealthChecks.MaxIntervalClRequestTime
(default value 5 minutes). (#4286)
[ENGINE API] Return 403 http code when authorization fails (#4516)
[ENGINE API] Bring engine_getPayloadBodiesByHashV1 up to spec. Link to spec: ethereum/execution-apis#218 (#4606)
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.3/nethermind-linux-amd64-1.14.3-7074612-20221003.zip
unzip nethermind-linux-amd64-1.14.3-7074612-20221003.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.3/nethermind-linux-arm64-1.14.3-7074612-20221003.zip
unzip nethermind-linux-arm64-1.14.3-7074612-20221003.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.3-7074612-20221003.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.3-7074612-20221003.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.2
What changed?
You need to update only if you're a validator and you've noticed following error in your logs: {"jsonrpc":"2.0","error":{"code":-32001,"message":"Receipt not available for 'From' block '15537393'."},"id":67}
Please note the block number 15537393 in the error message.
Only a small subset of nodes have been affected.
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.2/nethermind-linux-amd64-1.14.2-08354f9-20220915.zip
unzip nethermind-linux-amd64-1.14.2-08354f9-20220915.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.2/nethermind-linux-arm64-1.14.2-08354f9-20220915.zip
unzip nethermind-linux-arm64-1.14.2-08354f9-20220915.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.2-08354f9-20220915.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.2-08354f9-20220915.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration
v1.14.1
Recommended version for Mainnet The Merge transition
What changed?
[MERGE] Workaround for Nimbus to not produce empty blocks (#4474) - will be removed when Nimbus releases their fix.
[MERGE] Edge case scenario fixes (#4417, #4463, #4476, #4511)
[MERGE/LOG] UX improvements including exit early on configuration issues (#4529, #4530)
[FIX] Fix shutdowns during sync (#4380, #4477)
[CONFIG] Use built-in chainspec when there isn't a custom path specified explicitly (#4450) - this guarantees that for standard config hardfork chainspec will be picked up
[JSON RPC] Change eth_syncing to report true when downloading ancient bodies and receipts (#4441, #4507)
[JSON RPC] Allow eth_getProof accept trimmed index values (#4457)
[LOG] Handle ENR search failures, emit user-friendly warning instead of errors in logs (#4478)
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.1/nethermind-linux-amd64-1.14.1-1a32d45-20220907.zip
unzip nethermind-linux-amd64-1.14.1-1a32d45-20220907.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.14.1/nethermind-linux-arm64-1.14.1-1a32d45-20220907.zip
unzip nethermind-linux-arm64-1.14.1-1a32d45-20220907.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.14.1-1a32d45-20220907.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.14.1-1a32d45-20220907.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration