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.
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