clients

package
v0.0.0-...-be891b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2026 License: MIT Imports: 1 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

AllClients contains all known consensus+execution client implementations.

AllConsensusClients contains all known consensus client implementations.

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

func ClientFromString(client string) Client

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL