Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var AllClients = []Client{ ClientUnknown, ClientLighthouse, ClientNimbus, ClientTeku, ClientPrysm, ClientLodestar, ClientGrandine, ClientCaplin, ClientTysm, ClientGeth, ClientBesu, ClientNethermind, ClientErigon, ClientReth, ClientEthereumJS, ClientEthrex, }
AllClients contains all known consensus+execution client implementations.
var AllConsensusClients = []Client{ ClientLighthouse, ClientNimbus, ClientTeku, ClientPrysm, ClientLodestar, ClientGrandine, ClientCaplin, ClientTysm, }
AllConsensusClients contains all known consensus client implementations.
var AllExecutionClients = []Client{ ClientGeth, ClientBesu, ClientNethermind, ClientErigon, ClientReth, ClientEthereumJS, ClientEthrex, }
AllExecutionClients contains all known execution client implementations.
Functions ¶
func ParseExecutionClientVersion ¶
func ParseExecutionClientVersion(clientVersion string) (implementation, version, versionMajor, versionMinor, versionPatch string)
ParseExecutionClientVersion parses the web3_clientVersion string. Example inputs from real EL implementations: - "Geth/v1.16.4-stable-41714b49/linux-amd64/go1.24.7" - "erigon/3.0.14/linux-amd64/go1.23.11" (lowercase, no 'v' prefix) - "Nethermind/v1.32.4+1c4c7c0a/linux-x64/dotnet9.0.7" (uses + for commit hash) - "besu/v25.7.0/linux-x86_64/openjdk-java-21" (lowercase) - "reth/v1.8.2-9c30bf7/x86_64-unknown-linux-gnu" (uses - for commit hash) - "ethrex/v8.0.0-HEAD-8d83b00/x86_64-unknown-linux-gnu/rustc-v1.90.0" Returns: implementation, version, versionMajor, versionMinor, versionPatch.
Types ¶
type Client ¶
type Client string
Client represents an Ethereum client implementation.
const ( // ClientUnknown represents an unknown or unidentified client. ClientUnknown Client = "unknown" // ClientLighthouse represents the Lighthouse consensus client. ClientLighthouse Client = "lighthouse" // ClientNimbus represents the Nimbus consensus client. ClientNimbus Client = "nimbus" // ClientTeku represents the Teku consensus client. ClientTeku Client = "teku" // ClientTysm represents the Tysm consensus client. ClientTysm Client = "tysm" // ClientPrysm represents the Prysm consensus client. ClientPrysm Client = "prysm" // ClientLodestar represents the Lodestar consensus client. ClientLodestar Client = "lodestar" // ClientGrandine represents the Grandine consensus client. ClientGrandine Client = "grandine" // ClientCaplin represents the Caplin consensus client. ClientCaplin Client = "caplin" // ClientGeth represents the Geth execution client. ClientGeth Client = "geth" // ClientBesu represents the Besu execution client. ClientBesu Client = "besu" // ClientNethermind represents the Nethermind execution client. ClientNethermind Client = "nethermind" // ClientErigon represents the Erigon execution client. ClientErigon Client = "erigon" // ClientReth represents the Reth execution client. ClientReth Client = "reth" // ClientEthereumJS represents the EthereumJS execution client. ClientEthereumJS Client = "ethereumjs" // ClientEthrex represents the Ethrex execution client. ClientEthrex Client = "ethrex" )
func ClientFromString ¶
ClientFromString identifies a consensus client from a string identifier. It performs a case-insensitive search for known client names within the input string. Returns ClientUnknown if no known client is identified.