refocus guide around prater (#2593)

This commit is contained in:
0xmiel 2021-05-22 11:16:44 +02:00 committed by GitHub
parent 056ff59595
commit 8c8fe92cd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 43 additions and 37 deletions

View File

@ -35,10 +35,8 @@
# Guides # Guides
- [Grafana and Prometheus](./metrics-pretty-pictures.md) - [Grafana and Prometheus](./metrics-pretty-pictures.md)
- [Create your own Infura endpoint](./infura-guide.md) - [Create your own Infura endpoint](./infura-guide.md)
- [Network stats (testnets only)](./eth2-stats.md)
- [Migrating from another client](./migration.md) - [Migrating from another client](./migration.md)
- [Validating with a Raspberry Pi](./pi-guide.md) - [Validating with a Raspberry Pi](./pi-guide.md)
- [Trying Rocket Pool](./rp-quick-start.md)
# Downloads # Downloads

View File

@ -10,7 +10,7 @@ Systemd is used in order to have a command or program run when your device boots
> ⚠️ If you wish to run the service with metrics enabled, you'll need to replace `--metrics:off` with `--metrics:on` in the service file below. See [here](./metrics-pretty-pictures.md) for more on metrics. > ⚠️ If you wish to run the service with metrics enabled, you'll need to replace `--metrics:off` with `--metrics:on` in the service file below. See [here](./metrics-pretty-pictures.md) for more on metrics.
Create a `systemd` service unit file -- `nimbus-eth2-pyrmont.service` -- and save it in `/lib/systemd/system/`. Create a `systemd` service unit file -- `nimbus-eth2-prater.service` -- and save it in `/lib/systemd/system/`.
The contents of the file should look like this: The contents of the file should look like this:
@ -22,8 +22,8 @@ Description=Nimbus beacon node
WorkingDirectory=<BASE-DIRECTORY> WorkingDirectory=<BASE-DIRECTORY>
ExecStart=<BASE-DIRECTORY>/build/nimbus_beacon_node \ ExecStart=<BASE-DIRECTORY>/build/nimbus_beacon_node \
--non-interactive \ --non-interactive \
--network=pyrmont \ --network=prater \
--data-dir=build/data/shared_pyrmont_0 \ --data-dir=build/data/shared_prater_0 \
--web3-url=<WEB3-URL> \ --web3-url=<WEB3-URL> \
--rpc:on \ --rpc:on \
--metrics:off --metrics:off
@ -45,7 +45,7 @@ Where you should replace:
> **N.B.** If you're running Nimbus on a Pi, your `<BASE-DIRECTORY>` is `/home/pi/nimbus-eth2/` and your `<USERNAME>` is `pi` > **N.B.** If you're running Nimbus on a Pi, your `<BASE-DIRECTORY>` is `/home/pi/nimbus-eth2/` and your `<USERNAME>` is `pi`
> If you want to run on mainnet, simply replace all instances of `pyrmont` with `mainnet`. > If you want to run on mainnet, simply replace all instances of `prater` with `mainnet`. If you wish to run on `pyrmont`, replace all instances of `prater` with `pyrmont`.
### 2. Notify systemd of the newly added service ### 2. Notify systemd of the newly added service
@ -56,15 +56,17 @@ sudo systemctl daemon-reload
### 3. Start the service ### 3. Start the service
```console ```console
sudo systemctl enable nimbus-eth2-pyrmont --now sudo systemctl enable nimbus-eth2-prater --now
``` ```
### 4. Monitor the service ### 4. Monitor the service
```console ```console
sudo journalctl -u nimbus-eth2-pyrmont.service sudo journalctl -u nimbus-eth2-prater.service
``` ```
This will show you the Nimbus logs at the default setting -- it should include regular "slot start" messages which will show your sync progress. This will show you the Nimbus logs at the default setting -- it should include regular "slot start" messages which will show your sync progress.
For more options, see [here](https://www.raspberrypi.org/documentation/linux/usage/systemd.md). For more options, see [here](https://www.raspberrypi.org/documentation/linux/usage/systemd.md).

View File

@ -1,5 +1,5 @@
# Back up your database # Back up your database
The best way to do this is to simply copy it over: you'll find it either in `build/data/shared_mainnet_0/db/` (if you're running Pyrmont, `shared_pyrmont_0`) or the directory you supplied to the `--data-dir` argument when you launched Nimbus). The best way to do this is to simply copy it over: you'll find it either in `build/data/shared_mainnet_0/db/` (if you're running Prater, `shared_prater_0`) or the directory you supplied to the `--data-dir` argument when you launched Nimbus).

View File

