mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-01-10 22:36:01 +00:00
Book updates may 21 (#2590)
* update deposit page * edit keys.md * edit connect-eth2.md * remove extra emacs generated file * update run a validator guide * update system requirements * update start-syncing.md
This commit is contained in:
parent
1c05865656
commit
4131e0941f
@ -2,8 +2,8 @@
|
||||
- [Introduction](./intro.md)
|
||||
- [Design goals](./philosophy.md)
|
||||
- [System requirements](./hardware.md)
|
||||
- [Run just the beacon node (quickstart)](./quick-start.md)
|
||||
- [Run a validator]()
|
||||
- [Run the beacon node (quickstart)](./quick-start.md)
|
||||
- [Run a validator](./run-a-validator.md)
|
||||
- [Mainnet checklist](./preparation.md)
|
||||
|
||||
# How-to (beacon node)
|
||||
@ -17,10 +17,10 @@
|
||||
- [Import your validator keys](./keys.md)
|
||||
- [Connect your validator to eth2](./connect-eth2.md)
|
||||
- [Keep an eye on your validator](./keep-an-eye.md)
|
||||
- [Keep Nimbus updated](./keep-updated.md)
|
||||
- [Recover / generate keys](./more-keys.md)
|
||||
- [Perform a voluntary exit](./voluntary-exit.md)
|
||||
- [Add an additional validator](./additional-validator.md)
|
||||
- [Keep Nimbus updated](./keep-updated.md)
|
||||
|
||||
# How-to (misc)
|
||||
- [Run an eth1 node](./eth1.md)
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Connect your validator to eth2
|
||||
|
||||
**Pyrmont**
|
||||
**Prater**
|
||||
|
||||
To connect your validator to the Pyrmont testnet, from the `nimbus-eth2` repository run:
|
||||
To connect your validator to the Prater testnet, from the `nimbus-eth2` repository run:
|
||||
|
||||
```
|
||||
./run-pyrmont-beacon-node.sh
|
||||
./run-prater-beacon-node.sh
|
||||
```
|
||||
|
||||
**Mainnet**
|
||||
@ -16,12 +16,12 @@ To connect your validator to mainnet, from the `nimbus-eth2` repository run:
|
||||
./run-mainnet-beacon-node.sh
|
||||
```
|
||||
|
||||
|
||||
|
||||
In both cases, you'll be asked to enter your [Web3 provider URL](./start-syncing.md#web3-provider-url) again.
|
||||
|
||||
> **Note:** If your beacon node is already running, you'll need to shut it down gracefully (`Ctrl+c`) and re-run the above command.
|
||||
|
||||
To ensure your Validator is correctly monitoring the eth1 chain, it's important you enter a valid web3 provider.
|
||||
|
||||
Your beacon node will launch and connect your validator the eth2 network. To check that this has happened correctly, check your logs for the following:
|
||||
|
||||
```
|
||||
|
@ -1,8 +1,10 @@
|
||||
# Make a deposit for your validator
|
||||
The easiest way to get your deposit in is to follow the Ethereum Foundation's launchpad instructions here:
|
||||
|
||||
**Testnet**:
|
||||
[https://pyrmont.launchpad.ethereum.org/](https://pyrmont.launchpad.ethereum.org/)
|
||||
**Prater testnet**:
|
||||
[https://prater.launchpad.ethereum.org/](https://prater.launchpad.ethereum.org/)
|
||||
|
||||
> Use Prater to stress test / future proof your set up against peak mainnet load. See [here](./prater.md) for all you need to know
|
||||
|
||||
**Mainnet**: [https://launchpad.ethereum.org/](https://launchpad.ethereum.org/)
|
||||
|
||||
@ -12,7 +14,7 @@ The easiest way to get your deposit in is to follow the Ethereum Foundation's la
|
||||
|
||||
You may notice that there have been considerable improvements to the launchpad process since the summer.
|
||||
|
||||
In particular, the Key Generation section is now much clearer, and you no longer have to install dependencies to get the command line app working.
|
||||
In particular, the Key Generation section is now much clearer, and you no longer have to install dependencies to get the [command line app](https://github.com/ethereum/eth2.0-deposit-cli) working.
|
||||
|
||||
We won't elaborate on each individual step here, since they are well explained on the site itself. However, there are two points of note:
|
||||
|
||||
@ -41,5 +43,5 @@ We recommend you click on `Beaconchain`. This will open up a window that allows
|
||||
It's a good idea to bookmark this page.
|
||||
|
||||
## Expected waiting time (the queue)
|
||||
Once you send off your transaction(s), your validator will be put in a queue based on deposit time. Getting through the queue may take a few hours or days (assuming the chain is finalising). No validators are accepted into the validator set while the chain isn't finalising.
|
||||
Once you send off your transaction(s), your validator will be put in a queue based on deposit time. Getting through the queue may take a few hours or days (assuming the chain is finalising). No validators are accepted into the validator set while the chain isn't finalising. The `Pending Validators` metric on the [beaconcha.in](https://beaconcha.in/) will give you the size of the queue.
|
||||
|
||||
|
@ -15,4 +15,5 @@ Note that in order to process incoming validator deposits from the eth1 chain, y
|
||||
|
||||
For example, you'll need at least another **290GB SSD** to run [geth fast sync](/eth1.md) on mainnet.
|
||||
|
||||
To future proof your setup we recommend a **1TB SSD**.
|
||||
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
The best way to keep track of your validator's status is using the `beaconcha.in` explorer (click on the orange magnifying glass at the very top and paste in your validator's public key):
|
||||
|
||||
- **Testnet:** [pyrmont.beaconcha.in](https:/pyrmont.beaconcha.in)
|
||||
- **Testnet:** [prater.beaconcha.in](https:/prater.beaconcha.in)
|
||||
- **Mainnet:** [beaconcha.in](https://beaconcha.in/)
|
||||
|
||||
If you deposit after the [genesis](https://hackmd.io/@benjaminion/genesis) state was decided, your validator(s) will be put in a queue based on deposit time, and will slowly be inducted into the validator set after genesis. Getting through the queue may take a few hours or a day or so.
|
||||
|
||||
|
||||
You can even create an account ([testnet link](https://pyrmont.beaconcha.in/register), [mainnet link](https://beaconcha.in/register)) to add alerts and keep track of your validator's performance ([testnet link](https://pyrmont.beaconcha.in/dashboard), [mainnet link](https://beaconcha.in/dashboard)).
|
||||
You can even create an account ([testnet link](https://prater.beaconcha.in/register), [mainnet link](https://beaconcha.in/register)) to add alerts and keep track of your validator's performance ([testnet link](https://prater.beaconcha.in/dashboard), [mainnet link](https://beaconcha.in/dashboard)).
|
||||
|
||||
-------------------------------
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Import your validator keys
|
||||
# Import your validator keys into Nimbus
|
||||
|
||||
To import your signing key(s) into Nimbus, copy the `validator_keys` directory -- the directory that was created for you when you generated your keys -- into `nimbus-eth2`. Then run:
|
||||
To import your signing key(s) into Nimbus, copy the `validator_keys` directory -- the directory that was created for you when you generated your keys using the [command line app](https://github.com/ethereum/eth2.0-deposit-cli) -- into `nimbus-eth2`. Then run:
|
||||
|
||||
**Pyrmont**
|
||||
**Prater**
|
||||
```
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_pyrmont_0
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_prater_0
|
||||
```
|
||||
|
||||
**Mainnet**
|
||||
@ -12,11 +12,11 @@ build/nimbus_beacon_node deposits import --data-dir=build/data/shared_pyrmont_0
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_mainnet_0
|
||||
```
|
||||
|
||||
>**Note:** You can also specify a different path to your validator_keys directory as follows:
|
||||
>**Note:** You can also specify a different path to your `validator_keys` directory as follows:
|
||||
>
|
||||
>*Pyrmont*
|
||||
>*Prater*
|
||||
>```
|
||||
>build/nimbus_beacon_node deposits import --data-dir=build/data/shared_pyrmont_0 "<YOUR VALIDATOR KEYS DIRECTORY>"
|
||||
>build/nimbus_beacon_node deposits import --data-dir=build/data/shared_prater_0 "<YOUR VALIDATOR KEYS DIRECTORY>"
|
||||
> ```
|
||||
>
|
||||
> *Mainnet*
|
||||
@ -26,7 +26,7 @@ build/nimbus_beacon_node deposits import --data-dir=build/data/shared_mainnet_0
|
||||
>
|
||||
> Replacing `<YOUR VALIDATOR KEYS DIRECTORY>` with the full pathname of the `validator_keys` directory that was created when you generated your keys using the [command line app](https://github.com/ethereum/eth2.0-deposit-cli/releases/).
|
||||
|
||||
> **Tip:** run `pwd` in your `validator_keys` directory to print the full pathname to the console (if you're on Windows, run `cd` instead).
|
||||
> **Tip:** You can run `pwd` in your `validator_keys` directory to print the full pathname to the console (if you're on Windows, run `cd` instead).
|
||||
|
||||
|
||||
You'll be asked to enter the password you created to encrypt your keystore(s).
|
||||
@ -35,13 +35,13 @@ build/nimbus_beacon_node deposits import --data-dir=build/data/shared_mainnet_0
|
||||
|
||||
## Storage
|
||||
|
||||
When you import your keys into Nimbus, your validator signing key(s) are stored in the `build/data/shared_<TESTNET OR MAINNET>_0/` folder, under `secrets` and `validators` - **make sure you keep these folders backed up somewhere safe.**
|
||||
When you import your keys into Nimbus, your validator signing key(s) are stored in the `build/data/shared_<prater or mainnet>_0/` folder, under `secrets` and `validators` - **make sure you keep these folders backed up somewhere safe.**
|
||||
|
||||
The `secrets` folder contains the common secret that gives you access to all your validator keys.
|
||||
|
||||
The `validators` folder contains your signing keystore(s) (encrypted keys). Keystores are used by validators as a method for exchanging keys. For more on keys and keystores, see [here](https://blog.ethereum.org/2020/05/21/keys/).
|
||||
|
||||
>**Note:** The Nimbus client will only ever import your signing key -- in any case, if you used the deposit launchpad, this is the only key you should have (thanks to the way these keys are derived, you can generate the withdrawal key from your mnemonic whenever you wish to withdraw).
|
||||
>**Note:** The Nimbus client will only ever import your signing key. In any case, if you used the deposit launchpad, this is the only key you should have (thanks to the way these keys are derived, it is possible to generate the withdrawal key from your mnemonic when you wish to withdraw).
|
||||
|
||||
## Export
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Prepare for Mainnet
|
||||
# Mainnet checklist
|
||||
|
||||
|
||||
## Latest software
|
||||
@ -15,11 +15,20 @@ Please check that your node has at least 15 peers. See [the footer](keep-an-eye.
|
||||
|
||||
Please check that your [validator is attached](keep-an-eye.md#make-sure-your-validator-is-attached) to your node.
|
||||
|
||||
## Systemd
|
||||
|
||||
Now that you have Nimbus up and running, we recommend [setting up a systemd service](https://www.raspberrypi.org/documentation/linux/usage/systemd.md) with an autorestart on boot (should you experience an unexpected power outage, this will ensure your validator restarts correctly).
|
||||
|
||||
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).
|
||||
|
||||
|
||||
## VPN
|
||||
|
||||
To avoid exposing your validator identity to the network, we recommend you use a trustworthy VPN such as [protonmail](https://protonmail.com/).. This help reduce the risk of revealing your IP address to the network.
|
||||
To avoid exposing your validator identity (IP address) to the network, we recommend using a trustworthy VPN such as [protonmail](https://protonmail.com/). While it may result in the occasional missed attestation, we believe the [tradeoff](https://our.status.im/validator-privacy-call-to-action/) is worth it.
|
||||
|
||||
## Ethereum Foundation's Checklist
|
||||
|
||||
Ad a final check, we recommend you also go through the EF'S [staker checklist](https://launchpad.ethereum.org/checklist).
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Run just the beacon node (quickstart)
|
||||
# Run the beacon node (quickstart)
|
||||
|
||||
This page takes you through how to run just the beacon node **without a validator attached.**
|
||||
|
||||
@ -52,14 +52,20 @@ make nimbus_beacon_node
|
||||
|
||||
*Patience... this may take a few minutes.*
|
||||
|
||||
## 4. Connect to mainnet
|
||||
## 4. Connect to the network
|
||||
|
||||
To connect to mainnet, run:
|
||||
```
|
||||
./run-mainnet-beacon-node.sh
|
||||
```
|
||||
|
||||
You'll be prompted to enter a web3-provider url:
|
||||
To connect to the testnet , run:
|
||||
|
||||
```
|
||||
./run-prater-beacon-node.sh
|
||||
```
|
||||
|
||||
In both case you'll be prompted to enter a web3-provider url:
|
||||
|
||||
```
|
||||
To monitor the Eth1 validator deposit contract, you'll need to pair
|
||||
@ -75,3 +81,6 @@ Please enter a Web3 provider URL:
|
||||
|
||||
Press enter to skip (this is only important when you're running a validator).
|
||||
|
||||
## 5. Keep track of your sync progress
|
||||
|
||||
See [here](./keep-an-eye.html#keep-track-of-your-syncing-progress) for how to keep track of your sync progress.
|
||||
|
29
docs/the_nimbus_book/src/run-a-validator.md
Normal file
29
docs/the_nimbus_book/src/run-a-validator.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Run a validator
|
||||
Once your beacon node is [running and synced](./quick-start.md), the next step is to run a validator.
|
||||
|
||||
## 1. Deposit
|
||||
|
||||
[Make a deposit](./deposit.md) for your validator
|
||||
|
||||
## 2. Import
|
||||
|
||||
[Import your validator keys](./keys.md) into Nimbus
|
||||
|
||||
## 3. Connect
|
||||
|
||||
[Connect your validator](./connect-eth2.md) to eth2
|
||||
|
||||
|
||||
</br>
|
||||
|
||||
------------------------------------------------------
|
||||
|
||||
</br>
|
||||
|
||||
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 💫
|
||||
|
||||
</br>
|
||||
|
||||
|
||||
|
||||
|
@ -7,10 +7,10 @@ This is particularly important if you are joining a network that's been running
|
||||
|
||||
### Testnet
|
||||
|
||||
To start syncing the `pyrmont` testnet , from the `nimbus-eth2` repository, run:
|
||||
To start syncing the `prater` testnet , from the `nimbus-eth2` repository, run:
|
||||
|
||||
```
|
||||
./run-pyrmont-beacon-node.sh
|
||||
./run-prater-beacon-node.sh
|
||||
```
|
||||
|
||||
### Mainnet
|
||||
@ -31,7 +31,7 @@ You should see the following output:
|
||||
```
|
||||
INF 2020-12-01 11:25:33.487+01:00 Launching beacon node
|
||||
...
|
||||
INF 2020-12-01 11:25:34.556+01:00 Loading block dag from database topics="beacnde" tid=19985314 file=nimbus_beacon_node.nim:198 path=build/data/shared_pyrmont_0/db
|
||||
INF 2020-12-01 11:25:34.556+01:00 Loading block dag from database topics="beacnde" tid=19985314 file=nimbus_beacon_node.nim:198 path=build/data/shared_prater_0/db
|
||||
INF 2020-12-01 11:25:35.921+01:00 Block dag initialized
|
||||
INF 2020-12-01 11:25:37.073+01:00 Generating new networking key
|
||||
...
|
||||
@ -46,10 +46,10 @@ INF 2020-12-01 11:26:36.285+00:00 Slot end top
|
||||
|
||||
### Command line options
|
||||
|
||||
You can pass any `nimbus_beacon_node` options to the `pyrmont` and `mainnet` scripts. For example, if you wanted to launch Nimbus on `pyrmont` with a different base port, say `9100`, you would run:
|
||||
You can pass any `nimbus_beacon_node` options to the `prater` and `mainnet` scripts. For example, if you wanted to launch Nimbus on `prater` with a different base port, say `9100`, you would run:
|
||||
|
||||
```
|
||||
./run-pyrmont-beacon-node.sh --tcp-port=9100 --udp-port=9100
|
||||
./run-prater-beacon-node.sh --tcp-port=9100 --udp-port=9100
|
||||
```
|
||||
|
||||
To see a list of the command line options availabe to you, with descriptions, navigate to the `build` directory and run:
|
||||
|
Loading…
x
Reference in New Issue
Block a user