mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 19:02:42 +00:00
## 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>
45 lines
2.1 KiB
Markdown
45 lines
2.1 KiB
Markdown
# 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](https://ethereum.github.io/keymanager-APIs/) that is implemented by other clients and remote
|
|
signers. It also includes some Lighthouse-specific endpoints which are described in
|
|
[Endpoints](./api-vc-endpoints.md).
|
|
|
|
> Note: All requests to the HTTP server must supply an
|
|
> [`Authorization`](./api-vc-auth-header.md) header. All responses contain a
|
|
> [`Signature`](./api-vc-sig-header.md) 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 the `Access-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](http://localhost:5062):
|
|
|
|
```bash
|
|
lighthouse vc --http
|
|
```
|