mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-02 09:46:26 +00:00
Book edits (for release) (#1987)
* book edits * fix typo * update toc * typo fix * remove medalla guide (archived * remove old systemd guide
This commit is contained in:
parent
500301c6c7
commit
64838720d5
@ -12,8 +12,8 @@
|
||||
- [Keep Nimbus updated](./keep-updated.md)
|
||||
# Volume 2
|
||||
- [Command line options](./options.md)
|
||||
- [Useful pre-genesis checks]()
|
||||
- [Troubleshooting](./troubleshooting.md)
|
||||
- [Useful pre-genesis checks]()
|
||||
- [Metrics and pretty pictures](./metrics-pretty-pictures.md)
|
||||
- [Network stats + monitoring](./eth2-stats.md)
|
||||
- [Run your node on a Raspberry Pi](./pi-guide.md)
|
||||
@ -22,7 +22,7 @@
|
||||
- [Switch between clients]()
|
||||
- [Your own Infura endpoint](infura-guide.md)
|
||||
# Volume 3
|
||||
- [Advanced options](./advanced.md)
|
||||
- [Advanced options]()
|
||||
- [API](./api.md)
|
||||
- [For developers](./developers.md)
|
||||
- [Set up a systemd service](./beacon-node-systemd.md)
|
||||
@ -30,6 +30,4 @@
|
||||
- [FAQ](./faq.md)
|
||||
- [Contribute](./contribute.md)
|
||||
- [Resources](./resources.md)
|
||||
# Archived
|
||||
- [Become a Medalla validator](./medalla.md)
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
eth2stats is a network monitoring suite for your beacon node + validator client.
|
||||
|
||||
It consists of a [command-line-interface](https://github.com/Alethio/eth2stats-client) (to help you query your node's API), and an [associated website](https://eth2stats.io/medalla-testnet)(which allows you to monitor your node from anywhere).
|
||||
It consists of a [command-line-interface](https://github.com/Alethio/eth2stats-client) (to help you query your node's API), and an [associated website](https://eth2stats.io/medalla-testnet) (which allows you to monitor your node from anywhere).
|
||||
|
||||
In this guide we'll take you through how to get eth2stats running on your local machine, and how to hook your node up to the website.
|
||||
|
||||
@ -46,11 +46,17 @@ Click on `Compile from source` and copy the command at the bottom.
|
||||
|
||||
![](https://i.imgur.com/ZcqMkOX.png)
|
||||
|
||||
### 5. Run your node with metrics enabled
|
||||
### 5. Build and run your node with metrics enabled
|
||||
|
||||
From your `nimbus-eth2` repository, run:
|
||||
```
|
||||
make NIMFLAGS="-d:insecure" medalla
|
||||
make NIMFLAGS="-d:insecure" nimbus_beacon_node_spec_0_12_3
|
||||
```
|
||||
|
||||
Followed by:
|
||||
|
||||
```
|
||||
./run-medalla-beacon-node.sh
|
||||
```
|
||||
|
||||
### 6. Run eth2stats
|
||||
|
@ -8,6 +8,8 @@ To update to the latest version, run:
|
||||
git pull && make update
|
||||
```
|
||||
|
||||
Then [rebuild the beacon node.](./build.md)
|
||||
|
||||
> **Note:** If your beacon node is already running, you'll need to disconnect and reconnect for the changes to take effect.
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
To import your signing key(s) into Nimbus, from the `nimbus-eth2` directory run:
|
||||
|
||||
```
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_medalla_0 <YOUR VALIDATOR KEYS DIRECTORY>
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/medalla <YOUR VALIDATOR KEYS DIRECTORY>
|
||||
```
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ To import your signing key(s) into Nimbus, from the `nimbus-eth2` directory run:
|
||||
|
||||
## Storage
|
||||
|
||||
When you import your keys into Nimbus, your validator signing key(s) are stored in the `build/data/shared_medalla_0/` folder, under `secrets` and `validators` - **make sure you keep these folders backed up somewhere sage.**
|
||||
When you import your keys into Nimbus, your validator signing key(s) are stored in the `build/data/medalla/` 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.
|
||||
|
||||
|
@ -10,10 +10,10 @@ Grafana is a tool for beautiful dashboard monitoring that works well with Promet
|
||||
|
||||
## Simple metrics
|
||||
|
||||
The easiest way to see metrics concerning your validator / node is to run the beacon node with the `NIMFLAGS="-d:insecure"` flag. For example, to enable metrics for a `medalla` validator, run:
|
||||
The easiest way to see metrics concerning your validator / node is to build the beacon node with the `NIMFLAGS="-d:insecure"` flag. For example, to enable metrics for a `medalla` validator, run:
|
||||
|
||||
```
|
||||
make NIMFLAGS="-d:insecure" medalla
|
||||
make NIMFLAGS="-d:insecure" nimbus_beacon_node_spec_0_12_3
|
||||
```
|
||||
|
||||
> **Note:** Metrics are not included in the binary by default. The `NIMFLAGS="-d:insecure"` is needed because we consider the HTTP server that needs to start to serve the metrics to be insecure (without this flag it won't launch properly). As such, we recommend you make sure port 8008 is protected.
|
||||
@ -73,12 +73,12 @@ cp prometheus-2.20.1.linux-amd64/prometheus /usr/local/bin/
|
||||
|
||||
Prometheus relies on a YAML configuration file to let it know where, and how often, to scrape data.
|
||||
|
||||
`nimbus-eth2` generates an appropriate configuration file (`prometheseus.yml`) when you build the beacon node. If you're running the `medalla` testnet you'll find this in `build/data/shared_medalla_0`.
|
||||
`nimbus-eth2` generates an appropriate configuration file (`prometheseus.yml`) when you build the beacon node. If you're running the `medalla` testnet you'll find this in `build/data/medalla`.
|
||||
|
||||
To run Prometheus with the default config file:
|
||||
|
||||
```
|
||||
cd build/data/shared_medalla_0
|
||||
cd build/data/medalla
|
||||
prometheus --config.file=./prometheus.yml --storage.tsdb.path=./prometheus
|
||||
# when starting multiple nodes at the same time, just use the config file from the one with the highest ID
|
||||
```
|
||||
|
@ -244,7 +244,7 @@ git clone https://github.com/status-im/nimbus-eth2
|
||||
Change into the directory and build the beacon node.
|
||||
```
|
||||
cd nimbus-eth2
|
||||
make nimbus_beacon_node
|
||||
make nimbus_beacon_node_spec_0_12_3
|
||||
```
|
||||
|
||||
*Patience... this may take a few minutes.*
|
||||
@ -275,7 +275,7 @@ As usual, replace `195.177.101.93` with your Pi's IP address, and `<VALIDATOR_KE
|
||||
To import your signing key into Nimbus, from the `nimbus-eth2` directory run:
|
||||
|
||||
```
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_medalla_0 ../validator_keys
|
||||
build/nimbus_beacon_node deposits import --data-dir=build/data/medalla ../validator_keys
|
||||
```
|
||||
|
||||
|
||||
@ -329,10 +329,24 @@ We're finally ready to connect to medalla!
|
||||
|
||||
To connect to medalla, run:
|
||||
```
|
||||
make NODE_PARAMS="--web3-url=wss://goerli.infura.io/ws/v3/ae1e57122a1e49af8e835e82a5e35e60" medalla
|
||||
./run-medalla-beacon-node.sh
|
||||
```
|
||||
|
||||
Be sure to replace the `web3-url` above with your own websocket (`wss`) Infura endpoint.[^1]
|
||||
You'll be prompted to enter a web3-provider url:
|
||||
|
||||
```
|
||||
To monitor the Eth1 validator deposit contract, you'll need to pair
|
||||
the Nimbus beacon node with a Web3 provider capable of serving Eth1
|
||||
event logs. This could be a locally running Eth1 client such as Geth
|
||||
or a cloud service such as Infura. For more information please see
|
||||
our setup guide:
|
||||
|
||||
https://status-im.github.io/nimbus-eth2/eth1.html
|
||||
|
||||
Please enter a Web3 provider URL:
|
||||
```
|
||||
|
||||
Enter your own secure websocket (`wss`) [Infura endpoint](./infura-guide.md).
|
||||
|
||||
### 19. Check for successful connection
|
||||
|
||||
@ -359,11 +373,3 @@ To detach your `screen` session but leave your processes running, press `Ctrl-A`
|
||||
|
||||
Verifying your progress is as simple as `ssh`ing back into your Pi and typing `screen -r`. This will resume your screen session (and you will be able to see your node's entire output since you logged out).
|
||||
|
||||
-------
|
||||
|
||||
[^1]: If you were to just run `make medalla`, the beacon node would launch with an Infura endpoint supplied by us. This endpoint is passed through the `web3-url` option (which takes as input the url of the web3 server from which you'd like to observe the eth1 chain). Because Infura caps the requests per endpoint per day to 100k, and all Nimbus nodes use the same Infura endpoint by default, it can happen that our Infura endpoint is overloaded (i.e the requests on a given day reach the 100k limit). If this happens, all requests to Infura using the default endpoint will fail, which means your node will stop processing new deposits.
|
||||
To pass in your own Infura endpoint, you'll need to run:
|
||||
```
|
||||
make NODE_PARAMS="--web3-url=<YOUR_WEBSOCKET_ENDPOINT>" medalla
|
||||
```
|
||||
Importantly, the endpoint must be a websocket (`wss`) endpoint, not `https`. If you're not familiar with Infura, we recommend reading through our [Infura guide](./infura-guide), first. **P.S.** We are well aware that Infura is less than ideal from a decentralisation perspective. As such we are in the process of changing our default to [Geth](https://geth.ethereum.org/docs/install-and-build/installing-geth) (with Infura as a fallback). For some rough notes on how to use Geth with Nimbus, see [here](https://gist.github.com/onqtam/aaf883d46f4dab1311ca9c160df12fe4) (we will be adding more complete instructions very soon).
|
||||
|
@ -7,22 +7,22 @@ As it stands, we are continuously making improvements to both stability and memo
|
||||
|
||||
> **Note:** While the `master` branch of the `nimbus-eth2` repository is more stable, the latest updates happen in the `devel` branch which is (usually) merged into master every week on Tuesday. If you choose to run Nimbus directly from the `devel` branch, be prepared for instabilities!
|
||||
|
||||
To update and restart, run `git pull`, `make update`, followed by `make medalla`:
|
||||
To update and restart, run `git pull`, `make update`, followed by `make nimbus_beacon_node_spec_0_12_3`:
|
||||
|
||||
```
|
||||
cd nimbus-eth2
|
||||
git pull
|
||||
make update # Update dependencies
|
||||
make medalla # Restart using same keys as last run
|
||||
make nimbus_beacon_node_spec_0_12_3 # Rebuild beacon node
|
||||
./run-medalla-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).
|
||||
|
||||
>**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
|
||||
The directory that stores the blockchain data of the testnet is `build/data/shared_medalla_0` (if you're connecting to another testnet, replace `medalla` with that testnet's name). Delete this folder to start over (for example, if you started building medalla with the wrong private keys).
|
||||
The directory that stores the blockchain data of the testnet is `build/data/medalla` (if you're connecting to another testnet, replace `medalla` with that testnet's name). If you've imported the wrong keys, and wish to start over, delete this repository.
|
||||
|
||||
### Syncing
|
||||
If you’re experiencing sync problems, we recommend running `make clean-medalla` to delete the database and restart your sync (make sure you’ve updated to the latest `master` first though).
|
||||
@ -43,21 +43,12 @@ Options:
|
||||
- `--keepOldStates` (boolean): Keep pre-finalisation states; defaults to `true`.
|
||||
- `--verbose` (boolean): Print a more verbose output to the console; defaults to `false`.
|
||||
|
||||
|
||||
### Keeping up with the head of the chain
|
||||
|
||||
As it stands, logging seems to be slowing down the client, and quite a few users are experiencing trouble either catching up or keeping up with the head of the chain. You can use either the `LOG_LEVEL=INFO` or `LOG_LEVEL=NOTICE` options to reduce verbosity and speed up the client (`NOTICE` is even less verbose than `INFO`).
|
||||
|
||||
```
|
||||
make LOG_LEVEL=INFO medalla
|
||||
```
|
||||
|
||||
### Low peer counts
|
||||
|
||||
If you're experiencing a low peer count, you may be behind a firewall. Try restarting your client and passing `NODE_PARAMS="--nat:\"extip:$EXT_IP_ADDRESS\""` as an option to `make medalla`, 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-medalla-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:
|
||||
|
||||
```
|
||||
make NODE_PARAMS="--nat:\"extip:35.124.65.104\"" medalla
|
||||
./run-medalla-beacon-node.sh --nat:extip:35.124.65.104
|
||||
```
|
||||
|
||||
### Address already in use error
|
||||
@ -73,44 +64,13 @@ It's probably because you're running multiple validators -- and the default base
|
||||
To change the base port, run:
|
||||
|
||||
```
|
||||
make BASE_PORT=9100 medalla
|
||||
./run-medalla-beacon-node.sh --tcp-port=9100 --udp-port=9100
|
||||
```
|
||||
|
||||
(You can replace `9100` with a port of your choosing)
|
||||
|
||||
### Eth1 chain monitor failure
|
||||
|
||||
If you're seeing one or more error messages that look like the following:
|
||||
*todo*
|
||||
|
||||
```
|
||||
ERR 2020-09-29 14:04:33.313+02:00 Eth1 chain monitor failure, restarting tid=8941404
|
||||
file=eth1_monitor.nim:812 err="{\"code\":-32005,
|
||||
\"data\":{\"rate\":{\"allowed_rps\":1,
|
||||
\"backoff_seconds\":24,
|
||||
\"current_rps\":22.5},
|
||||
\"see\":\"https://infura.io/dashboard\"},
|
||||
\"message\":\"daily request count exceeded, request rate limited\"}"
|
||||
```
|
||||
|
||||
This means that our Infura endpoint is overloaded (in other words, the requests on a given day have reached the 100k free tier limit).
|
||||
|
||||
You can fix this by passing in [your own Infura endpoint](./infura-guide.md).
|
||||
|
||||
To do so, run:
|
||||
|
||||
```
|
||||
make NODE_PARAMS="--web3-url=<YOUR_WEBSOCKET_ENDPOINT>" medalla
|
||||
```
|
||||
|
||||
Importantly, make sure you pass in a websocket (`wss`) endpoint, not `https`. If you're not familiar with Infura, we recommend reading through our [Infura guide](./infura-guide) first.
|
||||
|
||||
### Running multiple nodes on the same computer
|
||||
|
||||
If you're running different testnets on the same computer, you'll need to specify a different `NODE_ID` to avoid port conflicts (the default is `NODE_ID=0`).
|
||||
|
||||
For example, to run two `medalla` nodes at the same time:
|
||||
|
||||
```
|
||||
make medalla NODE_ID=0 # the default
|
||||
make medalla NODE_ID=1
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user