c4ced3e0d2
* Renamed fork_choice::process_attestation_from_block * Processing attestation in fork choice * Retrieving state from store and checking signature * Looser check on beacon state validity. * Cleaned up get_attestation_state * Expanded fork choice api to provide latest validator message. * Checking if the an attestation contains a latest message * Correct process_attestation error handling. * Copy paste error in comment fixed. * Tidy ancestor iterators * Getting attestation slot via helper method * Refactored attestation creation in test utils * Revert "Refactored attestation creation in test utils" This reverts commit 4d277fe4239a7194758b18fb5c00dfe0b8231306. * Integration tests for free attestation processing * Implicit conflicts resolved. * formatting * Do first pass on Grants code * Add another attestation processing test * Tidy attestation processing * Remove old code fragment * Add non-compiling half finished changes * Simplify, fix bugs, add tests for chain iters * Remove attestation processing from op pool * Fix bug with fork choice, tidy * Fix overly restrictive check in fork choice. * Ensure committee cache is build during attn proc * Ignore unknown blocks at fork choice * Various minor fixes * Make fork choice write lock in to read lock * Remove unused method * Tidy comments * Fix attestation prod. target roots change * Fix compile error in store iters * Reject any attestation prior to finalization * Begin metrics refactor * Move beacon_chain to new metrics structure. * Make metrics not panic if already defined * Use global prometheus gather at rest api * Unify common metric fns into a crate * Add heavy metering to block processing * Remove hypen from prometheus metric name * Add more beacon chain metrics * Add beacon chain persistence metric * Prune op pool on finalization * Add extra prom beacon chain metrics * Prefix BeaconChain metrics with "beacon_" * Add more store metrics * Add basic metrics to libp2p * Add metrics to HTTP server * Remove old `http_server` crate * Update metrics names to be more like standard * Fix broken beacon chain metrics, add slot clock metrics * Add lighthouse_metrics gather fn * Remove http args * Fix wrong state given to op pool prune * Make prom metric names more consistent * Add more metrics, tidy existing metrics * Fix store block read metrics * Tidy attestation metrics * Fix minor PR comments * Allow travis failures on beta (see desc) There's a non-backward compatible change in `cargo fmt`. Stable and beta do not agree. * Tidy `lighthouse_metrics` docs * Fix typo |
||
---|---|---|
.. | ||
config_examples | ||
documentation.md | ||
env.md | ||
interop.md | ||
README.md | ||
rest_oapi.yaml | ||
serenity.md |
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
) asbeacon-node.toml
. - Created from defaults if not present.
See the example for more information.