lighthouse-pulse/docs
Paul Hauner c4ced3e0d2
Fix block processing blowup, upgrade metrics (#500)
* 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
2019-08-19 21:02:34 +10:00
..
config_examples Fix block processing blowup, upgrade metrics (#500) 2019-08-19 21:02:34 +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 Interop chain start strategies (#479) 2019-08-06 13:29:27 +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
rest_oapi.yaml Spec. for REST API (#455) 2019-07-29 10:01:56 +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.