Adds a new field activeFork to the response body of admin_nodeInfo JSON/RPC requests.
The JSON/RPC call already returns the fork configuration but that requires the caller to make multiple calls and compare chain heights and/or timestamps to infer the currently active fork. The new field makes it possible to determine accurately in a single call.
The value is whatever getName() returns for the active ProtocolSpec. This means it is sentence cased (upper-case first letter) but a caller would be expected to use a case-insensitive string compare so I'm not inclined to upper or lower case the string.
Example output with the shanghai fork EVM enabled:
PR description
Adds a new field
activeFork
to the response body ofadmin_nodeInfo
JSON/RPC requests.The JSON/RPC call already returns the fork configuration but that requires the caller to make multiple calls and compare chain heights and/or timestamps to infer the currently active fork. The new field makes it possible to determine accurately in a single call.
The value is whatever
getName()
returns for the activeProtocolSpec
. This means it is sentence cased (upper-case first letter) but a caller would be expected to use a case-insensitive string compare so I'm not inclined to upper or lower case the string.Example output with the
shanghai
fork EVM enabled:I've tested the call before and after a fork to check that the value of
activeFork
changes as soon as the new fork is enabled.Fixed Issue(s)
Fixes https://github.com/hyperledger/besu/issues/7064