lighthouse/docs
Luke Anderson 16ec330a79
Started aligning API spec with implementation.
- Adding some missing fields to structs
 - Rearranged the endpoints in the rest_api router, and renamed, using an 'implementation_pending' function
 - Added 'content-type' headers, to distinguish difference with /node/metrics
 - Updated OpenAPI spec to v0.2.0
    - Split /node/fork into /node/chain_id and /beacon/fork
    - Moved /metrics to /node/metrics
    - Added example to /node/metrics, since it's text/plain
    - Moved /node/network to just /network
    - Added lots of stubs for endpoints which exist in the router
    - Reordered large parts of the OpenAPI spec
    - Moved /chain/beacon/... to just /beacon/...
2019-08-28 02:05:19 +10:00
..
config_examples Fix block processing blowup, upgrade metrics (#500) 2019-08-19 21:02:34 +10:00
documentation.md Added a quick 'documentation.md' file, to describe where the Lighthouse technical documentation is, and how it can be updated. 2019-05-01 15:13:30 +10:00
env.md Update env.md (#506) 2019-08-27 12:19:17 +10:00
interop.md Interop chain start strategies (#479) 2019-08-06 13:29:27 +10:00
README.md Interop chain start strategies (#479) 2019-08-06 13:29:27 +10:00
rest_oapi.yaml Started aligning API spec with implementation. 2019-08-28 02:05:19 +10:00
serenity.md Revert "Merge pull request #200 from sigp/new-structure" 2019-02-14 12:09:18 +11:00

Lighthouse Documentation

Lighthouse is a work-in-progress. Instructions are provided for running the client, however these instructions are designed for developers and researchers working on the project. We do not (yet) provide user-facing functionality.

Introduction

For client implementers looking to inter-op, see the Inter-Op Docs.

Command-line Interface

With the development environment configured, run cargo build --all --release (this can take several minutes on the first build). Then, navigate to the target/release/ directory and read the CLI documentation using:

$ ./beacon_node -h

The main README.md provides instructions for running a small, local testnet.

REST API

The beacon node provides a RESTful HTTP API which serves information about the Beacon Chain, the P2P network and more.

This API is documented in the rest_oapi.yaml Swagger YAML file. There's an interactive version hosted on SwaggerHub.

The implementation of the Swagger API in Lighthouse is incomplete, we do not (yet) guarantee that all routes are implemented.

Configuration Files

Lighthouse uses TOML files for configuration. The following binaries use the following config files (they are generated from defaults if they don't already exist):

  • Beacon Node
    • ~/.lighthouse/beacon_node.toml: the primary configuration file for a beacon node.
    • ~/.lighthouse/eth2-spec.toml: defines chain-specific "constants" that define an Ethereum 2.0 network.
  • Validator Client
    • ~/.lighthouse/validator_client.toml: the primary configuration file for a validator client.
    • ~/.lighthouse/eth2-spec.toml: defines chain-specific "constants" that define an Ethereum 2.0 network.

Note: default directories are shown, CLI flags can be used to override these defaults.

beacon-node.toml

A TOML configuration file that defines the behaviour of the beacon node runtime.

  • Located in the datadir (default ~/.lighthouse) as beacon-node.toml.
  • Created from defaults if not present.

See the example for more information.