volume 1 edits (#2044)

This commit is contained in:
Sacha Saint-Leger 2020-11-19 21:43:11 +01:00 committed by GitHub
parent ea9271ba4f
commit 096c4ac542
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 11 deletions

View File

@ -1,15 +1,22 @@
## Run an eth1 node (Geth fast sync)
## Run an eth1 node
In order to process incoming validator deposits from the eth1 chain, you'll need to run an eth1 client in parallel to your eth2 client. While it is possible to use a third-party service like [Infura](./infura-guide.md), we recommend running your own client in order to ensure the network stays as decentralised as possible.
In order to process incoming validator deposits from the eth1 chain, you'll need to run an eth1 client in parallel to your eth2 client.
In a sentence, validators are responsible for including new deposits when they propose blocks. An eth1 client is needed to ensure your validator performs this task correctly.
Validators are responsible for including new deposits when they propose blocks. And an eth1 client is needed to ensure your validator performs this task correctly.
On this page we provide instructions for using Geth (however, any reputable eth1 client should do the trick).
### Install Geth
> **Note:** If you're running on a resource-restricted device like a [Raspberry Pi](./pi-guide.md), we recommend [setting up a personal Infura endpoint](./infura-guide.md) instead as a stop-gap solution.
> As it stands it may be a little complicated to run a full Geth node on a Pi (and light mode doesn't give you the deposit data you need).
>
>In the medium term (3-6 months), we expect someone (perhaps us) will build a thin layer on top of plain Eth1 header-syncing light clients to address this issue. Specifically, what's missing is a gossip network broadcasting deposit proofs (i.e. deposits and corresponding Merkle proofs rooted in Eth1 headers). When that happens, you should be able to swap out Infura.
>
> However, if you have a > 500GB SSD, and your hardware can handle it, we strongly recommend running your own eth1 client. This will help ensure the network stays as decentralised as possible.
### 1. Install Geth
If you're running MacOS, follow the instructions [listed here](https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Mac) to install geth. Otherwise [see here](https://github.com/ethereum/go-ethereum/wiki/Installing-Geth).
### Start Geth
### 2. Start Geth
Once you have geth installed, use the following command to start your eth1 node:
@ -26,8 +33,12 @@ geth --ws
>**Note:** The `--ws` flag is needed to enable the websocket RPC API. This allows Nimbus to query the eth1 chain using Web3 API calls.
### Leave Geth running
### 3. Leave Geth running
Let it sync - Geth uses a fast sync mode by default. It may take anywhere between a few hours and a couple of days.
>**Note:** It is safe to run Nimbus and start validating even if Geth hasn't fully synced yet.
Let it sync - Geth uses a fast sync mode by default. It shouldn't take longer than a few hours.

View File

@ -1,13 +1,14 @@
# The Nimbus book
>**Note:** This book is very much a living entity. You'll always be able to find the latest version here: [https://status-im.github.io/nimbus-eth2/](https://status-im.github.io/nimbus-eth2/)
>
>
Nimbus is an Ethereum 2.0 client focused on offering the best user experience possible for resource-restricted devices.
This book explains all the ways in which you can use Nimbus to either monitor the eth2 chain or become a fully-fledged validator.
> ⚠️ The reality is that we are very early in the eth2 validating life cycle. Validating is not for everyone yet, and it comes with both risks and responsibilities. It isn't a particularly easy way to make money. You'll need to put effort into updating your software, researching hard-forks, having a robust setup... etc. As such, you should only stake if you are actually interested in securing the protocol.
### Helpful resources
- [nimbus-eth2 repository](github.com/status-im/nimbus-eth2)

View File

@ -299,7 +299,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_spec_0_3 deposits import --data-dir=build/data/shared_pyrmont_0 ../validator_keys
build/nimbus_beacon_node deposits import --data-dir=build/data/shared_pyrmont_0 ../validator_keys
```
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).

View File

@ -43,7 +43,10 @@ If you're running a local geth instance, geth accepts connections from the loopb
```
ws://127.0.0.1:8546
```
Enter it, you should see the following output:
>**Note:** If you're using [your own Infura endpoint](./infura-guide), you should enter that instead.
Once you've entered your Web3 provider URL, you should see the following output:
```
INF 2020-11-18 11:25:33.487+01:00 Launching beacon node

View File

@ -69,6 +69,10 @@ To change the base port, run:
(You can replace `9100` with a port of your choosing)
### Catching up on validator duties
If you're being flooded with `Catching up on validator duties` messages, then your CPU is probably too slow to run Nimbus. Please check that your setup matches our [system requirements](./hardware.md).
### Eth1 chain monitor failure
*todo*