refocus guide around prater (#2593)
This commit is contained in:
parent
056ff59595
commit
8c8fe92cd0
|
@ -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
|
||||||
|
|
|
@ -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).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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**
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 you’re experiencing sync problems, we recommend running `make clean-pyrmont` to delete the database and restart your sync (make sure you’ve updated to the latest `master` first though).
|
If you’re experiencing sync problems, we recommend running `make clean-prater` to delete the database and restart your sync (make sure you’ve 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)
|
||||||
|
|
|
@ -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**
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue