845f336a59
* Implement more flexible beacon chain genesis * Fix compile issues from rebase on master * Rename CLI flag * Adds initial documentation for TOML files * Update docs readme * Add first version of cli_util * Dont write cache fields in serde * Tidy cli_util * Add code to load genesis YAML file * Move serde_utils out of tests in `types` * Update logging text * Fix serde YAML for Fork * Make yaml hex decoding more strict * Update deterministic key generate for interop * Set deposit count on testing genesis state * Make some fixes for deposit count * Remove code fragements * Large restructure of docs * Tidy docs * Fix readme link * Add interop docs * Tidy README
70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
# 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.
|