@ -18,14 +18,14 @@ The `unstable` branch contains features and bugfixes that are actively being tes
* Features and bugfixes are generally pushed to individual branches, each with their own pull request against the `unstable` branch. * Features and bugfixes are generally pushed to individual branches, each with their own pull request against the `unstable` branch.
* Once the branch has been reviewed and passed CI, the developer or reviewer merges the branch to `unstable`. * Once the branch has been reviewed and passed CI, the developer or reviewer merges the branch to `unstable`.
* The `unstable` branch is regularly deployed to the Nimbus pyrmont fleet where additional testing happens. * The `unstable` branch is regularly deployed to the Nimbus prater and pyrmont fleets where additional testing happens.
### Testing ### Testing
The `testing` branch contains features and bugfixes that have gone through CI and initial testing on the `unstable` branch and are ready to be included in the next release. The `testing` branch contains features and bugfixes that have gone through CI and initial testing on the `unstable` branch and are ready to be included in the next release.
* After testing a bugfix or feature on `unstable`, the features and fixes that are planned for the next release get merged to the `testing` branch either by the release manager or team members. * After testing a bugfix or feature on `unstable`, the features and fixes that are planned for the next release get merged to the `testing` branch either by the release manager or team members.
* The `testing` branch is regularly deployed to the Nimbus pyrmont fleet as well as a smaller mainnet fleet. * The `testing` branch is regularly deployed to the Nimbus prater and pyrmont fleet as well as a smaller mainnet fleet.
* The branch should remain release-ready at most times. * The branch should remain release-ready at most times.
### Stable ### Stable
@ -170,7 +170,7 @@ make dist-test
## Stress-testing the client by limiting the CPU power ## Stress-testing the client by limiting the CPU power
```bash ```bash
make pyrmont CPU_LIMIT=20 make prater CPU_LIMIT=20
``` ```
The limiting is provided by the cpulimit utility, available on Linux and macOS. The limiting is provided by the cpulimit utility, available on Linux and macOS.

View File

@ -2,10 +2,10 @@
You can use your node's graffiti flag to make your mark on history and forever engrave some words of your choice into an Ethereum block. You will be able to see it using the block explorer. You can use your node's graffiti flag to make your mark on history and forever engrave some words of your choice into an Ethereum block. You will be able to see it using the block explorer.
To do so on **Pyrmont**, run: To do so on **Prater**, run:
``` ```
./run-pyrmont-beacon-node.sh --graffiti="<YOUR_WORDS>" ./run-prater-beacon-node.sh --graffiti="<YOUR_WORDS>"
``` ```
To do so on **Mainnet**, run: To do so on **Mainnet**, run:

View File

@ -11,7 +11,7 @@ Grafana is a tool for beautiful dashboard monitoring that works well with Promet
Run the beacon node with the `--metrics` flag: Run the beacon node with the `--metrics` flag:
``` ```
./run-pyrmont-beacon-node.sh --metrics ./run-prater-beacon-node.sh --metrics
``` ```
And visit [http://127.0.0.1:8008/metrics](http://127.0.0.1:8008/metrics) to see the raw metrics. You should see a plaintext page that looks something like this: And visit [http://127.0.0.1:8008/metrics](http://127.0.0.1:8008/metrics) to see the raw metrics. You should see a plaintext page that looks something like this:

View File

@ -18,9 +18,9 @@ Specifically, we'll be using the `existing-mnemonic` command. Here's a descripti
Run the following command from the directory which contains the `deposit` executable: Run the following command from the directory which contains the `deposit` executable:
**Pyrmont** **Prater**
``` ```
./deposit existing-mnemonic --validator_start_index 0 --num_validators 1 --chain pyrmont ./deposit existing-mnemonic --validator_start_index 0 --num_validators 1 --chain prater
``` ```
**Mainnet** **Mainnet**
@ -44,9 +44,9 @@ to not generate a copy of your original key. Running the same key on two differe
Run the following command from the directory which contains the `deposit` executable: Run the following command from the directory which contains the `deposit` executable:
**Pyrmont** **Prater**
``` ```
./deposit existing-mnemonic --validator_start_index 1 --num_validators 1 --chain pyrmont ./deposit existing-mnemonic --validator_start_index 1 --num_validators 1 --chain prater
``` ```
**Mainnet** **Mainnet**

View File

@ -2,7 +2,7 @@
> ⚠️ If you want to add your own options, remember that the format is `--foo=bar`, `--baz`, or `--foo-bar=qux` > ⚠️ If you want to add your own options, remember that the format is `--foo=bar`, `--baz`, or `--foo-bar=qux`
You can pass any `nimbus_beacon_node` options to the `pyrmont` and `mainnet` scripts. For example, if you wanted to launch Nimbus on mainnet with different base ports than the default `9000/udp` and `9000/tcp`, say `9100/udp` and `9100/tcp`, 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 mainnet with different base ports than the default `9000/udp` and `9000/tcp`, say `9100/udp` and `9100/tcp`, you would run:
``` ```
./run-mainnet-beacon-node.sh --tcp-port=9100 --udp-port=9100 ./run-mainnet-beacon-node.sh --tcp-port=9100 --udp-port=9100

View File

@ -6,7 +6,7 @@
## Introduction ## Introduction
This page will take you through how to use your laptop to program your Raspberry Pi, get Nimbus running, and connect to the **Pyrmont testnet**. This page will take you through how to use your laptop to program your Raspberry Pi, get Nimbus running, and connect to the **Prater testnet**.
@ -305,15 +305,15 @@ build/nimbus_beacon_node deposits import --data-dir=build/data/shared_pyrmont_0
You'll be asked to enter the password you created to encrypt your keystore(s). Don't worry, this is entirely normal. Your validator client needs both your signing keystore(s) and the password encrypting it to import your [key](https://blog.ethereum.org/2020/05/21/keys/) (since it needs to decrypt the keystore in order to be able to use it to sign on your behalf). You'll be asked to enter the password you created to encrypt your keystore(s). Don't worry, this is entirely normal. Your validator client needs both your signing keystore(s) and the password encrypting it to import your [key](https://blog.ethereum.org/2020/05/21/keys/) (since it needs to decrypt the keystore in order to be able to use it to sign on your behalf).
### 16. Connect to Pyrmont ### 16. Connect to Prater
We're finally ready to connect to Pyrmont! We're finally ready to connect to the Prater testnet!
>**Note:** If you haven't already, we recommend registering for, and running, your own Infura endpoint to connect to eth1. For instruction on how to do so, see [this page](./infura-guide.md). >**Note:** If you haven't already, we recommend registering for, and running, your own Infura endpoint to connect to eth1. For instruction on how to do so, see [this page](./infura-guide.md).
To connect to pyrmont, run: To connect to Prater, run:
``` ```
./run-pyrmont-beacon-node.sh ./run-prater-beacon-node.sh
``` ```
You'll be prompted to enter a web3-provider url: You'll be prompted to enter a web3-provider url:
@ -360,7 +360,7 @@ peers: 15 finalized: ada7228a:8765 head: b2fe11cd:8767:2 time: 9900:
Keep an eye on the number of peers your currently connected to (in the above case that's `15`), as well as your [sync progress](./keep-an-eye.md#syncing-progress). Keep an eye on the number of peers your currently connected to (in the above case that's `15`), as well as your [sync progress](./keep-an-eye.md#syncing-progress).
> **Note:** 15 - 20 peers and an average sync speed of **0.5 - 1.0** blocks per second is normal on `Pyrmont` with a Pi. If you're sync speed is much slower than this, the root of the problem may be your USB3.0 to SSD adapter. See [this post](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245931) for a recommended workaround. > **Note:** 15 - 20 peers and an average sync speed of **0.5 - 1.0** blocks per second is normal on `Prater` with a Pi. If you're sync speed is much slower than this, the root of the problem may be your USB3.0 to SSD adapter. See [this post](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245931) for a recommended workaround.
### Mainnet advice ### Mainnet advice

View File

@ -1,6 +1,6 @@
# Troubleshooting # Troubleshooting
> ⚠️ The commands on this page refer to the Pyrmont testnet. If you're running mainnet, replace `pyrmont` with `mainnet` in the commands below. > ⚠️ The commands on this page refer to the Prater testnet. If you're running mainnet, replace `prater` with `mainnet` in the commands below. If you're running `pyrmont` relace `prater` with `pyrmont`.
As it stands, we are continuously making improvements to both stability and memory usage. So please make sure you keep your client up to date! This means restarting your node and updating your software regularly from the `stable` branch. If you can't find a solution to your problem here, feel free to hit us up on our [discord](https://discord.com/invite/XRxWahP)! As it stands, we are continuously making improvements to both stability and memory usage. So please make sure you keep your client up to date! This means restarting your node and updating your software regularly from the `stable` branch. If you can't find a solution to your problem here, feel free to hit us up on our [discord](https://discord.com/invite/XRxWahP)!
@ -14,7 +14,7 @@ cd nimbus-eth2
git pull git pull
make update # Update dependencies make update # Update dependencies
make nimbus_beacon_node # Rebuild beacon node make nimbus_beacon_node # Rebuild beacon node
./run-pyrmont-beacon-node.sh # Restart using same keys as last run ./run-prater-beacon-node.sh # Restart using same keys as last run
``` ```
If you find that `make update` causes the console to hang for too long, try running `make update V=1` or `make update V=2` instead (these will print a more verbose output to the console which may make it easier to diagnose the problem). If you find that `make update` causes the console to hang for too long, try running `make update V=1` or `make update V=2` instead (these will print a more verbose output to the console which may make it easier to diagnose the problem).
@ -22,22 +22,22 @@ If you find that `make update` causes the console to hang for too long, try runn
>**Note:** rest assured that when you restart the beacon node, the software will resume from where it left off, using the validator keys you have already imported. >**Note:** rest assured that when you restart the beacon node, the software will resume from where it left off, using the validator keys you have already imported.
### Starting over ### Starting over
The directory that stores the blockchain data of the testnet is `build/data/pyrmont_shared_0` (if you're connecting to another testnet, replace `pyrmont` with that testnet's name). If you've imported the wrong keys, and wish to start over, delete this repository. The directory that stores the blockchain data of the testnet is `build/data/prater_shared_0` (if you're connecting to another testnet, replace `prater` with that testnet's name). If you've imported the wrong keys, and wish to start over, delete this repository.
### Syncing ### Syncing
If youre experiencing sync problems, we recommend running `make clean-pyrmont` to delete the database and restart your sync (make sure youve updated to the latest `master` first though). If youre experiencing sync problems, we recommend running `make clean-prater` to delete the database and restart your sync (make sure youve updated to the latest `master` first though).
> **Warning**: `make clean-pyrmont` will erase all of your syncing progress so far, so it should only be used as a last resort -- if your client gets stuck for a long time (because it's unable to find the right chain and/or stay with the same head value) and a normal restart doesn't improve things. > **Warning**: `make clean-prater` will erase all of your syncing progress so far, so it should only be used as a last resort -- if your client gets stuck for a long time (because it's unable to find the right chain and/or stay with the same head value) and a normal restart doesn't improve things.
### Pruning the database ### Pruning the database
If you're running out of storage, you can [prune](https://blog.ethereum.org/2015/06/26/state-tree-pruning/) the database of unnecessary blocks and states by running: If you're running out of storage, you can [prune](https://blog.ethereum.org/2015/06/26/state-tree-pruning/) the database of unnecessary blocks and states by running:
``` ```
make ncli_db make ncli_db
build/ncli_db pruneDatabase --db=build/data/shared_pyrmont_0/db --verbose=true build/ncli_db pruneDatabase --db=build/data/shared_prater_0/db --verbose=true
``` ```
This will create `nbc_pruned.sqlite3` files in `build/data/shared_pyrmont_0/db`, which you can use in place of the orginal `nbc.sqlite3` files. We recommend you hold onto the originals until you've verified that your validator is behaving as expected with the pruned files. This will create `nbc_pruned.sqlite3` files in `build/data/shared_prater_0/db`, which you can use in place of the orginal `nbc.sqlite3` files. We recommend you hold onto the originals until you've verified that your validator is behaving as expected with the pruned files.
Options: Options:
- `--keepOldStates` (boolean): Keep pre-finalisation states; defaults to `true`. - `--keepOldStates` (boolean): Keep pre-finalisation states; defaults to `true`.
@ -45,10 +45,10 @@ Options:
### Low peer counts ### Low peer counts
If you're experiencing a low peer count, you may be behind a firewall. Try restarting your client and passing `--nat:extip:$EXT_IP_ADDRESS` as an option to `./run-pyrmont-beacon-node.sh`, where `$EXT_IP_ADDRESS` is your real IP. For example, if your real IP address is `35.124.65.104`, you'd run: If you're experiencing a low peer count, you may be behind a firewall. Try restarting your client and passing `--nat:extip:$EXT_IP_ADDRESS` as an option to `./run-prater-beacon-node.sh`, where `$EXT_IP_ADDRESS` is your real IP. For example, if your real IP address is `35.124.65.104`, you'd run:
``` ```
./run-pyrmont-beacon-node.sh --nat:extip:35.124.65.104 ./run-prater-beacon-node.sh --nat:extip:35.124.65.104
``` ```
### noCommand does not accept arguments ### noCommand does not accept arguments
@ -69,7 +69,7 @@ It's probably because you're running multiple validators -- and the default base
To change the base port, run: To change the base port, run:
``` ```
./run-pyrmont-beacon-node.sh --tcp-port=9100 --udp-port=9100 ./run-prater-beacon-node.sh --tcp-port=9100 --udp-port=9100
``` ```
(You can replace `9100` with a port of your choosing) (You can replace `9100` with a port of your choosing)

View File

@ -6,11 +6,17 @@ To perform a voluntary exit, with your beacon node running, run:
**Pyrmont** **Pyrmont**
``` ```
build/nimbus_beacon_node deposits exit --validator=<VALIDATOR_PUBLIC_KEY> --data-dir=build/data/shared_pyrmont_0 build/nimbus_beacon_node deposits exit --validator=<VALIDATOR_PUBLIC_KEY> --data-dir=build/data/shared_pyrmont_0
```
**Prater**
``` ```
build/nimbus_beacon_node deposits exit --validator=<VALIDATOR_PUBLIC_KEY> --data-dir=build/data/shared_prater_0
```
**Mainnet** **Mainnet**