go-ethereum/cmd/geth
Giulio 2e357729a3 eth/catalyst: implement EIP-8161 SSZ-REST Engine API transport
Add SSZ-REST as an alternative Engine API transport alongside JSON-RPC.
When enabled via --authrpc.ssz-rest (alias: --rest), Geth starts an
additional HTTP server that accepts SSZ-encoded payloads over REST,
cutting wire size ~50% and eliminating JSON encode/decode overhead.

New files:
- beacon/engine/ssz.go: SSZ encoding/decoding for all Engine API types
- beacon/engine/ssz_test.go: round-trip tests for SSZ codecs
- eth/catalyst/ssz_rest.go: SSZ-REST HTTP server with JWT auth
- eth/catalyst/ssz_rest_test.go: server unit tests

Modified files:
- beacon/engine/types.go: CommunicationChannel, ExchangeCapabilitiesV2Response
- eth/catalyst/api.go: ExchangeCapabilitiesV2, getSupportedProtocols, server wiring
- node/config.go, defaults.go: SszRestEnabled, SszRestPort config
- node/jwt_handler.go: exported NewJWTHandler for reuse
- cmd/utils/flags.go, cmd/geth/main.go: CLI flags

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:40:37 +01:00
..
testdata cmd/geth: remove deprecated vulnerability check command (#33498) 2025-12-30 21:04:38 +01:00
accountcmd.go cmd/geth: remove unlock commandline flag (#30737) 2024-11-15 10:15:15 +01:00
accountcmd_test.go cmd/geth: remove unlock commandline flag (#30737) 2024-11-15 10:15:15 +01:00
attach_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
chaincmd.go metrics: allow changing influxdb interval (#33767) 2026-02-23 14:27:25 +01:00
chaincmd_test.go cmd/geth: era-download logic fix (#32081) 2025-06-24 15:12:11 +08:00
config.go metrics: allow changing influxdb interval (#33767) 2026-02-23 14:27:25 +01:00
consolecmd.go internal/flags: remove Merge, it's identical to slices.Concat (#30706) 2024-10-31 19:26:02 +02:00
consolecmd_test.go eth/catalyst: implement testing_buildBlockV1 (#33656) 2026-02-23 15:56:31 +01:00
dbcmd.go cmd/geth: add inspect trie tool to analysis trie storage (#28892) 2026-02-24 10:56:00 -07:00
exportcmd_test.go all: simplify tests using t.TempDir() (#30150) 2024-07-15 15:26:58 +02:00
genesis_test.go all: remove TerminalTotalDifficultyPassed (#30609) 2024-10-23 08:26:18 +02:00
logging_test.go .github: run tests with ci.go (#32590) 2025-09-11 20:15:51 +02:00
logtestcmd_active.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
logtestcmd_inactive.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
main.go eth/catalyst: implement EIP-8161 SSZ-REST Engine API transport 2026-03-02 18:40:37 +01:00
misccmd.go cmd/geth: remove deprecated vulnerability check command (#33498) 2025-12-30 21:04:38 +01:00
run_test.go cmd, les, tests: remove light client code (#28586) 2023-11-23 16:28:26 +02:00
snapshot.go common: introduce IsHexHash and use it (#32998) 2025-11-04 21:09:36 +08:00