lighthouse/docs
Luke Anderson 4339e372c7
Updated the API spec.
- Moved ENR into it's own object
 - Moved the POST request parameters into the requestBody attribute (instead of query)
 - Updated IndexedAttestation to Attestation
 - Updated path for current_finalized_checkpoint
 - Completed the /spec and /spec and /spec/slots_per_epoch endpoints
 - Completed the /beacon/state/genesis endpoint
 - Completed the /spec/eth2_config endpoint
 - Fixed the prometheus example value
 - Added various example values to reflect real world values
 - Fixed incorrect indenting of Eth1Data
 - Added the whole ChainSpec schema
2019-09-05 00:39:54 +10:00
..
config_examples Fix block processing blowup, upgrade metrics (#500) 2019-08-19 21:02:34 +10:00
api_spec.yaml Updated the API spec. 2019-09-05 00:39:54 +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.