From 36287699d054a3cbe2eb7c56362037e29ea58b77 Mon Sep 17 00:00:00 2001 From: lystopad Date: Fri, 3 Jul 2026 12:37:47 +0200 Subject: [PATCH] Register `CN` for Caplin Register `CN` for Caplin, Erigon's embedded consensus layer client. Caplin integrates the consensus layer directly into the Erigon node, removing the need for a separate CL process and its own disk storage, which reduces operational complexity and resource usage. It is a distinct consensus client and needs its own two-letter code so that blocks proposed by an Erigon + Caplin setup are correctly attributable. `EG` is already reserved for erigon (execution layer), so it cannot be reused for the consensus layer: the graffiti client-version format (``) requires distinct codes to tell the two layers apart. With `CN`, an Erigon + Caplin block encodes as e.g. `EGa53eCNa53e`, letting client-diversity tooling measure Caplin adoption independently. --- src/engine/identification.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/identification.md b/src/engine/identification.md index c3cddded5..7471097b4 100644 --- a/src/engine/identification.md +++ b/src/engine/identification.md @@ -30,6 +30,7 @@ To facilitate a more accurate measurement of execution layer client diversity st This enum defines a standard for specifying a client with just two letters. Clients teams which have a code reserved in this list **MUST** use this code when identifying themselves. The code is specified here only to facilitate standardization and NOT to imply that these are the only supported Ethereum clients. Any clients not listed here are free to use any two letters which don't collide with an existing client code. They are encouraged to make a PR to this repo to reserve their own code. Existing codes are as follows: - `BU`: besu + - `CN`: caplin - `EJ`: ethereumJS - `EG`: erigon - `EX`: ethrex @@ -75,4 +76,4 @@ Rationale: Human-readable fields like `clientName` and `version` are useful for 2. Clients **MUST** accommodate receiving any two-letter `ClientCode`, even if they are not reserved in the list above. Clients **MAY** log messages upon receiving an unlisted client code. 3. When connected to a single execution client, the consensus client **MUST** receive an array with a single `ClientVersionV1` object. When connected to multiple execution clients via a multiplexer, the multiplexer **MUST** concatenate the responses from each execution client into a single, flat array before returning the -response to the consensus client. \ No newline at end of file +response to the consensus client.