From c981f3e5e6dce7dc974292a66ec951686f96d826 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 5 Apr 2023 22:16:54 +0800 Subject: [PATCH 01/42] update system requirement --- book/src/installation.md | 22 ++++++++++++++++++++-- book/src/system-requirements.md | 22 ---------------------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/book/src/installation.md b/book/src/installation.md index bc546e09874..62bf586fa41 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -21,11 +21,29 @@ Additionally, there are two extra guides for specific uses: ## Minimum System Requirements +Lighthouse is able to run on most low to mid-range consumer hardware, but will perform best when +provided with ample system resources. The following system requirements are for running a beacon +node and a validator client with a modest number of validator keys (less than 100). + +## Minimum + * Dual-core CPU, 2015 or newer * 8 GB RAM * 128 GB solid state storage * 10 Mb/s download, 5 Mb/s upload broadband connection -For more information see [System Requirements](./system-requirements.md). +During smooth network conditions, Lighthouse's database will fit within 15 GB, but in case of a long +period of non-finality, it is **strongly recommended** that at least 128 GB is available. + +## Recommended + +* Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer +* 16 GB RAM +* 256 GB solid state storage +* 100 Mb/s download, 20 Mb/s upload broadband connection -[WSL]: https://docs.microsoft.com/en-us/windows/wsl/about + +* Dual-core CPU, 2015 or newer +* 8 GB RAM +* 128 GB solid state storage +* 10 Mb/s download, 5 Mb/s upload broadband connection \ No newline at end of file diff --git a/book/src/system-requirements.md b/book/src/system-requirements.md index 0c51d07cce8..8b137891791 100644 --- a/book/src/system-requirements.md +++ b/book/src/system-requirements.md @@ -1,23 +1 @@ -# System Requirements - -Lighthouse is able to run on most low to mid-range consumer hardware, but will perform best when -provided with ample system resources. The following system requirements are for running a beacon -node and a validator client with a modest number of validator keys (less than 100). - -## Minimum - -* Dual-core CPU, 2015 or newer -* 8 GB RAM -* 128 GB solid state storage -* 10 Mb/s download, 5 Mb/s upload broadband connection - -During smooth network conditions, Lighthouse's database will fit within 15 GB, but in case of a long -period of non-finality, it is **strongly recommended** that at least 128 GB is available. - -## Recommended - -* Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer -* 16 GB RAM -* 256 GB solid state storage -* 100 Mb/s download, 20 Mb/s upload broadband connection From 30a8c4d82756aa3134ffb179f104dec807ae6605 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 5 Apr 2023 22:19:08 +0800 Subject: [PATCH 02/42] update --- book/src/installation.md | 6 ------ book/src/system-requirements.md | 1 - 2 files changed, 7 deletions(-) delete mode 100644 book/src/system-requirements.md diff --git a/book/src/installation.md b/book/src/installation.md index 62bf586fa41..c3c539fde9a 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -41,9 +41,3 @@ period of non-finality, it is **strongly recommended** that at least 128 GB is a * 16 GB RAM * 256 GB solid state storage * 100 Mb/s download, 20 Mb/s upload broadband connection - - -* Dual-core CPU, 2015 or newer -* 8 GB RAM -* 128 GB solid state storage -* 10 Mb/s download, 5 Mb/s upload broadband connection \ No newline at end of file diff --git a/book/src/system-requirements.md b/book/src/system-requirements.md deleted file mode 100644 index 8b137891791..00000000000 --- a/book/src/system-requirements.md +++ /dev/null @@ -1 +0,0 @@ - From 15fe118dcaf0f430967ab69348b1595aa35e8da6 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 5 Apr 2023 22:41:28 +0800 Subject: [PATCH 03/42] update --- book/src/installation.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/book/src/installation.md b/book/src/installation.md index c3c539fde9a..24e4420419e 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -19,7 +19,7 @@ Additionally, there are two extra guides for specific uses: - [Raspberry Pi 4 guide](./pi.md). - [Cross-compiling guide for developers](./cross-compiling.md). -## Minimum System Requirements +## System Requirements Lighthouse is able to run on most low to mid-range consumer hardware, but will perform best when provided with ample system resources. The following system requirements are for running a beacon @@ -29,15 +29,12 @@ node and a validator client with a modest number of validator keys (less than 10 * Dual-core CPU, 2015 or newer * 8 GB RAM -* 128 GB solid state storage +* 256 GB solid state storage * 10 Mb/s download, 5 Mb/s upload broadband connection -During smooth network conditions, Lighthouse's database will fit within 15 GB, but in case of a long -period of non-finality, it is **strongly recommended** that at least 128 GB is available. - ## Recommended * Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer * 16 GB RAM -* 256 GB solid state storage +* 512 GB solid state storage * 100 Mb/s download, 20 Mb/s upload broadband connection From d86a8677030183cc819a1b9b473409cfdf0a3909 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 5 Apr 2023 22:55:42 +0800 Subject: [PATCH 04/42] update summary --- book/src/SUMMARY.md | 1 - 1 file changed, 1 deletion(-) diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 7def1821dd2..ff5c1e9805f 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -2,7 +2,6 @@ * [Introduction](./intro.md) * [Installation](./installation.md) - * [System Requirements](./system-requirements.md) * [Pre-Built Binaries](./installation-binaries.md) * [Docker](./docker.md) * [Build from Source](./installation-source.md) From 400e1001e6a20c0fe65c600f56497cef53a3e15b Mon Sep 17 00:00:00 2001 From: chonghe Date: Thu, 6 Apr 2023 07:54:06 +0800 Subject: [PATCH 05/42] update merge info --- book/src/installation.md | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/book/src/installation.md b/book/src/installation.md index 24e4420419e..3deccd1c4ae 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -21,20 +21,13 @@ Additionally, there are two extra guides for specific uses: ## System Requirements -Lighthouse is able to run on most low to mid-range consumer hardware, but will perform best when -provided with ample system resources. The following system requirements are for running a beacon -node and a validator client with a modest number of validator keys (less than 100). +Before [The Merge](https://ethereum.org/en/roadmap/merge/), Lighthouse is able to run on its own with low to mid-range consumer hardware, but will perform best when provided with ample system resources. -## Minimum +After [The Merge](https://ethereum.org/en/roadmap/merge/) on 15th September 2022, it is necessary to run Lighthouse together with an execution client ([Nethermind](https://nethermind.io/), [Besu](https://www.hyperledger.org/use/besu), [Erigon](https://github.com/ledgerwatch/erigon),[Geth](https://geth.ethereum.org/)). The following system requirements listed are therefore for running a Lighthouse beacon node combined with an execution client , and a validator client with a modest number of validator keys (less than 100). -* Dual-core CPU, 2015 or newer -* 8 GB RAM -* 256 GB solid state storage -* 10 Mb/s download, 5 Mb/s upload broadband connection +## Recommended system requirements -## Recommended - -* Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer -* 16 GB RAM -* 512 GB solid state storage -* 100 Mb/s download, 20 Mb/s upload broadband connection +* CPU: Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer +* Memory: 16 GB RAM +* Storage: 2 TB solid state storage +* Network: 100 Mb/s download, 20 Mb/s upload broadband connection From 99ed9bb452f37eb22a56baf5a4b805c36dc37b01 Mon Sep 17 00:00:00 2001 From: chonghe Date: Thu, 6 Apr 2023 08:55:31 +0800 Subject: [PATCH 06/42] update installation-binaries.md --- book/src/installation-binaries.md | 4 ++-- book/src/installation.md | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 2365ea7ed7b..6436c48fb0d 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -29,7 +29,7 @@ a portable `x86_64` binary. 1. Go to the [Releases](https://github.com/sigp/lighthouse/releases) page and select the latest release. -1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu-portable.tar.gz` binary. +1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. 1. Extract the archive: 1. `cd Downloads` 1. `tar -xvf lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` @@ -64,4 +64,4 @@ WARN CPU seems incompatible with optimized Lighthouse build, advice: If you get On some VPS providers, the virtualization can make it appear as if CPU features are not available, even when they are. In this case you might see the warning above, but so long as the client -continues to function it's nothing to worry about. +continues to function, it's nothing to worry about. diff --git a/book/src/installation.md b/book/src/installation.md index 3deccd1c4ae..3d9315a9f6e 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -19,13 +19,12 @@ Additionally, there are two extra guides for specific uses: - [Raspberry Pi 4 guide](./pi.md). - [Cross-compiling guide for developers](./cross-compiling.md). -## System Requirements +## Recommended System Requirements Before [The Merge](https://ethereum.org/en/roadmap/merge/), Lighthouse is able to run on its own with low to mid-range consumer hardware, but will perform best when provided with ample system resources. -After [The Merge](https://ethereum.org/en/roadmap/merge/) on 15th September 2022, it is necessary to run Lighthouse together with an execution client ([Nethermind](https://nethermind.io/), [Besu](https://www.hyperledger.org/use/besu), [Erigon](https://github.com/ledgerwatch/erigon),[Geth](https://geth.ethereum.org/)). The following system requirements listed are therefore for running a Lighthouse beacon node combined with an execution client , and a validator client with a modest number of validator keys (less than 100). +After [The Merge](https://ethereum.org/en/roadmap/merge/) on 15th September 2022, it is necessary to run Lighthouse together with an execution client ([Nethermind](https://nethermind.io/), [Besu](https://www.hyperledger.org/use/besu), [Erigon](https://github.com/ledgerwatch/erigon), [Geth](https://geth.ethereum.org/)). The following system requirements listed are therefore for running a Lighthouse beacon node combined with an execution client , and a validator client with a modest number of validator keys (less than 100): -## Recommended system requirements * CPU: Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer * Memory: 16 GB RAM From ff465f455fafa1e7a9b11a36bceb03dc9fb9c075 Mon Sep 17 00:00:00 2001 From: chonghe Date: Thu, 6 Apr 2023 09:23:05 +0800 Subject: [PATCH 07/42] update docker.md --- book/src/docker.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/book/src/docker.md b/book/src/docker.md index 7484f9f525b..6d0d1b09ae1 100644 --- a/book/src/docker.md +++ b/book/src/docker.md @@ -28,9 +28,6 @@ $ docker run sigp/lighthouse lighthouse --version If you can see the latest [Lighthouse release](https://github.com/sigp/lighthouse/releases) version (see example below), then you've successfully installed Lighthouse via Docker. -> Pro tip: try the `latest-modern` image for a 20-30% speed-up! See [Available Docker -> Images](#available-docker-images) below. - ### Example Version Output ``` @@ -38,6 +35,9 @@ Lighthouse vx.x.xx-xxxxxxxxx BLS Library: xxxx-xxxxxxx ``` +> Pro tip: try the `latest-modern` image for a 20-30% speed-up! See [Available Docker +> Images](#available-docker-images) below. + ### Available Docker Images There are several images available on Docker Hub. @@ -47,8 +47,7 @@ Lighthouse with optimizations enabled. If you are running on older hardware then `latest` image bundles a _portable_ version of Lighthouse which is slower but with better hardware compatibility (see [Portability](./installation-binaries.md#portability)). -To install a specific tag (in this case `latest-modern`) add the tag name to your `docker` commands -like so: +To install a specific tag (in this case `latest-modern`), add the tag name to your `docker` commands: ``` $ docker pull sigp/lighthouse:latest-modern @@ -65,17 +64,17 @@ The `version` is: * `vX.Y.Z` for a tagged Lighthouse release, e.g. `v2.1.1` * `latest` for the `stable` branch (latest release) or `unstable` branch -The `stability` is: - -* `-unstable` for the `unstable` branch -* empty for a tagged release or the `stable` branch - The `arch` is: * `-amd64` for x86_64, e.g. Intel, AMD * `-arm64` for aarch64, e.g. Raspberry Pi 4 * empty for a multi-arch image (works on either `amd64` or `arm64` platforms) +The `stability` is: + +* `-unstable` for the `unstable` branch +* empty for a tagged release or the `stable` branch + The `modernity` is: * `-modern` for optimized builds @@ -116,9 +115,9 @@ You can run a Docker beacon node with the following command: $ docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse --network mainnet beacon --http --http-address 0.0.0.0 ``` -> To join the Prater testnet, use `--network prater` instead. +> To join the goerli testnet, use `--network goerli` instead. -> The `-p` and `-v` and values are described below. +> The `-v` (Volumes) and `-p` (Ports) and values are described below. ### Volumes From 152a46ac2cc83bdbaf3299eb9ded5a2c4f858fd5 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 11:00:00 +0800 Subject: [PATCH 08/42] update source --- book/src/installation-source.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/book/src/installation-source.md b/book/src/installation-source.md index c89dd1add4f..a3e7fc8be99 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -5,8 +5,20 @@ the instructions below, and then proceed to [Building Lighthouse](#build-lightho ## Dependencies -First, **install Rust** using [rustup](https://rustup.rs/). The rustup installer provides an easy way -to update the Rust compiler, and works on all platforms. +First, **install Rust** using [rustup](https://rustup.rs/): + +```bash +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +The rustup installer provides an easy way to update the Rust compiler, and works on all platforms. + +> Tips: +> +> - When prompted, enter `1` for the default installation. +> - Try running `cargo version` after Rust installation completes. If it cannot +> be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2` +> - It's generally advisable to append `source $HOME/.cargo/env` to `~/.bashrc`. With Rust installed, follow the instructions below to install dependencies relevant to your operating system. @@ -136,7 +148,7 @@ Commonly used features include: * `spec-minimal`: support for the minimal preset (useful for testing). Default features (e.g. `slasher-mdbx`) may be opted out of using the `--no-default-features` -argument for `cargo`, which can plumbed in via the `CARGO_INSTALL_EXTRA_FLAGS` environment variable. +argument for `cargo`, which can be plumbed in via the `CARGO_INSTALL_EXTRA_FLAGS` environment variable. E.g. ``` @@ -185,7 +197,7 @@ Rust Version (MSRV) which is listed under the `rust-version` key in Lighthouse's If compilation fails with `(signal: 9, SIGKILL: kill)`, this could mean your machine ran out of memory during compilation. If you are on a resource-constrained device you can look into [cross compilation](./cross-compiling.md), or use a [pre-built -binary](./installation-binaries.md). +binary](https://github.com/sigp/lighthouse/releases). If compilation fails with `error: linking with cc failed: exit code: 1`, try running `cargo clean`. From a43b1aab357c2b88b52800a064c5db344db7c199 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 11:37:59 +0800 Subject: [PATCH 09/42] update --- book/src/cross-compiling.md | 4 ++-- book/src/installation-source.md | 8 +++++++- book/src/pi.md | 21 ++++++++++++--------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/book/src/cross-compiling.md b/book/src/cross-compiling.md index 7cf7f4feb14..b62f1666241 100644 --- a/book/src/cross-compiling.md +++ b/book/src/cross-compiling.md @@ -42,11 +42,11 @@ in `lighthouse/target/aarch64-unknown-linux-gnu/release`. ## Feature Flags When using the makefile the set of features used for building can be controlled with -the environment variable `CROSS_FEATURES`. See [Feature +the environment variable `FEATURES`. See [Feature Flags](./installation-source.md#feature-flags) for available features. ## Compilation Profiles When using the makefile the build profile can be controlled with the environment variable -`CROSS_PROFILE`. See [Compilation Profiles](./installation-source.md#compilation-profiles) for +`PROFILE`. See [Compilation Profiles](./installation-source.md#compilation-profiles) for available profiles. diff --git a/book/src/installation-source.md b/book/src/installation-source.md index a3e7fc8be99..69f1f308843 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -17,7 +17,7 @@ The rustup installer provides an easy way to update the Rust compiler, and works > > - When prompted, enter `1` for the default installation. > - Try running `cargo version` after Rust installation completes. If it cannot -> be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2` +> be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2`. > - It's generally advisable to append `source $HOME/.cargo/env` to `~/.bashrc`. With Rust installed, follow the instructions below to install dependencies relevant to your @@ -35,6 +35,8 @@ sudo apt install -y git gcc g++ make cmake pkg-config llvm-dev libclang-dev clan > of Ubuntu 18.04 or earlier. On these distributions CMake can still be installed via PPA: > [https://apt.kitware.com/](https://apt.kitware.com) +After this, you are ready to [build Lighthouse](#build-lighthouse). + #### macOS 1. Install the [Homebrew][] package manager. @@ -51,6 +53,8 @@ brew install protobuf [Homebrew]: https://brew.sh/ +After this, you are ready to [build Lighthouse](#build-lighthouse). + #### Windows 1. Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git). @@ -79,6 +83,8 @@ should follow the instructions for Ubuntu listed in the [Dependencies (Ubuntu)]( [WSL]: https://docs.microsoft.com/en-us/windows/wsl/about +After this, you are ready to [build Lighthouse](#build-lighthouse). + ## Build Lighthouse Once you have Rust and the build dependencies you're ready to build Lighthouse: diff --git a/book/src/pi.md b/book/src/pi.md index 24796d394e3..55f995ee1eb 100644 --- a/book/src/pi.md +++ b/book/src/pi.md @@ -12,18 +12,18 @@ desktop) may be convenient.* ### 1. Install Ubuntu -Follow the [Ubuntu Raspberry Pi installation instructions](https://ubuntu.com/download/raspberry-pi). - -**A 64-bit version is required** and latest version is recommended (Ubuntu -20.04 LTS was the latest at the time of writing). +Follow the [Ubuntu Raspberry Pi installation instructions](https://ubuntu.com/download/raspberry-pi). **A 64-bit version is required** A graphical environment is not required in order to use Lighthouse. Only the terminal and an Internet connection are necessary. ### 2. Install Packages -Install the [Ubuntu Dependencies](installation-source.md#ubuntu). -(I.e., run the `sudo apt install ...` command at that link). +Install the Ubuntu dependencies: + +```bash +sudo apt install -y git gcc g++ make cmake pkg-config llvm-dev libclang-dev clang protobuf-compiler +``` > Tips: > @@ -32,14 +32,17 @@ Install the [Ubuntu Dependencies](installation-source.md#ubuntu). ### 3. Install Rust -Install Rust as per [rustup](https://rustup.rs/). (I.e., run the `curl ... ` -command). +Install Rust as per [rustup](https://rustup.rs/): + +```bash +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` > Tips: > > - When prompted, enter `1` for the default installation. > - Try running `cargo version` after Rust installation completes. If it cannot -> be found, run `source $HOME/.cargo/env`. +> be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2`. > - It's generally advised to append `source $HOME/.cargo/env` to `~/.bashrc`. ### 4. Install Lighthouse From 1bfd2152f65048340bd6599337f3fd36e2d74fdb Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 14:16:15 +0800 Subject: [PATCH 10/42] update installation flow --- book/src/installation.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/book/src/installation.md b/book/src/installation.md index 3d9315a9f6e..e362e68c4f6 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -8,16 +8,18 @@ There are three core methods to obtain the Lighthouse application: - [Docker images](./docker.md). - [Building from source](./installation-source.md). +Additionally, there are two extra guides for specific uses: + +- [Raspberry Pi 4 guide](./pi.md). +- [Cross-compiling guide for developers](./cross-compiling.md). + Community-maintained additional installation methods: - [Homebrew package](./homebrew.md). - Arch Linux AUR packages: [source](https://aur.archlinux.org/packages/lighthouse-ethereum), [binary](https://aur.archlinux.org/packages/lighthouse-ethereum-bin). -Additionally, there are two extra guides for specific uses: -- [Raspberry Pi 4 guide](./pi.md). -- [Cross-compiling guide for developers](./cross-compiling.md). ## Recommended System Requirements From 40de2f5e8c2449a837122a7688d96581e3355ac1 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:27:59 +0800 Subject: [PATCH 11/42] update binary --- book/src/installation-binaries.md | 10 +++++----- book/src/installation.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 6436c48fb0d..34c4a662c60 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -29,15 +29,15 @@ a portable `x86_64` binary. 1. Go to the [Releases](https://github.com/sigp/lighthouse/releases) page and select the latest release. -1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. -1. Extract the archive: - 1. `cd Downloads` - 1. `tar -xvf lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` +1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (latest version at the time of writing), a user can run the following commands in a linux terminal: + 1. `cd ~` + 1. `curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` + 1. `tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` 1. Test the binary with `./lighthouse --version` (it should print the version). 1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. - E.g., `cp lighthouse /usr/bin` -> Windows users will need to execute the commands in Step 3 from PowerShell. +> Windows users will need to execute the commands in Step 2 from PowerShell. ## Portability diff --git a/book/src/installation.md b/book/src/installation.md index e362e68c4f6..a7a75890309 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -29,6 +29,6 @@ After [The Merge](https://ethereum.org/en/roadmap/merge/) on 15th Sep * CPU: Quad-core AMD Ryzen, Intel Broadwell, ARMv8 or newer -* Memory: 16 GB RAM +* Memory: 16 GB RAM or more * Storage: 2 TB solid state storage * Network: 100 Mb/s download, 20 Mb/s upload broadband connection From 4f6176709bed37b980ca92ce9613f20d8652cd0e Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:32:30 +0800 Subject: [PATCH 12/42] update binary --- book/src/installation-binaries.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 34c4a662c60..cf9506258ab 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -29,14 +29,14 @@ a portable `x86_64` binary. 1. Go to the [Releases](https://github.com/sigp/lighthouse/releases) page and select the latest release. -1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (latest version at the time of writing), a user can run the following commands in a linux terminal: +1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (the latest version at the time of writing), a user can run the following commands in a linux terminal: 1. `cd ~` 1. `curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` 1. `tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` 1. Test the binary with `./lighthouse --version` (it should print the version). 1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. - E.g., `cp lighthouse /usr/bin` - + will copy `lighthouse` from the current directory to `/usr/bin` > Windows users will need to execute the commands in Step 2 from PowerShell. ## Portability From 1e9d7df80c4a11172c22e94a56e363a7f5e17f7f Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:36:56 +0800 Subject: [PATCH 13/42] update --- book/src/installation-binaries.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index cf9506258ab..abcb5a9fee5 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -30,12 +30,16 @@ a portable `x86_64` binary. 1. Go to the [Releases](https://github.com/sigp/lighthouse/releases) page and select the latest release. 1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (the latest version at the time of writing), a user can run the following commands in a linux terminal: - 1. `cd ~` - 1. `curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` - 1. `tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` +```bash + $ `cd ~` + $ `curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` + $ `tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` +``` 1. Test the binary with `./lighthouse --version` (it should print the version). -1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. - - E.g., `cp lighthouse /usr/bin` +1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, +```bash +$ cp lighthouse /usr/bin +``` will copy `lighthouse` from the current directory to `/usr/bin` > Windows users will need to execute the commands in Step 2 from PowerShell. From 53bfc4ec93a0e484d344e7c8e0d46459bcba9678 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:40:09 +0800 Subject: [PATCH 14/42] update --- book/src/installation-binaries.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index abcb5a9fee5..2c3f65d83a4 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -31,16 +31,16 @@ a portable `x86_64` binary. select the latest release. 1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (the latest version at the time of writing), a user can run the following commands in a linux terminal: ```bash - $ `cd ~` - $ `curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` - $ `tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz` + cd ~ + curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz + tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz ``` 1. Test the binary with `./lighthouse --version` (it should print the version). 1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, ```bash -$ cp lighthouse /usr/bin +cp lighthouse /usr/bin ``` - will copy `lighthouse` from the current directory to `/usr/bin` +will copy `lighthouse` from the current directory to `/usr/bin` > Windows users will need to execute the commands in Step 2 from PowerShell. ## Portability From 2f8c8a6c274f0edfe2ef3cd353cd71174d646c2f Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:41:21 +0800 Subject: [PATCH 15/42] update space --- book/src/installation-binaries.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 2c3f65d83a4..4274f43491a 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -31,9 +31,9 @@ a portable `x86_64` binary. select the latest release. 1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (the latest version at the time of writing), a user can run the following commands in a linux terminal: ```bash - cd ~ - curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz - tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz +cd ~ +curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz +tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz ``` 1. Test the binary with `./lighthouse --version` (it should print the version). 1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, From 36ff6bde0e349750c129a8a50f8de06f39c06fbe Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:45:27 +0800 Subject: [PATCH 16/42] space --- book/src/installation-binaries.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 4274f43491a..74c8dbe35eb 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -30,11 +30,11 @@ a portable `x86_64` binary. 1. Go to the [Releases](https://github.com/sigp/lighthouse/releases) page and select the latest release. 1. Download the `lighthouse-${VERSION}-x86_64-unknown-linux-gnu.tar.gz` binary. For example, to obtain the binary file for v4.0.1 (the latest version at the time of writing), a user can run the following commands in a linux terminal: -```bash -cd ~ -curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz -tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz -``` + ```bash + cd ~ + curl -LO https://github.com/sigp/lighthouse/releases/download/v4.0.1/lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz + tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz + ``` 1. Test the binary with `./lighthouse --version` (it should print the version). 1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, ```bash From d214572681878c1577b416906ff8e29ba5c20f0f Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 16:57:35 +0800 Subject: [PATCH 17/42] update docker.md --- book/src/docker.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/book/src/docker.md b/book/src/docker.md index 6d0d1b09ae1..7a7b3f4d1e6 100644 --- a/book/src/docker.md +++ b/book/src/docker.md @@ -16,13 +16,13 @@ way to run Lighthouse without building the image yourself. Obtain the latest image with: ```bash -$ docker pull sigp/lighthouse +docker pull sigp/lighthouse ``` Download and test the image with: ```bash -$ docker run sigp/lighthouse lighthouse --version +docker run sigp/lighthouse lighthouse --version ``` If you can see the latest [Lighthouse release](https://github.com/sigp/lighthouse/releases) version @@ -50,7 +50,7 @@ compatibility (see [Portability](./installation-binaries.md#portability)). To install a specific tag (in this case `latest-modern`), add the tag name to your `docker` commands: ``` -$ docker pull sigp/lighthouse:latest-modern +docker pull sigp/lighthouse:latest-modern ``` Image tags follow this format: @@ -98,13 +98,13 @@ To build the image from source, navigate to the root of the repository and run: ```bash -$ docker build . -t lighthouse:local +docker build . -t lighthouse:local ``` The build will likely take several minutes. Once it's built, test it with: ```bash -$ docker run lighthouse:local lighthouse --help +docker run lighthouse:local lighthouse --help ``` ## Using the Docker image @@ -112,7 +112,7 @@ $ docker run lighthouse:local lighthouse --help You can run a Docker beacon node with the following command: ```bash -$ docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse --network mainnet beacon --http --http-address 0.0.0.0 +docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse --network mainnet beacon --http --http-address 0.0.0.0 ``` > To join the goerli testnet, use `--network goerli` instead. @@ -130,7 +130,7 @@ The following example runs a beacon node with the data directory mapped to the users home directory: ```bash -$ docker run -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse beacon +docker run -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse beacon ``` ### Ports @@ -139,14 +139,14 @@ In order to be a good peer and serve other peers you should expose port `9000` f Use the `-p` flag to do this: ```bash -$ docker run -p 9000:9000/tcp -p 9000:9000/udp sigp/lighthouse lighthouse beacon +docker run -p 9000:9000/tcp -p 9000:9000/udp sigp/lighthouse lighthouse beacon ``` If you use the `--http` flag you may also want to expose the HTTP port with `-p 127.0.0.1:5052:5052`. ```bash -$ docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 sigp/lighthouse lighthouse beacon --http --http-address 0.0.0.0 +docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 sigp/lighthouse lighthouse beacon --http --http-address 0.0.0.0 ``` [docker_hub]: https://hub.docker.com/repository/docker/sigp/lighthouse/ From b5e100d2ab049e63a5efde743f6974e04b8f9871 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:00:27 +0800 Subject: [PATCH 18/42] update installation.md --- book/src/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/installation.md b/book/src/installation.md index a7a75890309..e485744095d 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -13,7 +13,7 @@ Additionally, there are two extra guides for specific uses: - [Raspberry Pi 4 guide](./pi.md). - [Cross-compiling guide for developers](./cross-compiling.md). -Community-maintained additional installation methods: +There are also community-maintained installation methods: - [Homebrew package](./homebrew.md). - Arch Linux AUR packages: [source](https://aur.archlinux.org/packages/lighthouse-ethereum), From bae0885d0ee8c597e14858fa1c6fe20705502113 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:14:10 +0800 Subject: [PATCH 19/42] update source --- book/src/installation-source.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/book/src/installation-source.md b/book/src/installation-source.md index 69f1f308843..5158bddbb84 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -15,8 +15,8 @@ The rustup installer provides an easy way to update the Rust compiler, and works > Tips: > -> - When prompted, enter `1` for the default installation. -> - Try running `cargo version` after Rust installation completes. If it cannot +> - During installation, when prompted, enter `1` for the default installation. +> - After Rust installation completes, try running `cargo version` . If it cannot > be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2`. > - It's generally advisable to append `source $HOME/.cargo/env` to `~/.bashrc`. @@ -57,8 +57,12 @@ After this, you are ready to [build Lighthouse](#build-lighthouse). #### Windows -1. Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git). +1. Install [Git](https://git-scm.com/download/win). 1. Install the [Chocolatey](https://chocolatey.org/install) package manager for Windows. + > Tips: + > - Use PowerShell to install + > - You must ensure `Get-ExecutionPolicy` is not Restricted. To test this, run `Get-ExecutionPolicy` in PowerShell. If it returns `restricted`, then run `Set-ExecutionPolicy AllSigned`, and then run `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))` + > - To verify that Chocolatey is ready, run `choco` and it should return the version. 1. Install Make, CMake, LLVM and protoc using Chocolatey: ``` From 40fd4f8e401233dd755e2706d9a5e343c46de1a0 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:18:17 +0800 Subject: [PATCH 20/42] update source --- book/src/installation-source.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/book/src/installation-source.md b/book/src/installation-source.md index 5158bddbb84..918e91062db 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -60,8 +60,11 @@ After this, you are ready to [build Lighthouse](#build-lighthouse). 1. Install [Git](https://git-scm.com/download/win). 1. Install the [Chocolatey](https://chocolatey.org/install) package manager for Windows. > Tips: - > - Use PowerShell to install - > - You must ensure `Get-ExecutionPolicy` is not Restricted. To test this, run `Get-ExecutionPolicy` in PowerShell. If it returns `restricted`, then run `Set-ExecutionPolicy AllSigned`, and then run `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))` + > - Use PowerShell to install. In Windows, search for PowerShell and run as administrator. + > - You must ensure `Get-ExecutionPolicy` is not Restricted. To test this, run `Get-ExecutionPolicy` in PowerShell. If it returns `restricted`, then run `Set-ExecutionPolicy AllSigned`, and then run + ```bash + Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) + ``` > - To verify that Chocolatey is ready, run `choco` and it should return the version. 1. Install Make, CMake, LLVM and protoc using Chocolatey: From 6945004bf4ec179666563732405c66800b06e6b3 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:32:14 +0800 Subject: [PATCH 21/42] update source --- book/src/installation-source.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/book/src/installation-source.md b/book/src/installation-source.md index 918e91062db..993ac34442d 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -196,12 +196,11 @@ PROFILE=maxperf make Lighthouse will be installed to `CARGO_HOME` or `$HOME/.cargo`. This directory needs to be on your `PATH` before you can run `$ lighthouse`. -See ["Configuring the `PATH` environment variable" -(rust-lang.org)](https://www.rust-lang.org/tools/install) for more information. +See ["Configuring the `PATH` environment variable"](https://www.rust-lang.org/tools/install) for more information. ### Compilation error -Make sure you are running the latest version of Rust. If you have installed Rust using rustup, simply type `rustup update`. +Make sure you are running the latest version of Rust. If you have installed Rust using rustup, simply run `rustup update`. If you can't install the latest version of Rust you can instead compile using the Minimum Supported Rust Version (MSRV) which is listed under the `rust-version` key in Lighthouse's From c672ad0fffde05f2ea9bfde671dde0926266e95f Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:36:49 +0800 Subject: [PATCH 22/42] update source --- book/src/installation-source.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/book/src/installation-source.md b/book/src/installation-source.md index 993ac34442d..b9c9df163d8 100644 --- a/book/src/installation-source.md +++ b/book/src/installation-source.md @@ -31,6 +31,11 @@ Install the following packages: sudo apt install -y git gcc g++ make cmake pkg-config llvm-dev libclang-dev clang protobuf-compiler ``` +> Tips: +> +> - If there are difficulties, try updating the package manager with `sudo apt +> update`. + > Note: Lighthouse requires CMake v3.12 or newer, which isn't available in the package repositories > of Ubuntu 18.04 or earlier. On these distributions CMake can still be installed via PPA: > [https://apt.kitware.com/](https://apt.kitware.com) From 5ef5f0bf8b3fd966a458a609eb18e5659a546450 Mon Sep 17 00:00:00 2001 From: chonghe Date: Sun, 9 Apr 2023 17:39:02 +0800 Subject: [PATCH 23/42] update pi --- book/src/pi.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/book/src/pi.md b/book/src/pi.md index 55f995ee1eb..d8d154d765a 100644 --- a/book/src/pi.md +++ b/book/src/pi.md @@ -40,10 +40,10 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh > Tips: > -> - When prompted, enter `1` for the default installation. -> - Try running `cargo version` after Rust installation completes. If it cannot +> - During installation, when prompted, enter `1` for the default installation. +> - After Rust installation completes, try running `cargo version` . If it cannot > be found, run `source $HOME/.cargo/env`. After that, running `cargo version` should return the version, for example `cargo 1.68.2`. -> - It's generally advised to append `source $HOME/.cargo/env` to `~/.bashrc`. +> - It's generally advisable to append `source $HOME/.cargo/env` to `~/.bashrc`. ### 4. Install Lighthouse From dd8860830112af5373c2ed5d98e408664ea159e6 Mon Sep 17 00:00:00 2001 From: chonghe Date: Mon, 10 Apr 2023 22:31:59 +0800 Subject: [PATCH 24/42] update faq --- book/src/faq.md | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index 43de40eee33..82296110644 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -9,6 +9,10 @@ - [What is "Syncing deposit contract block cache"?](#what-is-syncing-deposit-contract-block-cache) - [Can I use redundancy in my staking setup?](#can-i-use-redundancy-in-my-staking-setup) - [How can I monitor my validators?](#how-can-i-monitor-my-validators) +- [I see beacon logs showing `WARN: Execution engine called failed`, what should I do?](#i-see-beacon-logs-showing-warn-execution-engine-called-failed-what-should-i-do) +- [How do I check or update my withdrawal credentials?](#how-do-i-check-or-update-my-withdrawal-credentials) +- [I am missing attestations. Why?](#i-am-missing-attestations-why) +- [Sometimes I miss the attestation head vote, resulting in penalty. Is this normal?](#sometimes-i-miss-the-attestation-head-vote-resulting-in-penalty-is-this-normal) ### Why does it take so long for a validator to be activated? @@ -185,4 +189,42 @@ However, there are some components which can be configured with redundancy. See Apart from using block explorers, you may use the "Validator Monitor" built into Lighthouse which provides logging and Prometheus/Grafana metrics for individual validators. See [Validator -Monitoring](./validator-monitoring.md) for more information. +Monitoring](./validator-monitoring.md) for more information. Lighthouse has also developed Lighthouse UI (Siren) to monitor performance, see [Lighthouse UI (Siren)](./lighthouse-ui.md). + +### I see beacon logs showing `WARN: Execution engine called failed`, what should I do? + +The `WARN Execution engine called failed` log is shown when the beacon node cannot reach the execution engine. When this warning occurs, it will be followed by a detailed message. A frequently encountered example of the error message is: + +`error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec` + +which says `TimeOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few possibilities that this can occur: +1. The execution engine is not synced. Check the log of the execution engine to make sure that it is synced. If it is syncing, wait until it is synced and the error will disappear. You will see the beacon node logs `INFO Execution engine online` when it is synced. +1. The computer is overloaded. Check the CPU and RAM usage to see if it has overloaded. You can use `htop` to check for CPU and RAM usage. +1. Your SSD is slow in response which is causing the issue. Check that if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep up in sync to the network and you may want to consider upgrading to a better SSD. + +If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. There are two common causes for ungraceful shutdown: +- Power outage +- The service file is not stopped properly. To overcome this, make sure that the process is stop properly, e.g., during client updates. +- Out of memory (oom) error. This can happen when the system memory usage has reached its maximum and causes the execution engine to be killed. When this occurs, the log file will show `Main process exited, code=killed, status=9/KILL`. You can also run `sudo journalctl -a --since "18 hours ago" | grep -i "killed process` to confirm that the execution client has been killed due to oom. If you are using geth as the execution client, a short term solution is to reduce the resources used, for example: (1) reduce the cache by adding the flag `--cache 2048` (2) connect to less peers using the flag `--maxpeers 10`. If the oom occurs rather frequently, a long term solution is to upgrade the memory capacity of the node. + + +### How do I check or update my withdrawal credentials? +Withdrawals will be available after the Capella/Shanghai upgrades on 12th April 2023. To check that if you are eligible for withdrawals, go to [Staking launchpad](https://launchpad.ethereum.org/en/withdrawals), enter your validator index and click `verify on mainnet`: +- `withdrawals enabled` means you will automatically receive withdrawals to the withdrawal address that you set. If it says +- `withdrawals not enabled` means you will need to update your withdrawal credentials from `0x00` type to `0x01` type. The common way to do this is using `Staking deposit CLI` or `ethdo`, with the instructions available [here](https://launchpad.ethereum.org/en/withdrawals#update-your-keys). + +For the case of `withdrawals not enabled`, you can update your withdrawal credentials **anytime**, and there is no deadline for that. The catch is that as long as you do not update your withdrawal credentials, your rewards in the beacon chain will continue to be locked in the beacon chain. Only after you update the withdrawal credentials, the rewards will be withdrawn to the withdrawal address. + + +### I am missing attestations. Why? +The first thing is to ensure both consensus and execution clients are synced with the network. If they are synced, there may still be some issues with the node setup itself that is causing the missed attestations. Check the setup to ensure that: +- the clock is synced +- the computer has sufficient resource and is not overloaded +- the internet is working well +- you have sufficient peers + +You can see more information on the [Ethstaker KB](https://ethstaker.gitbook.io/ethstaker-knowledge-base/help/missed-attestations). Once the above points are good, missing attestation should be a rare occurance. + +### Sometimes I miss the attestation head vote, resulting in penalty. Is this normal? + +In general it is unavoiadable to have some penalties occasionally. This is particularly the case when you are assigned to attest on the first slot of an epoch and if the proposer of that slot releases the block late, then you will get penalised for missing the target and head votes. Your attestation performance does not only depend on your own setup, but also on everyone else's performance. \ No newline at end of file From 709386314f794348d5447075d6dfacd612a45016 Mon Sep 17 00:00:00 2001 From: chonghe Date: Mon, 10 Apr 2023 22:40:09 +0800 Subject: [PATCH 25/42] update faq --- book/src/faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/src/faq.md b/book/src/faq.md index 82296110644..a59ad4dcc9c 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -203,9 +203,9 @@ which says `TimeOut` at the end of the message. This means that the execution en 1. Your SSD is slow in response which is causing the issue. Check that if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep up in sync to the network and you may want to consider upgrading to a better SSD. If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. There are two common causes for ungraceful shutdown: -- Power outage +- Power outage. If power outage is an issue in your place, consider getting a UPS to avoid ungraceful shutdown of services. - The service file is not stopped properly. To overcome this, make sure that the process is stop properly, e.g., during client updates. -- Out of memory (oom) error. This can happen when the system memory usage has reached its maximum and causes the execution engine to be killed. When this occurs, the log file will show `Main process exited, code=killed, status=9/KILL`. You can also run `sudo journalctl -a --since "18 hours ago" | grep -i "killed process` to confirm that the execution client has been killed due to oom. If you are using geth as the execution client, a short term solution is to reduce the resources used, for example: (1) reduce the cache by adding the flag `--cache 2048` (2) connect to less peers using the flag `--maxpeers 10`. If the oom occurs rather frequently, a long term solution is to upgrade the memory capacity of the node. +- Out of memory (oom) error. This can happen when the system memory usage has reached its maximum and causes the execution engine to be killed. When this occurs, the log file will show `Main process exited, code=killed, status=9/KILL`. You can also run `sudo journalctl -a --since "18 hours ago" | grep -i "killed process` to confirm that the execution client has been killed due to oom. If you are using geth as the execution client, a short term solution is to reduce the resources used, for example: (1) reduce the cache by adding the flag `--cache 2048` (2) connect to less peers using the flag `--maxpeers 10`. If the oom occurs rather frequently, a long term solution is to increase the memory capacity of the computer. ### How do I check or update my withdrawal credentials? From 6657252ef62fe88f28d6dbea2cbaf2c7cc1404e2 Mon Sep 17 00:00:00 2001 From: chonghe Date: Mon, 10 Apr 2023 22:51:18 +0800 Subject: [PATCH 26/42] minor update --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index a59ad4dcc9c..7ef217e293a 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -210,7 +210,7 @@ If the reason for the error message is caused by no. 1 above, you may want to lo ### How do I check or update my withdrawal credentials? Withdrawals will be available after the Capella/Shanghai upgrades on 12th April 2023. To check that if you are eligible for withdrawals, go to [Staking launchpad](https://launchpad.ethereum.org/en/withdrawals), enter your validator index and click `verify on mainnet`: -- `withdrawals enabled` means you will automatically receive withdrawals to the withdrawal address that you set. If it says +- `withdrawals enabled` means you will automatically receive withdrawals to the withdrawal address that you set. - `withdrawals not enabled` means you will need to update your withdrawal credentials from `0x00` type to `0x01` type. The common way to do this is using `Staking deposit CLI` or `ethdo`, with the instructions available [here](https://launchpad.ethereum.org/en/withdrawals#update-your-keys). For the case of `withdrawals not enabled`, you can update your withdrawal credentials **anytime**, and there is no deadline for that. The catch is that as long as you do not update your withdrawal credentials, your rewards in the beacon chain will continue to be locked in the beacon chain. Only after you update the withdrawal credentials, the rewards will be withdrawn to the withdrawal address. From 8784a4c1b66b71e366172b87de4c20f64b7e2167 Mon Sep 17 00:00:00 2001 From: chonghe Date: Tue, 11 Apr 2023 06:13:28 +0800 Subject: [PATCH 27/42] update faq --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index 7ef217e293a..d181d2f2df1 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -202,7 +202,7 @@ which says `TimeOut` at the end of the message. This means that the execution en 1. The computer is overloaded. Check the CPU and RAM usage to see if it has overloaded. You can use `htop` to check for CPU and RAM usage. 1. Your SSD is slow in response which is causing the issue. Check that if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep up in sync to the network and you may want to consider upgrading to a better SSD. -If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. There are two common causes for ungraceful shutdown: +If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. The common causes for ungraceful shutdown are: - Power outage. If power outage is an issue in your place, consider getting a UPS to avoid ungraceful shutdown of services. - The service file is not stopped properly. To overcome this, make sure that the process is stop properly, e.g., during client updates. - Out of memory (oom) error. This can happen when the system memory usage has reached its maximum and causes the execution engine to be killed. When this occurs, the log file will show `Main process exited, code=killed, status=9/KILL`. You can also run `sudo journalctl -a --since "18 hours ago" | grep -i "killed process` to confirm that the execution client has been killed due to oom. If you are using geth as the execution client, a short term solution is to reduce the resources used, for example: (1) reduce the cache by adding the flag `--cache 2048` (2) connect to less peers using the flag `--maxpeers 10`. If the oom occurs rather frequently, a long term solution is to increase the memory capacity of the computer. From c3dd82220cc1fe104d01e7f378fda569a9691a72 Mon Sep 17 00:00:00 2001 From: chonghe Date: Tue, 11 Apr 2023 09:45:37 +0800 Subject: [PATCH 28/42] update faq --- book/src/faq.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index d181d2f2df1..f733b70f532 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -13,6 +13,7 @@ - [How do I check or update my withdrawal credentials?](#how-do-i-check-or-update-my-withdrawal-credentials) - [I am missing attestations. Why?](#i-am-missing-attestations-why) - [Sometimes I miss the attestation head vote, resulting in penalty. Is this normal?](#sometimes-i-miss-the-attestation-head-vote-resulting-in-penalty-is-this-normal) +- [My beacon node is stuck at downloading historical block using checkpoing sync. What can I do?](#my-beacon-node-is-stuck-at-downloading-historical-block-using-checkpoing-sync-what-can-i-do) ### Why does it take so long for a validator to be activated? @@ -227,4 +228,9 @@ You can see more information on the [Ethstaker KB](https://ethstaker.gitbook.io/ ### Sometimes I miss the attestation head vote, resulting in penalty. Is this normal? -In general it is unavoiadable to have some penalties occasionally. This is particularly the case when you are assigned to attest on the first slot of an epoch and if the proposer of that slot releases the block late, then you will get penalised for missing the target and head votes. Your attestation performance does not only depend on your own setup, but also on everyone else's performance. \ No newline at end of file +In general it is unavoiadable to have some penalties occasionally. This is particularly the case when you are assigned to attest on the first slot of an epoch and if the proposer of that slot releases the block late, then you will get penalised for missing the target and head votes. Your attestation performance does not only depend on your own setup, but also on everyone else's performance. + + +### My beacon node is stuck at downloading historical block using checkpoing sync. What can I do? + +Check the number of peers you are connected to. If you have low peers, try to do port forwarding on the port 9000 TCP/UDP to increase peer count. \ No newline at end of file From 762980a7028ea6561c8de0ac8919b61e78181151 Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 20:46:04 +0800 Subject: [PATCH 29/42] Update book/src/cross-compiling.md Co-authored-by: Michael Sproul --- book/src/cross-compiling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/cross-compiling.md b/book/src/cross-compiling.md index b62f1666241..c1ab403650b 100644 --- a/book/src/cross-compiling.md +++ b/book/src/cross-compiling.md @@ -42,7 +42,7 @@ in `lighthouse/target/aarch64-unknown-linux-gnu/release`. ## Feature Flags When using the makefile the set of features used for building can be controlled with -the environment variable `FEATURES`. See [Feature +the environment variable `CROSS_FEATURES`. See [Feature Flags](./installation-source.md#feature-flags) for available features. ## Compilation Profiles From c648ad1fcdac7bbd0f06ec4ea35e1797c4e6c716 Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 20:47:44 +0800 Subject: [PATCH 30/42] Update book/src/cross-compiling.md Co-authored-by: Michael Sproul --- book/src/cross-compiling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/cross-compiling.md b/book/src/cross-compiling.md index c1ab403650b..7cf7f4feb14 100644 --- a/book/src/cross-compiling.md +++ b/book/src/cross-compiling.md @@ -48,5 +48,5 @@ the environment variable `CROSS_FEATURES`. See [Feature ## Compilation Profiles When using the makefile the build profile can be controlled with the environment variable -`PROFILE`. See [Compilation Profiles](./installation-source.md#compilation-profiles) for +`CROSS_PROFILE`. See [Compilation Profiles](./installation-source.md#compilation-profiles) for available profiles. From 1c234d00cc819d0f17e1488862fb22f3e6444cb0 Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 20:48:25 +0800 Subject: [PATCH 31/42] Update book/src/docker.md Co-authored-by: Michael Sproul --- book/src/docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/docker.md b/book/src/docker.md index 7a7b3f4d1e6..d67b084da63 100644 --- a/book/src/docker.md +++ b/book/src/docker.md @@ -115,7 +115,7 @@ You can run a Docker beacon node with the following command: docker run -p 9000:9000/tcp -p 9000:9000/udp -p 127.0.0.1:5052:5052 -v $HOME/.lighthouse:/root/.lighthouse sigp/lighthouse lighthouse --network mainnet beacon --http --http-address 0.0.0.0 ``` -> To join the goerli testnet, use `--network goerli` instead. +> To join the Goerli testnet, use `--network goerli` instead. > The `-v` (Volumes) and `-p` (Ports) and values are described below. From 096afca8e370a4599c1eb0a38278ee13f8a54069 Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 20:50:22 +0800 Subject: [PATCH 32/42] Update book/src/installation.md Co-authored-by: Michael Sproul --- book/src/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/installation.md b/book/src/installation.md index e485744095d..627326d2a4a 100644 --- a/book/src/installation.md +++ b/book/src/installation.md @@ -23,7 +23,7 @@ There are also community-maintained installation methods: ## Recommended System Requirements -Before [The Merge](https://ethereum.org/en/roadmap/merge/), Lighthouse is able to run on its own with low to mid-range consumer hardware, but will perform best when provided with ample system resources. +Before [The Merge](https://ethereum.org/en/roadmap/merge/), Lighthouse was able to run on its own with low to mid-range consumer hardware, but would perform best when provided with ample system resources. After [The Merge](https://ethereum.org/en/roadmap/merge/) on 15th September 2022, it is necessary to run Lighthouse together with an execution client ([Nethermind](https://nethermind.io/), [Besu](https://www.hyperledger.org/use/besu), [Erigon](https://github.com/ledgerwatch/erigon), [Geth](https://geth.ethereum.org/)). The following system requirements listed are therefore for running a Lighthouse beacon node combined with an execution client , and a validator client with a modest number of validator keys (less than 100): From a19f103c4547e52b0c7c2ba9ba2b4f8754a573ed Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 12 Apr 2023 20:54:50 +0800 Subject: [PATCH 33/42] update installation binary --- book/src/installation-binaries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index 74c8dbe35eb..b390dbbf58f 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -23,7 +23,7 @@ For details, see [Portability](#portability). ## Usage Each binary is contained in a `.tar.gz` archive. For this example, lets assume the user needs -a portable `x86_64` binary. +a `x86_64` binary. ### Steps From 7df86239084e8d257d0d5a095f7fb6d0354ae48f Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 20:56:15 +0800 Subject: [PATCH 34/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index f733b70f532..7f6f2a0747c 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -220,7 +220,7 @@ For the case of `withdrawals not enabled`, you can update your withdrawal creden ### I am missing attestations. Why? The first thing is to ensure both consensus and execution clients are synced with the network. If they are synced, there may still be some issues with the node setup itself that is causing the missed attestations. Check the setup to ensure that: - the clock is synced -- the computer has sufficient resource and is not overloaded +- the computer has sufficient resources and is not overloaded - the internet is working well - you have sufficient peers From f37d6ed651415ab2fa7b935aeca203ac8cf4f424 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 12 Apr 2023 21:03:01 +0800 Subject: [PATCH 35/42] update installation-binaries --- book/src/installation-binaries.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index b390dbbf58f..df41be18c70 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -36,11 +36,10 @@ a `x86_64` binary. tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz ``` 1. Test the binary with `./lighthouse --version` (it should print the version). -1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, -```bash -cp lighthouse /usr/bin -``` -will copy `lighthouse` from the current directory to `/usr/bin` +1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, to copy `lighthouse` from the current directory to `usr/bin`, run `cp lighthouse /usr/bin`. + + + > Windows users will need to execute the commands in Step 2 from PowerShell. ## Portability From 81e7e25c5cf51f9c39e339851437dac2323c3159 Mon Sep 17 00:00:00 2001 From: chonghe Date: Wed, 12 Apr 2023 21:06:12 +0800 Subject: [PATCH 36/42] update installation-binaries --- book/src/installation-binaries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/installation-binaries.md b/book/src/installation-binaries.md index df41be18c70..30bf03e14ee 100644 --- a/book/src/installation-binaries.md +++ b/book/src/installation-binaries.md @@ -36,7 +36,7 @@ a `x86_64` binary. tar -xvf lighthouse-v4.0.1-x86_64-unknown-linux-gnu.tar.gz ``` 1. Test the binary with `./lighthouse --version` (it should print the version). -1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, to copy `lighthouse` from the current directory to `usr/bin`, run `cp lighthouse /usr/bin`. +1. (Optional) Move the `lighthouse` binary to a location in your `PATH`, so the `lighthouse` command can be called from anywhere. For example, to copy `lighthouse` from the current directory to `usr/bin`, run `sudo cp lighthouse /usr/bin`. From 20d519745133b60dfc428dbae3bacf153e05cee2 Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:06:57 +0800 Subject: [PATCH 37/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index 7f6f2a0747c..b2f211349b5 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -233,4 +233,4 @@ In general it is unavoiadable to have some penalties occasionally. This is parti ### My beacon node is stuck at downloading historical block using checkpoing sync. What can I do? -Check the number of peers you are connected to. If you have low peers, try to do port forwarding on the port 9000 TCP/UDP to increase peer count. \ No newline at end of file +Check the number of peers you are connected to. If you have low peers (less than 50), try to do port forwarding on the port 9000 TCP/UDP to increase peer count. \ No newline at end of file From 391f8cdd65bbf8a84d185bc5fa40b68506da825e Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:07:35 +0800 Subject: [PATCH 38/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index b2f211349b5..b6566cfa7de 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -214,7 +214,7 @@ Withdrawals will be available after the Capella/Shanghai upgrades on 12th Date: Wed, 12 Apr 2023 21:08:02 +0800 Subject: [PATCH 39/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index b6566cfa7de..103ba55a1a8 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -201,7 +201,7 @@ The `WARN Execution engine called failed` log is shown when the beacon node cann which says `TimeOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few possibilities that this can occur: 1. The execution engine is not synced. Check the log of the execution engine to make sure that it is synced. If it is syncing, wait until it is synced and the error will disappear. You will see the beacon node logs `INFO Execution engine online` when it is synced. 1. The computer is overloaded. Check the CPU and RAM usage to see if it has overloaded. You can use `htop` to check for CPU and RAM usage. -1. Your SSD is slow in response which is causing the issue. Check that if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep up in sync to the network and you may want to consider upgrading to a better SSD. +1. Your SSD is slow. Check if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep in sync to the network and you may want to consider upgrading to a better SSD. If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. The common causes for ungraceful shutdown are: - Power outage. If power outage is an issue in your place, consider getting a UPS to avoid ungraceful shutdown of services. From 52362ba87a40511a2dd73106c3170cfe79678e5c Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:08:16 +0800 Subject: [PATCH 40/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index 103ba55a1a8..eb849a845da 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -198,7 +198,7 @@ The `WARN Execution engine called failed` log is shown when the beacon node cann `error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec` -which says `TimeOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few possibilities that this can occur: +which says `TimeOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few reasons why this can occur: 1. The execution engine is not synced. Check the log of the execution engine to make sure that it is synced. If it is syncing, wait until it is synced and the error will disappear. You will see the beacon node logs `INFO Execution engine online` when it is synced. 1. The computer is overloaded. Check the CPU and RAM usage to see if it has overloaded. You can use `htop` to check for CPU and RAM usage. 1. Your SSD is slow. Check if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep in sync to the network and you may want to consider upgrading to a better SSD. From 4d855c6a02621b2d1d63ddd82b98e296a67e464e Mon Sep 17 00:00:00 2001 From: chonghe <44791194+chong-he@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:08:34 +0800 Subject: [PATCH 41/42] Update book/src/faq.md Co-authored-by: Michael Sproul --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index eb849a845da..a29d9947721 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -204,7 +204,7 @@ which says `TimeOut` at the end of the message. This means that the execution en 1. Your SSD is slow. Check if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep in sync to the network and you may want to consider upgrading to a better SSD. If the reason for the error message is caused by no. 1 above, you may want to look further. If the execution engine is out of sync suddenly, it is usually caused by ungraceful shutdown. The common causes for ungraceful shutdown are: -- Power outage. If power outage is an issue in your place, consider getting a UPS to avoid ungraceful shutdown of services. +- Power outage. If power outages are an issue at your place, consider getting a UPS to avoid ungraceful shutdown of services. - The service file is not stopped properly. To overcome this, make sure that the process is stop properly, e.g., during client updates. - Out of memory (oom) error. This can happen when the system memory usage has reached its maximum and causes the execution engine to be killed. When this occurs, the log file will show `Main process exited, code=killed, status=9/KILL`. You can also run `sudo journalctl -a --since "18 hours ago" | grep -i "killed process` to confirm that the execution client has been killed due to oom. If you are using geth as the execution client, a short term solution is to reduce the resources used, for example: (1) reduce the cache by adding the flag `--cache 2048` (2) connect to less peers using the flag `--maxpeers 10`. If the oom occurs rather frequently, a long term solution is to increase the memory capacity of the computer. From 51b92336d0f59bec3a2e13208b49f7c38052451e Mon Sep 17 00:00:00 2001 From: Michael Sproul Date: Fri, 14 Apr 2023 11:10:04 +1000 Subject: [PATCH 42/42] Correct typo --- book/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/faq.md b/book/src/faq.md index a29d9947721..b42e197a003 100644 --- a/book/src/faq.md +++ b/book/src/faq.md @@ -198,7 +198,7 @@ The `WARN Execution engine called failed` log is shown when the beacon node cann `error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec` -which says `TimeOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few reasons why this can occur: +which says `TimedOut` at the end of the message. This means that the execution engine has not responded in time to the beacon node. There are a few reasons why this can occur: 1. The execution engine is not synced. Check the log of the execution engine to make sure that it is synced. If it is syncing, wait until it is synced and the error will disappear. You will see the beacon node logs `INFO Execution engine online` when it is synced. 1. The computer is overloaded. Check the CPU and RAM usage to see if it has overloaded. You can use `htop` to check for CPU and RAM usage. 1. Your SSD is slow. Check if your SSD is in "The Bad" list [here](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038). If your SSD is in "The Bad" list, it means it cannot keep in sync to the network and you may want to consider upgrading to a better SSD.