lighthouse/docs
Luke Anderson c13f27e245
Updating REST API.
- Made /beacon/state return the current 'head' state when no parameters are provided.
 - Added some of the YAML api spec stuff to the /beacon/state endpoint in the rest_api spec.
2019-09-03 16:30:04 +10:00
..
config_examples Fix block processing blowup, upgrade metrics (#500) 2019-08-19 21:02:34 +10:00
api_spec.yaml Updating REST API. 2019-09-03 16:30:04 +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
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.