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.
|