## Issue Addressed Update Information in Lighthouse Book ## Proposed Changes - move Validator Graffiti from Advanced Usage to Validator Management - update API response and command - some items that aren't too sure I put it in comment, which can be seen in raw/review format but not live ## Additional Info Please provide any additional information. For example, future considerations or information useful for reviewers. Co-authored-by: chonghe <44791194+chong-he@users.noreply.github.com>
2.1 KiB
Validator Client API
Lighthouse implements a JSON HTTP API for the validator client which enables programmatic management of validators and keys.
The API includes all of the endpoints from the standard keymanager API that is implemented by other clients and remote signers. It also includes some Lighthouse-specific endpoints which are described in Endpoints.
Note: All requests to the HTTP server must supply an
Authorization
header. All responses contain aSignature
header for optional verification.
Starting the server
A Lighthouse validator client can be configured to expose a HTTP server by supplying the --http
flag. The default listen address is http://127.0.0.1:5062
.
The following CLI flags control the HTTP server:
--http
: enable the HTTP server (required even if the following flags are provided).--http-address
: specify the listen address of the server. It is almost always unsafe to use a non-default HTTP listen address. Use this with caution. See the Security section below for more information.--http-port
: specify the listen port of the server.--http-allow-origin
: specify the value of theAccess-Control-Allow-Origin
header. The default is to not supply a header.
Security
The validator client HTTP server is not encrypted (i.e., it is not HTTPS). For
this reason, it will listen by default on http://127.0.0.1
.
It is unsafe to expose the validator client to the public Internet without additional transport layer security (e.g., HTTPS via nginx, SSH tunnels, etc.).
For custom setups, such as certain Docker configurations, a custom HTTP listen address can be used by passing the --http-address
and --unencrypted-http-transport
flags. The --unencrypted-http-transport
flag is a safety flag which is required to ensure the user is aware of the potential risks when using a non-default listen address.
CLI Example
Start the validator client with the HTTP server listening on http://localhost:5062:
lighthouse vc --http