mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-06 10:11:44 +00:00
Unify execution layer endpoints (#3214)
## Issue Addressed Resolves #3069 ## Proposed Changes Unify the `eth1-endpoints` and `execution-endpoints` flags in a backwards compatible way as described in https://github.com/sigp/lighthouse/issues/3069#issuecomment-1134219221 Users have 2 options: 1. Use multiple non auth execution endpoints for deposit processing pre-merge 2. Use a single jwt authenticated execution endpoint for both execution layer and deposit processing post merge Related https://github.com/sigp/lighthouse/issues/3118 To enable jwt authenticated deposit processing, this PR removes the calls to `net_version` as the `net` namespace is not exposed in the auth server in execution clients. Moving away from using `networkId` is a good step in my opinion as it doesn't provide us with any added guarantees over `chainId`. See https://github.com/ethereum/consensus-specs/issues/2163 and https://github.com/sigp/lighthouse/issues/2115 Co-authored-by: Paul Hauner <paul@paulhauner.com>
This commit is contained in:
@@ -409,45 +409,46 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
.arg(
|
||||
Arg::with_name("merge")
|
||||
.long("merge")
|
||||
.help("Enable the features necessary to run merge testnets. This feature \
|
||||
is unstable and is for developers only.")
|
||||
.takes_value(false),
|
||||
.help("Deprecated. The feature activates automatically when --execution-endpoint \
|
||||
is supplied.")
|
||||
.takes_value(false)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("execution-endpoints")
|
||||
.long("execution-endpoints")
|
||||
.value_name("EXECUTION-ENDPOINTS")
|
||||
.help("One or more comma-delimited server endpoints for HTTP JSON-RPC connection. \
|
||||
If multiple endpoints are given the endpoints are used as fallback in the \
|
||||
given order. Also enables the --merge flag. \
|
||||
If this flag is omitted and the --eth1-endpoints is supplied, those values \
|
||||
will be used. Defaults to http://127.0.0.1:8545.")
|
||||
Arg::with_name("execution-endpoint")
|
||||
.long("execution-endpoint")
|
||||
.value_name("EXECUTION-ENDPOINT")
|
||||
.alias("execution-endpoints")
|
||||
.help("Server endpoint for an execution layer jwt authenticated HTTP \
|
||||
JSON-RPC connection. Uses the same endpoint to populate the \
|
||||
deposit cache. Also enables the --merge flag.\
|
||||
If not provided, uses the default value of http://127.0.0.1:8551")
|
||||
.takes_value(true)
|
||||
.requires("execution-jwt")
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("execution-jwt")
|
||||
.long("execution-jwt")
|
||||
.value_name("EXECUTION-JWT")
|
||||
.alias("jwt-secrets")
|
||||
.help("File path which contains the hex-encoded JWT secret for the \
|
||||
execution endpoint provided in the --execution-endpoint flag.")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-secrets")
|
||||
.long("jwt-secrets")
|
||||
.value_name("JWT-SECRETS")
|
||||
.help("One or more comma-delimited file paths which contain the corresponding hex-encoded \
|
||||
JWT secrets for each execution endpoint provided in the --execution-endpoints flag. \
|
||||
The number of paths should be in the same order and strictly equal to the number \
|
||||
of execution endpoints provided.")
|
||||
.takes_value(true)
|
||||
.requires("execution-endpoints")
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-id")
|
||||
.long("jwt-id")
|
||||
.value_name("JWT-ID")
|
||||
Arg::with_name("execution-jwt-id")
|
||||
.long("execution-jwt-id")
|
||||
.value_name("EXECUTION-JWT-ID")
|
||||
.alias("jwt-id")
|
||||
.help("Used by the beacon node to communicate a unique identifier to execution nodes \
|
||||
during JWT authentication. It corresponds to the 'id' field in the JWT claims object.\
|
||||
Set to empty by deafult")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-version")
|
||||
.long("jwt-version")
|
||||
.value_name("JWT-VERSION")
|
||||
Arg::with_name("execution-jwt-version")
|
||||
.long("execution-jwt-version")
|
||||
.value_name("EXECUTION-JWT-VERSION")
|
||||
.alias("jwt-version")
|
||||
.help("Used by the beacon node to communicate a client version to execution nodes \
|
||||
during JWT authentication. It corresponds to the 'clv' field in the JWT claims object.\
|
||||
Set to empty by deafult")
|
||||
@@ -461,14 +462,15 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
collected from any blocks produced by this node. Defaults to a junk \
|
||||
address whilst the merge is in development stages. THE DEFAULT VALUE \
|
||||
WILL BE REMOVED BEFORE THE MERGE ENTERS PRODUCTION")
|
||||
.requires("merge")
|
||||
.requires("execution-endpoint")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("payload-builders")
|
||||
.long("payload-builders")
|
||||
Arg::with_name("payload-builder")
|
||||
.long("payload-builder")
|
||||
.alias("payload-builders")
|
||||
.help("The URL of a service compatible with the MEV-boost API.")
|
||||
.requires("merge")
|
||||
.requires("execution-endpoint")
|
||||
.takes_value(true)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user