# 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 - [Overview of Ethereum 2.0](serenity.md) - [Development Environment Setup](env.md) For client implementers looking to inter-op, see the [Inter-Op Docs](interop.md). ## Command-line Interface With the [development environment](env.md) 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`](../README.md#simple-local-testnet) 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`](rest_oapi.yaml) Swagger YAML file. There's an interactive version hosted on [SwaggerHub](https://app.swaggerhub.com/apis/spble/lighthouse_rest_api/0.1.0). 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](https://github.com/toml-lang/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](/beacon_node) - [`~/.lighthouse/beacon_node.toml`](#beacon-nodetoml): 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](/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](config_examples/beacon-node.toml) for more information.