From 73fc1d5a2b106a5b78d8d3e6c44616f8117968b8 Mon Sep 17 00:00:00 2001 From: Miran Date: Sat, 10 Jun 2023 01:06:01 +0200 Subject: [PATCH] Update "Getting started" part of the book (#4938) * refactor index.md * move philosophy.md into index.md * clean up the 'getting started' topic move how-to's to the how-to section * cleaner titles * move prerequisites to the install.md page * hardware.md: small refactor * improve quick-start.md * refactor eth1.md * refactor validating guide * reverse the order of BN and LC in the table * pi-guide.md: minor edit * Apply suggestions from code review Co-authored-by: tersec * make link texts more concrete * remove comparison to other clients * add some more explanations to `build.md` * change 'days' to 'hours' --------- Co-authored-by: tersec --- docs/the_nimbus_book/mkdocs.yml | 9 +-- docs/the_nimbus_book/src/build.md | 79 ++++--------------- docs/the_nimbus_book/src/el-light-client.md | 14 ++-- docs/the_nimbus_book/src/eth1.md | 15 ++-- docs/the_nimbus_book/src/hardware.md | 16 ++-- docs/the_nimbus_book/src/index.md | 40 ++++++++-- docs/the_nimbus_book/src/install.md | 64 ++++++++++++++- docs/the_nimbus_book/src/philosophy.md | 15 ---- docs/the_nimbus_book/src/pi-guide.md | 29 +++---- docs/the_nimbus_book/src/quick-start.md | 40 +++++----- docs/the_nimbus_book/src/run-a-validator.md | 25 +++--- docs/the_nimbus_book/src/trusted-node-sync.md | 4 +- docs/the_nimbus_book/src/validator-client.md | 2 +- 13 files changed, 185 insertions(+), 167 deletions(-) delete mode 100644 docs/the_nimbus_book/src/philosophy.md diff --git a/docs/the_nimbus_book/mkdocs.yml b/docs/the_nimbus_book/mkdocs.yml index 9423d68fa..84936734c 100644 --- a/docs/the_nimbus_book/mkdocs.yml +++ b/docs/the_nimbus_book/mkdocs.yml @@ -43,17 +43,14 @@ markdown_extensions: toc_depth: 3 nav: - - About: + - Home: - 'index.md' - - 'philosophy.md' - Getting started: - 'quick-start.md' - 'run-a-validator.md' - - 'migration.md' - - 'metrics-pretty-pictures.md' - - 'pi-guide.md' - 'el-light-client.md' + - 'pi-guide.md' - How-to: - Beacon node: @@ -61,6 +58,7 @@ nav: - 'build.md' - 'start-syncing.md' - 'trusted-node-sync.md' + - 'migration.md' - Validator: - 'deposit.md' @@ -81,6 +79,7 @@ nav: - 'goerli-eth.md' - 'beacon-node-systemd.md' - 'log-rotate.md' + - 'metrics-pretty-pictures.md' - 'database-backup.md' - 'email-notifications.md' - 'profits.md' diff --git a/docs/the_nimbus_book/src/build.md b/docs/the_nimbus_book/src/build.md index 1a7a238a7..13c3830a5 100644 --- a/docs/the_nimbus_book/src/build.md +++ b/docs/the_nimbus_book/src/build.md @@ -9,68 +9,7 @@ The build process itself is simple and fully automated, but may take a few minut ## Prerequisites -!!! tip - If you are planning to use the precompiled binaries, you can skip this section and go straight to the [binaries](./binaries.md)! - -When building from source, you will need additional build dependencies to be installed: - -- Developer tools (C compiler, Make, Bash, Git) -- [CMake](https://cmake.org/) - - - - - -=== "Linux" - - On common Linux distributions the dependencies can be installed with - - ```sh - # Debian and Ubuntu - sudo apt-get install build-essential git cmake - - # Fedora - dnf install @development-tools cmake - - # Archlinux, using an AUR manager - yourAURmanager -S base-devel cmake - ``` - -=== "macOS" - - With [Homebrew](https://brew.sh/): - - ```sh - brew install cmake - ``` - -=== "Windows" - - To build Nimbus on Windows, the MinGW-w64 build environment is recommended. - - Install Mingw-w64 for your architecture using the "[MinGW-W64 Online Installer](https://sourceforge.net/projects/mingw-w64/files/)": - - 1. Select your architecture in the setup menu (`i686` on 32-bit, `x86_64` on 64-bit). - 2. Set threads to `win32`. - 3. Set exceptions to "dwarf" on 32-bit and "seh" on 64-bit. - 4. Change the installation directory to `C:\mingw-w64` and add it to your system PATH in `"My Computer"/"This PC" -> Properties -> Advanced system settings -> Environment Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin` (`C:\mingw-w64\mingw32\bin` on 32-bit). - - !!! note - If the online installer isn't working you can try installing `mingw-w64` through [MSYS2](https://www.msys2.org/). - - Install [Git for Windows](https://gitforwindows.org/) and use a "Git Bash" shell to clone and build `nimbus-eth2`. - -=== "Android" - - - Install the [Termux](https://termux.com) app from FDroid or the Google Play store - - Install a [PRoot](https://wiki.termux.com/wiki/PRoot) of your choice following the instructions for your preferred distribution. - Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices). - - Assuming you use Ubuntu PRoot - - ```sh - apt install build-essential git - ``` +Make sure you have all needed [build prerequisites](./install.md#build-prerequisites). ## Building the node @@ -91,3 +30,19 @@ make -j4 nimbus_beacon_node !!! tip Omit `-j4` on systems with 4GB of memory or less. + +This step can take several minutes. +After it has finished, you can check if the installation was successful by running: + +```sh +build/nimbus_beacon_node --help +``` + +If you see the command-line options, your installation was successful! +Otherwise, don't hesitate to reach out to us in the `#helpdesk` channel of [our discord](https://discord.gg/j3nYBUeEad). + + + +## Keeping Nimbus updated + +When you decide to upgrade Nimbus to a newer version, make sure to follow the [keeping updated guide](./keep-updated.md). \ No newline at end of file diff --git a/docs/the_nimbus_book/src/el-light-client.md b/docs/the_nimbus_book/src/el-light-client.md index dfe420870..04b356c44 100644 --- a/docs/the_nimbus_book/src/el-light-client.md +++ b/docs/the_nimbus_book/src/el-light-client.md @@ -1,4 +1,4 @@ -# Run the light client +# Light client !!! warning The light client is currently in BETA and details around running it may change. @@ -12,13 +12,13 @@ Since the merge 🐼, execution clients can no longer run standalone. Compared to a full beacon node, a light client has several advantages and disadvantages. -| Feature | Light Client | Beacon Node | +| Feature | Beacon Node | Light Client | | -- | -- | -- | -| Disk usage | **<1MB** | ~70GB | -| Bandwidth | **TBD (low)** | *TBD* | -| Sync time | **Seconds** | Days | -| Head delay | 4/3 slot (15 s) | **None** | -| Security | Light | **Full** | +| Disk usage | ~70GB | **<1MB** | +| Bandwidth | *TBD* | **TBD (low)** | +| Sync time | Hours | **Seconds** | +| Head delay | **None** | 4/3 slot (15 s) | +| Security | **Full** | Light | Light clients delegate full validation to other network participants and operate under a honest supermajority (> 2/3) assumption among elected participants. Due to this delegation, light clients are typically behind by ~4/3 slots (~15 seconds on Ethereum mainnet). diff --git a/docs/the_nimbus_book/src/eth1.md b/docs/the_nimbus_book/src/eth1.md index 35030c990..b6026b5ce 100644 --- a/docs/the_nimbus_book/src/eth1.md +++ b/docs/the_nimbus_book/src/eth1.md @@ -1,16 +1,15 @@ # Run an execution client -In order to perform validation duties, you need to also be running an execution client — at least one for each beacon node. +In order to perform validation duties, you **must have** an execution client running — at least one for each beacon node. +Relying on third-party services such as Infura, Alchemy and Pocket is no longer possible. +Sharing the same execution client between multiple beacon nodes is not supported. -Nimbus has been tested all major execution clients, see the [execution client comparison](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) for more information. - -!!! warning - You need to run your own execution client. - Relying on third-party services such as Infura, Alchemy and Pocket is no longer possible. - Sharing the same execution client between multiple beacon nodes is not supported. +Nimbus has been tested with all major execution clients. +See the [execution client comparison](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) for more information. !!! info - Syncing an execution client may take hours or even days, depending on your hardware! + Syncing an execution client **may take hours or even days**, depending on your hardware! + ## Steps diff --git a/docs/the_nimbus_book/src/hardware.md b/docs/the_nimbus_book/src/hardware.md index 49c9a599d..224a34f3c 100644 --- a/docs/the_nimbus_book/src/hardware.md +++ b/docs/the_nimbus_book/src/hardware.md @@ -9,11 +9,15 @@ The recommended system requirements for running the Nimbus beacon node are: | Disk space | 200GB | | Network | Reliable broadband | -!!! note "Execution client" - In addtion to the beacon node, you will need to run an [execution client](./eth1.md). - Check the documentation of the client of choice and add them to the above requirements. - Broadly, to run both an execution and a consensus client on the same machine, we recommend a **2 TB** SSD drive and **8 GB RAM**. +### Execution client -!!! note "Minimal requirements" - Nimbus has been optimized to also run well on hardware significantly less powerful than the recommended system requirements — the more validators you run on the same node, the more hardware resources and network bandwidth will it will use. +In addition to the beacon node, you will need to run an [execution client](./eth1.md). +Check the documentation of the client of choice and add them to the above requirements. + +Broadly, to run both an execution and a consensus client on the same machine, we recommend a **2 TB** SSD and **16 GB RAM**. + + +### Minimal requirements + +Nimbus has been optimized to also run well on hardware significantly less powerful than the recommended system requirements — the more validators you run on the same node, the more hardware resources and network bandwidth will it will use. diff --git a/docs/the_nimbus_book/src/index.md b/docs/the_nimbus_book/src/index.md index 4450e30a3..7d042ff90 100644 --- a/docs/the_nimbus_book/src/index.md +++ b/docs/the_nimbus_book/src/index.md @@ -1,19 +1,13 @@ # The Nimbus Guide -!!! note "" - Eager to get started? - The [quickstart guide](./quick-start.md) is for you. - - Coming from a different client? - Check out the [migration guide](./migration.md). - Nimbus is a client for the Ethereum network that is [lightweight](https://our.status.im/ethereum-is-green/), [secure](./audit.md) and [easy to use](./run-a-validator.md). -Its efficiency and low resource consumption allows it to perform well on all kinds of systems: ranging from Raspberry Pi's and mobile devices — where it contributes to low power consumption and security — to powerful servers where it leaves resources free to perform other tasks, such as running an [execution node](./eth1.md). +Its efficiency and low resource consumption allows it to perform well on all kinds of systems: ranging from Raspberry Pi and mobile devices — where it contributes to low power consumption and security — to powerful servers where it leaves resources free to perform other tasks, such as running an [execution node](./eth1.md). This book describes the consensus layer client, [`nimbus-eth2`](https://github.com/status-im/nimbus-eth2). An execution client, [nimbus-eth1](https://github.com/status-im/nimbus-eth2), is also under development. + ## Feature highlights * [Beacon node](./quick-start.md) with integrated validator client, slashing protection and doppelganger detection @@ -24,6 +18,36 @@ An execution client, [nimbus-eth1](https://github.com/status-im/nimbus-eth2), is * [External block builder](./external-block-builder.md) (PBS / mev-boost) support with execution client fallback * [Light consensus client](./el-light-client.md) for running an execution client without a full beacon node + +## Design goals + +One of our most important design goals is an application architecture that makes it **simple to embed Nimbus into other software.** + +Another goal is to **minimize reliance on third-party software.** + +A third one is for the application binary to be as **lightweight as possible in terms of resources used.** + +### Integration with Status + + + +As part of our first design goal, our primary objective here is for Nimbus to be tightly integrated into the [Status messaging app](https://status.im/). + +Our dream is for you to be able to run and monitor your validator straight from Status desktop. + + +## Book contents + +You can read this book from start to finish, or you might want to read just specific topics you're interested in: + +* If you're eager to get started, the [quickstart guide](./quick-start.md) is for you. +* Coming from a different client? Check out the [migration guide](./migration.md). +* Visualize the important metrics with [Grafana and Prometheus](./metrics-pretty-pictures.md). +* Interested in becoming a validator? Follow the [validator guide](./run-a-validator.md). +* If you're not planning on becoming a validator, you can run the [light client](./el-light-client.md). + + + ## Get in touch Need help with anything? diff --git a/docs/the_nimbus_book/src/install.md b/docs/the_nimbus_book/src/install.md index 7c54a64c3..652484457 100644 --- a/docs/the_nimbus_book/src/install.md +++ b/docs/the_nimbus_book/src/install.md @@ -8,8 +8,68 @@ Check that your machine matches the [minimal system requirements](./hardware.md) ## Build prerequisites -You will need to install developer tools (C compiler, Make, Bash, Git) and [CMake](https://cmake.org/). -See the [build guide](./build.md). +!!! tip + If you are planning to use the precompiled binaries, you can skip this section and go straight to the [binaries](./binaries.md)! + +When building from source, you will need additional build dependencies to be installed: + +- Developer tools (C compiler, Make, Bash, Git) +- [CMake](https://cmake.org/) + + + + + +=== "Linux" + + On common Linux distributions the dependencies can be installed with: + + ```sh + # Debian and Ubuntu + sudo apt-get install build-essential git cmake + + # Fedora + dnf install @development-tools cmake + + # Arch Linux, using an AUR manager + yourAURmanager -S base-devel cmake + ``` + +=== "macOS" + + With [Homebrew](https://brew.sh/): + + ```sh + brew install cmake + ``` + +=== "Windows" + + To build Nimbus on Windows, the MinGW-w64 build environment is recommended. + + Install Mingw-w64 for your architecture using the "[MinGW-W64 Online Installer](https://sourceforge.net/projects/mingw-w64/files/)": + + 1. Select your architecture in the setup menu (`i686` on 32-bit, `x86_64` on 64-bit). + 2. Set threads to `win32`. + 3. Set exceptions to "dwarf" on 32-bit and "seh" on 64-bit. + 4. Change the installation directory to `C:\mingw-w64` and add it to your system PATH in `"My Computer"/"This PC" -> Properties -> Advanced system settings -> Environment Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin` (`C:\mingw-w64\mingw32\bin` on 32-bit). + + !!! note + If the online installer isn't working you can try installing `mingw-w64` through [MSYS2](https://www.msys2.org/). + + Install [Git for Windows](https://gitforwindows.org/) and use a "Git Bash" shell to clone and build `nimbus-eth2`. + +=== "Android" + + - Install the [Termux](https://termux.com) app from FDroid or the Google Play store + - Install a [PRoot](https://wiki.termux.com/wiki/PRoot) of your choice following the instructions for your preferred distribution. + Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices). + + Assuming you use Ubuntu PRoot: + + ```sh + apt install build-essential git + ``` ## Time diff --git a/docs/the_nimbus_book/src/philosophy.md b/docs/the_nimbus_book/src/philosophy.md deleted file mode 100644 index 247cb52ca..000000000 --- a/docs/the_nimbus_book/src/philosophy.md +++ /dev/null @@ -1,15 +0,0 @@ -# Design goals - -One of our most important design goals is an application architecture that makes it **simple to embed Nimbus into other software.** - -Another goal is to **minimize reliance on third-party software.** - -A third one is for the application binary to be as **lightweight as possible in terms of resources used.** - -### Integration with Status - - - -As part of our first design goal, our primary objective here is for Nimbus to be tightly integrated into the [Status messaging app](https://status.im/). - -Our dream is for you to be able to run and monitor your validator straight from Status desktop. diff --git a/docs/the_nimbus_book/src/pi-guide.md b/docs/the_nimbus_book/src/pi-guide.md index 02171442c..f90dacd13 100644 --- a/docs/the_nimbus_book/src/pi-guide.md +++ b/docs/the_nimbus_book/src/pi-guide.md @@ -2,7 +2,7 @@ -> In addition to this guide, we highly recommend this [wonderful and complementary resource](https://docs.rocketpool.net/guides/node/local/prepare-pi.html#preliminary-setup) by community member Joe Clapis. +In addition to this guide, we highly recommend this [wonderful and complementary resource](https://docs.rocketpool.net/guides/node/local/prepare-pi.html#preliminary-setup) by community member Joe Clapis. ## Introduction @@ -41,12 +41,13 @@ As such, we try our best to explain things from first-principles. ### 1. Download Raspberry Pi Imager -[Raspberry Pi Imager](https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility/) is an imaging utility that makes it simple to manage your microSD card with Raspbian (the free Pi operating system based on Debian). +[Raspberry Pi Imager](https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility/) is an imaging utility that makes it simple to manage your microSD card with Raspberry Pi OS (the free Pi operating system based on Debian, previously called Raspbian). You can find the [download](https://www.learnenough.com/command-line-tutorial/basics) link for your operating system here: [Windows](https://downloads.raspberrypi.org/imager/imager_1.4.exe), [macOS](https://downloads.raspberrypi.org/imager/imager_1.4.dmg), [Ubuntu](https://downloads.raspberrypi.org/imager/imager_1.4_amd64.deb). -### 2. Download Raspian 64-bit OS +### 2. Download 64-bit Raspberry Pi OS +You need to install the 64-bit version of Raspberry Pi OS. You can find the latest version, [here](https://downloads.raspberrypi.org/raspios_arm64/images/). ### 3. Plug in SD card @@ -55,15 +56,15 @@ Use your microSD to USB adapter to plug the SD card into your computer. ### 4. Download Raspberry Pi OS -Open Raspberry Pi Imager and click on **CHOOSE OS** +Open Raspberry Pi Imager and click on **CHOOSE OS**: ![](https://storage.googleapis.com/ethereum-hackmd/upload_7b8cfa54f877218b6d971f09fa8d62ff.png) -Scroll down and click on **Use custom** +Scroll down and click on **Use custom**: ![](https://i.imgur.com/ar88MTt.png) -Find the OS you downloaded in step 2 +Find the OS you downloaded in step 2: ![](https://i.imgur.com/NeOT8pf.png) @@ -237,7 +238,7 @@ ssh pi@195.177.101.93 ### 10b. Boot from external SSD -Follow [this guide](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb) to copy the contents of your SD card over to your SSD, and boot your Pi from your SSD. +Follow [this RPi4 guide](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb) to copy the contents of your SD card over to your SSD, and boot your Pi from your SSD. !!! tip Make sure you connect your SSD the Pi's USB 3 port (the blue port). @@ -263,7 +264,7 @@ Once you're done, `ssh` back into your Pi. === "Manual installation" - Open the [Nimbus eth2 releases page](https://github.com/status-im/nimbus-eth2/releases/latest) and copy the link for the file that starts with `nimbus-eth2_Linux_arm64v8`. + Open the [Nimbus eth2 releases page](https://github.com/status-im/nimbus-eth2/releases/latest), go to the Assets on the bottom of the page, and copy the link for the file that starts with `nimbus-eth2_Linux_arm64v8`. Run this in your home directory to download nimbus-eth2: @@ -279,7 +280,7 @@ Once you're done, `ssh` back into your Pi. === "Using package manager" 1. Add Status APT repository to your system. - Follow [this guide](https://apt.status.im). + Follow our [APT guide](https://apt.status.im). 2. Install Nimbus using APT: @@ -292,12 +293,12 @@ Once you're done, `ssh` back into your Pi. ### 12. Copy signing key over to Pi !!! note - If you haven't generated your validator key(s) and/or made your deposit yet, follow the instructions on [this page](./deposit.md) before carrying on. + If you haven't generated your validator key(s) and/or made your deposit yet, follow the instructions on the [deposit page](./deposit.md) before carrying on. We'll use the `scp` command to send files over SSH. It allows you to copy files between computers, say from your Raspberry Pi to your desktop/laptop, or vice-versa. -Copy the folder containing your validator key(s) from your computer to your `pi`'s homefolder by opening up a new terminal window and running the following command: +Copy the folder containing your validator key(s) from your computer to your `pi`'s home folder by opening up a new terminal window and running the following command: ```sh scp -r pi@195.177.101.93: @@ -332,7 +333,7 @@ We're finally ready to connect to the Prater testnet! !!! note If you haven't already, we recommend registering for, and running, your own eth1 node in parallel. - For instructions on how to do so, see [this page](./eth1.md). + For instructions on how to do so, see the [eth1 page](./eth1.md). To connect to Prater, run: ``` @@ -393,12 +394,12 @@ Now that you have Nimbus up and running, we recommend [setting up a systemd serv Systemd will also ensure your validator keeps running when you exit your ssh session (`Ctrl-C`) and/or switch off your laptop. -For the details on how to do this, see [this page](./beacon-node-systemd.md). +For the details on how to do this, see our [systemd guide](./beacon-node-systemd.md). ### Overclocking -While you shouldn't need to, if you're feeling adventurous and want to try and squeeze out some extra performance out of your Pi's CPU, see [this guide](https://docs.rocketpool.net/guides/node/local/prepare-pi.html#overclocking-the-pi) by Joe Clapis. +While you shouldn't need to, if you're feeling adventurous and want to try and squeeze out some extra performance out of your Pi's CPU, see the [overclocking guide](https://docs.rocketpool.net/guides/node/local/prepare-pi.html#overclocking-the-pi) by Joe Clapis. !!! note We have since improved performance in several ways which should make a vanilla Pi perform well. diff --git a/docs/the_nimbus_book/src/quick-start.md b/docs/the_nimbus_book/src/quick-start.md index 48f14b3cd..3b898f5ef 100644 --- a/docs/the_nimbus_book/src/quick-start.md +++ b/docs/the_nimbus_book/src/quick-start.md @@ -1,20 +1,20 @@ -# Run the beacon node +# Beacon node This page takes you through the steps of getting a standard installation of the Nimbus beacon node running. -The quickstart setup involves running two nodes: an [execution client](./eth1.md) and a beacon node — both are needed to run a full Ethereum setup. +The quickstart setup involves running two nodes: an [execution client](./eth1.md) and a beacon node. +Both are needed to run a full Ethereum setup. +To become a validator, you first need to set up a beacon node. The beacon node connects to the beacon chain network, syncs historical data, and provides [API's](./rest-api.md) to monitor and interact with the beacon chain. - Running a beacon node is a [worthwhile endeavor](https://vitalik.ca/general/2021/05/23/scaling.html#its-crucial-for-blockchain-decentralization-for-regular-users-to-be-able-to-run-a-node) even if you are not planning on validating yourself! The guide assumes [Ubuntu Linux](https://ubuntu.com/download/server) is being used, and therefore some familiarity with [the Linux command line](https://ubuntu.com/tutorials/command-line-for-beginners) is needed. -!!! note - To become a validator, you first need to set up a beacon node. - !!! tip - You can practice running the node safely on the [Prater testnet](./prater.md) - throughout, we'll provide instructions for both Prater and Mainnet. + You can practice running the node safely on the [Prater testnet](./prater.md). + Throughout, we'll provide instructions for both Prater and Mainnet. + ## Steps @@ -27,32 +27,28 @@ Prepare your machine by installing [Nimbus' dependencies](./install.md). To run a beacon node, you need to have access to an execution client exposing the web3 API. Throughout, we'll assume an execution client is running on the same machine as the beacon node, but this is not required. -See the [execution client guide](./eth1.md) for instructions on how to pick and install an execution client! +See the [execution client guide](./eth1.md) for instructions on how to pick and install an execution client. ### 3. Install Nimbus -Next, download the [latest release](./binaries.md) and install it by unpacking the archive. -Using a command line terminal: +=== "Download binaries" -```sh -# Create a directory that can hold the beacon chain data and applications - this should be a fast SSD -mkdir -p nimbus-eth2 + Binary releases are available from [GitHub](https://github.com/status-im/nimbus-eth2/releases/latest) and our [APT repository](https://apt.status.im/) (Debian/Ubuntu). -# Download the latest release - replace the link with the latest release on the download page! -wget https://github.com/status-im/nimbus-eth2/releases/download/v22.10.1/nimbus-eth2_Linux_amd64_22.10.1_97a1cdc4.tar.gz + We currently have binaries available for Linux `AMD64`, `ARM` and `ARM64`, Windows `AMD64` and macOS (`AMD64` and `ARM64`). -# Unpack the archive into the `nimbus-eth2` directory you just created -tar xvf nimbus-eth2_Linux_amd64_22.10.1_97a1cdc4.tar.gz --strip-components 1 -C nimbus-eth2 -``` + See the [binaries guide](./binaries.md) on how to install them. -!!! tip "Other installation methods" - Debian / Ubuntu users may wish to use our [APT repository](./binaries.md). - Advanced users looking to take advantage of hardware-specific features and optimization may wish to [build from source](./build.md) instead! +=== "Build from source" + + Building Nimbus from source is simple and fully automated. + Follow the [build guide](./build.md). + ### 4. Start the node -Once you've installed the binaries, you can [start the node](./start-syncing.md) which will initiate the sync process. +Once you've installed Nimbus, you can [start the node](./start-syncing.md) which will initiate the sync process. ```sh cd nimbus-eth2 diff --git a/docs/the_nimbus_book/src/run-a-validator.md b/docs/the_nimbus_book/src/run-a-validator.md index 0ec341151..42940e4c4 100644 --- a/docs/the_nimbus_book/src/run-a-validator.md +++ b/docs/the_nimbus_book/src/run-a-validator.md @@ -1,30 +1,25 @@ -# Run a validator +# Validating Once your beacon node is [running](./quick-start.md), the next step is to set up a validator. -!!! tip "No validator client needed" - Unlike other beacon chain clients, Nimbus does not require setting up a separate validator client process — the beacon node can itself perform validator duties. +Nimbus **doesn't require** setting up a separate validator client process — the beacon node can itself perform validator duties. +This is a simple, safe and efficient way to get started. - This is a simple, safe and efficient way to get started. +!!! tip "Separate validator client" + + While not needed, advanced users may want to use a [separate validator client](./validator-client.md) instead. - Advanced users may want to use a separate [validator client](./validator-client.md) process instead. ## Steps -### 1. Deposit +1. [Make a deposit](./deposit.md) for your validator. -[Make a deposit](./deposit.md) for your validator. +2. [Import your validator keys](./keys.md) into Nimbus. -### 2. Import - -[Import your validator keys](./keys.md) into Nimbus. - -### 3. Validate - -[Start performing duties](./connect-eth2.md) by restarting the node. +3. [Start performing validator duties](./connect-eth2.md) by restarting the node. Congratulations! You're now set up to be earning a small amount of ETH every 6.4 minutes in return for keeping the Ethereum network secure! !!! success "What next?" - While that's all there is to it, it is essential that you both [keep an eye on your validator](keep-an-eye.md) and [keep Nimbus updated](keep-updated.md) regularly 💫 + While that's all there is to it, it is essential that you both [keep an eye on your validator](keep-an-eye.md) and [keep Nimbus updated](keep-updated.md) regularly. 💫 diff --git a/docs/the_nimbus_book/src/trusted-node-sync.md b/docs/the_nimbus_book/src/trusted-node-sync.md index 7227d178f..665996bb3 100644 --- a/docs/the_nimbus_book/src/trusted-node-sync.md +++ b/docs/the_nimbus_book/src/trusted-node-sync.md @@ -1,8 +1,8 @@ # Sync from a trusted node -When you [start the beacon node](./quick-start.md) for the first time, it connects to the beacon chain network and starts syncing automatically — a process that can take several days. +When you [start the beacon node](./quick-start.md) for the first time, it connects to the beacon chain network and starts syncing automatically — a process that can take **several hours** or even days. -Trusted node sync allows you to get started more quickly by fetching a recent checkpoint from a trusted node — you can get started in minutes instead of days. +Trusted node sync allows you to get started more quickly by fetching a recent checkpoint from a trusted node — you can get started in **minutes** instead of hours or days. To use trusted node sync, you must have access to a node that you trust and that exposes the [Beacon API](./rest-api.md) (for example, a locally running backup node). Should this node, or your connection to it, be compromised, your node will not be able to detect whether or not it is being served false information. diff --git a/docs/the_nimbus_book/src/validator-client.md b/docs/the_nimbus_book/src/validator-client.md index d01c7ff66..e10e43c1b 100644 --- a/docs/the_nimbus_book/src/validator-client.md +++ b/docs/the_nimbus_book/src/validator-client.md @@ -4,7 +4,7 @@ Some features of the validator client, such as the metrics server, are currently in BETA and details may change in response to community feedback. Please consult the `--help` screen for more details. -By default, Nimbus integrates the validator client into the main beacon node process - this is a simple, safe and efficient way to run a validator. +By default, Nimbus integrates the validator client into the main beacon node process — this is a simple, safe and efficient way to run a validator. Advanced users may wish to run validators in a separate process, allowing more flexible deployment strategies. The Nimbus beacon node supports both its own and third-party validator clients via the built-in [REST API](./rest-api.md).