Book updates: volume 1
This commit is contained in:
parent
de2b7e971c
commit
ad07e1daae
|
@ -7,7 +7,7 @@
|
||||||
- [Sync the beacon node](./start-syncing.md)
|
- [Sync the beacon node](./start-syncing.md)
|
||||||
- [Make a deposit](./deposit.md)
|
- [Make a deposit](./deposit.md)
|
||||||
- [Manage your keys](./keys.md)
|
- [Manage your keys](./keys.md)
|
||||||
- [Connect to eth2](./connect-eth2.md)
|
- [Connect your validator to eth2](./connect-eth2.md)
|
||||||
- [Keep an eye on your validator](./keep-an-eye.md)
|
- [Keep an eye on your validator](./keep-an-eye.md)
|
||||||
- [Keep Nimbus updated](./keep-updated.md)
|
- [Keep Nimbus updated](./keep-updated.md)
|
||||||
# Volume 2
|
# Volume 2
|
||||||
|
|
|
@ -12,17 +12,23 @@ Before building and running the application, make sure you've gone through the [
|
||||||
|
|
||||||
## Building the node
|
## Building the node
|
||||||
|
|
||||||
#### 1. Clone the nim beacon chain repository
|
### 1. Clone the nim beacon chain repository
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/status-im/nimbus-eth2
|
git clone https://github.com/status-im/nimbus-eth2
|
||||||
cd nimbus-eth2
|
cd nimbus-eth2
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. Run the beacon node build process
|
### 2. Run the beacon node build process
|
||||||
|
|
||||||
To build the Nimbus beacon node and it's dependencies, run:
|
To build the Nimbus beacon node and it's dependencies, run:
|
||||||
|
|
||||||
|
*Medalla testnet*
|
||||||
|
```
|
||||||
|
make beacon_node_spec_0_12_3
|
||||||
|
```
|
||||||
|
|
||||||
|
*Mainnet*
|
||||||
```
|
```
|
||||||
make beacon_node
|
make beacon_node
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,40 +1,26 @@
|
||||||
# Connect to eth2
|
# Connect your validator to eth2
|
||||||
|
|
||||||
> ⚠️ This page concerns the Medalla testnet only. If you have made a mainnet deposit, you do not need to connect to eth2 quite yet. Mainnet [Genesis](https://hackmd.io/@benjaminion/genesis) date has been set to [December 1st](https://blog.ethereum.org/2020/11/04/eth2-quick-update-no-19/). This page will be updated nearer the time.
|
> ⚠️ This page concerns the Medalla testnet only. If you have made a mainnet deposit, you do not need to connect your validator to eth2 quite yet. Mainnet [Genesis](https://hackmd.io/@benjaminion/genesis) date has been set to [December 1st](https://blog.ethereum.org/2020/11/04/eth2-quick-update-no-19/). This page will be updated nearer the time.
|
||||||
|
|
||||||
To connect to the Medalla testnet, from the `nimbus-eth2` repository run:
|
To connect your validator to the Medalla testnet, from the `nimbus-eth2` repository run:
|
||||||
|
|
||||||
```
|
```
|
||||||
make medalla
|
./run-mainnet-beacon-node.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note:** If your beacon node is already running, you'll need to shut it down gracefully (`Ctrl+c`) and re-run the above command.
|
> **Note:** If your beacon node is already running, you'll need to shut it down gracefully (`Ctrl+c`) and re-run the above command.
|
||||||
|
|
||||||
This will build Nimbus and its dependencies, and connect you to the eth2 network.
|
This will build Nimbus and its dependencies, and connect your validator the eth2 network.
|
||||||
You should see that the beacon node has launched with your validator attached:
|
You should see that the beacon node has launched with your validator attached:
|
||||||
|
|
||||||
```
|
```
|
||||||
WRN 2020-08-03 16:24:17.950+02:00 Validator not in registry (yet?) topics="beacval" tid=11677993 file=validator_duties.nim:53 pubKey=a9c4df36
|
INF 2020-11-07 16:36:44.968+01:00 Generating a random Peer ID to protect your privacy topics="networking" tid=18434834 file=eth2_network.nim:1271 network_public_key=08021221024de664bd393499b1e852ea82c22068b95ffbf1b64dc40f31cafb5b0eac87c730
|
||||||
INF 2020-08-03 16:24:17.951+02:00 Local validator attached tid=11677993 file=validator_pool.nim:21 pubKey=a9c4df36 validator=a9c4df36
|
INF 2020-11-07 16:36:45.797+01:00 Block dag initialized topics="beacnde" tid=18434834 file=chain_dag.nim:423 head=ebe49843:0 finalizedHead=ebe49843:0 tail=ebe49843:0 totalBlocks=1
|
||||||
INF 2020-08-03 16:24:17.951+02:00 Local validators attached topics="beacval" tid=11677993 file=validator_duties.nim:61 count=1
|
INF 2020-11-07 16:36:47.248+01:00 Starting Eth1 deposit contract monitoring tid=18434834 file=eth1_monitor.nim:690 contract=0x07b39f4fde4a38bace212b546dac87c58dfe3fdc url=wss://goerli.infura.io/ws/v3/ae0e57122a1e49af8e835e82a5e35e60
|
||||||
INF 2020-08-03 16:24:17.958+02:00 Starting beacon node topics="beacnde" tid=11677993 file=beacon_node.nim:875 version="0.5.0 (31b33907)" nim="Nim Compiler Version 1.2.6 [MacOSX: amd64] (bf320ed1)" timeSinceFinalization=81350 head=ebe49843:0 finalizedHead=ebe49843:0 SLOTS_PER_EPOCH=32 SECONDS_PER_SLOT=12 SPEC_VERSION=0.12.2 dataDir=build/data/shared_medalla_0 pcs=start_beacon_node
|
INF 2020-11-07 16:36:47.248+01:00 Waiting for new Eth1 block headers tid=18434834 file=eth1_monitor.nim:303
|
||||||
|
INF 2020-11-07 16:36:48.940+01:00 Initializing networking topics="networking" tid=18434834 file=eth2_network.nim:1395 hostAddress=/ip4/0.0.0.0/tcp/9000 network_public_key=38131421024de776bd393503b1e852ea82c22068b95ffbf1b64dc40f31cafb5b0eac87d669 announcedAddresses=@[/ip4/192.175.15.54/tcp/9000]
|
||||||
|
INF 2020-11-07 16:36:49.084+01:00 Initializing fork choice from block database topics="beacnde" tid=18434834 file=attestation_pool.nim:55 unfinalized_blocks=0
|
||||||
|
INF 2020-11-07 16:36:49.085+01:00 Fork choice initialized topics="beacnde" tid=18434834 file=attestation_pool.nim:81 justified_epoch=0 finalized_epoch=0 finalized_root=ebe49843
|
||||||
|
NOT 2020-11-07 16:36:49.091+01:00 Local validators attached topics="beacval" tid=18434834 file=validator_duties.nim:65 count=0
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note:** when you run `make medalla`, the beacon node launches 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).
|
|
||||||
|
|
||||||
|
|
||||||
> **Tip:** to 🎨 on the [graffitwall](https://medalla.beaconcha.in/graffitiwall), pass the graffiti parameter like this:
|
|
||||||
>```
|
|
||||||
>make NODE_PARAMS="--graffiti='<YOUR_GRAFFITI>'" medalla
|
|
||||||
|
|
||||||
For a more complete list of the options available, see [here](./advanced.md).
|
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
# The Nimbus beacon chain book
|
# 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/)
|
>**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/)
|
||||||
>
|
>
|
||||||
>
|
>
|
||||||
|
|
||||||
The Nimbus beacon chain is a research implementation of the Beacon Chain – the core system level chain at the heart of Ethereum 2.0.
|
Nimbus is an Ethereum 2.0 client focused on offering the best user experience possible for resource-restricted devices.
|
||||||
|
|
||||||
This book strives to achieve two purposes:
|
This book explains all the ways in which you can use Nimbus to either monitor the eth2 chain or become a fully-fledged validator.
|
||||||
1. To attempt to provide a more or less complete **documentation of the Nimbus beacon chain**
|
|
||||||
|
|
||||||
2. To explain the various ways in which you can **use Nimbus to become a validator on eth2**
|
|
||||||
|
|
||||||
### Helpful resources
|
### Helpful resources
|
||||||
|
|
||||||
|
@ -22,15 +19,6 @@ This book strives to achieve two purposes:
|
||||||
- [Danny Ryan's annotated spec](https://notes.ethereum.org/@djrtwo/Bkn3zpwxB)
|
- [Danny Ryan's annotated spec](https://notes.ethereum.org/@djrtwo/Bkn3zpwxB)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The beacon chain is the brain underpinning eth2 -- the next generation of Ethereum. It contains all of the machinery behind eth2's consensus.
|
|
||||||
|
|
||||||
You can find a complete introduction to the beacon chain in our [Ethereum 2.0 blog series](https://our.status.im/two-point-oh-the-beacon-chain/).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Why eth2?
|
### Why eth2?
|
||||||
|
|
||||||
Eth2 is a multi-year plan to improve the scalability, security, and programmability of Ethereum, without compromising on decentralisation.
|
Eth2 is a multi-year plan to improve the scalability, security, and programmability of Ethereum, without compromising on decentralisation.
|
||||||
|
|
|
@ -58,6 +58,7 @@ The string of letters -- what we call the `sync worker map` (in the above case r
|
||||||
The number following it (in the above case represented by `7`) represents the number of workers that are currently active (i.e not sleeping or waiting for a peer).
|
The number following it (in the above case represented by `7`) represents the number of workers that are currently active (i.e not sleeping or waiting for a peer).
|
||||||
|
|
||||||
## eth2stats
|
## eth2stats
|
||||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Zinken eth2stats is up!<a href="https://t.co/3LsvmN3NXN">https://t.co/3LsvmN3NXN</a><br><br>One good pre-genesis check is to query your local node's API to see if you have peers (you should!)<br><br>If you hook up to eth2stats, you can easily monitor this metric from anywhere 👀</p>— dannyryan (@dannyryan) <a href="https://twitter.com/dannyryan/status/1314280942651858945?ref_src=twsrc%5Etfw">October 8, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
|
||||||
|
|
||||||
*Todo*
|
|
||||||
|
eth2stats is a network monitoring suite for your beacon node + validator client. One good pre-genesis check is to query your local node's API to see if you have peers. See our guide [here](./eth2-stats.md) for more.
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ This is particularly important if you are joining a network that's been running
|
||||||
To start syncing the `medalla` testnet , from the `nimbus-eth2` repository, run:
|
To start syncing the `medalla` testnet , from the `nimbus-eth2` repository, run:
|
||||||
|
|
||||||
```
|
```
|
||||||
make medalla
|
./run-medalla-beacon-node.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Mainnet
|
### Mainnet
|
||||||
|
@ -24,6 +24,7 @@ To start monitoring the eth1 mainnet chain for deposits, from the `nimbus-eth2`
|
||||||
./run-mainnet-beacon-node.sh
|
./run-mainnet-beacon-node.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Web3 provider URL
|
||||||
You should see the following prompt:
|
You should see the following prompt:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -47,5 +48,6 @@ Enter it, you should see the following output:
|
||||||
```
|
```
|
||||||
INF 2020-11-07 13:59:31.199+01:00 Generating a random Peer ID to protect your privacy topics="networking" tid=18382613 file=eth2_network.nim:1229 network_public_key=08021221020ee5c1cfbf731405d14f2f382bc4037fbbee2b6ac5511dd51f1d9e28abb1aa62
|
INF 2020-11-07 13:59:31.199+01:00 Generating a random Peer ID to protect your privacy topics="networking" tid=18382613 file=eth2_network.nim:1229 network_public_key=08021221020ee5c1cfbf731405d14f2f382bc4037fbbee2b6ac5511dd51f1d9e28abb1aa62
|
||||||
INF 2020-11-07 13:59:31.336+01:00 Starting Eth1 deposit contract monitoring tid=18382613 file=mainchain_monitor.nim:783 contract=0x1234567890123456789012345678901234567890 url=web3(ws://127.0.0.1:8546)
|
INF 2020-11-07 13:59:31.336+01:00 Starting Eth1 deposit contract monitoring tid=18382613 file=mainchain_monitor.nim:783 contract=0x1234567890123456789012345678901234567890 url=web3(ws://127.0.0.1:8546)
|
||||||
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue