mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-17 20:02:43 +00:00
* linter * Add markdown linter * add env * only check markdown * Add token * Update .github/workflows/test-suite.yml * Markdown linter * Exit code * Update script * rename * mdlint * Add an empty line after end of file * Testing disable * add text * update mdlint.sh * ori validator inclusion * Add config yml file * Remove MD041 and fix advanced-datadir file * FIx validator inclusion file conflict * Merge branch 'unstable' into markdown-linter * change files * Merge branch 'markdown-linter' of https://github.com/chong-he/lighthouse into markdown-linter * mdlint * Remove MD025 * Remove MD036 * Remove MD045 * Removr MD001 * Set MD028 to false * Remove MD024 * Remove MD055 * Remove MD029 * Remove MD040 * Set MD040 to false * Set MD033 to false * Set MD013 to false * Rearrange yml file * Update mdlint.sh and test * Test remove fix * Test with fix * Test with space * Fix summary indentation * Test mdlint.sh * Update mdlint.sh * Test * Update * Test fix * Test again * Fix * merge into check-code * Update scripts/mdlint.sh Co-authored-by: Mac L <mjladson@pm.me> * Update scripts/mdlint.sh Co-authored-by: Mac L <mjladson@pm.me> * Remove set -e * Add comment * Merge pull request #7 from chong-he/unstable Merge unstable to markdown branch * mdlint * Merge branch 'unstable' into markdown-linter * mdlint
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
|
|
```
|