Remove technical material from eth2 section + minor edits (#97)
This commit is contained in:
parent
6cfbfec786
commit
7c5e6c63b1
|
@ -37,10 +37,6 @@ make update
|
||||||
|
|
||||||
If you have research ideas you'd like to throw at us, exotic hardware you'd like to test on, or anything else revolutionary cooking up in your mind let us know. We'll gladly experiment!
|
If you have research ideas you'd like to throw at us, exotic hardware you'd like to test on, or anything else revolutionary cooking up in your mind let us know. We'll gladly experiment!
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
You can join a testnet by following instructions [here](https://status-im.github.io/nimbus-eth2/).
|
|
||||||
|
|
||||||
## Guidelines
|
## Guidelines
|
||||||
|
|
||||||
Whatever you might expect to see in other projects applies here:
|
Whatever you might expect to see in other projects applies here:
|
||||||
|
|
|
@ -3,7 +3,9 @@ id: eth1
|
||||||
title: Connecting to the eth1 chain
|
title: Connecting to the eth1 chain
|
||||||
---
|
---
|
||||||
|
|
||||||
While our core focus right now is Ethereum 2.0, We are continuing to make progress on an Ethereum 1.0 client (take note, this software is very much experimental).
|
While our core focus so far has been Ethereum 2.0, going forward we will be devoting significantly more resources to our Ethereum 1.0 client. As it stands, however, this software is very much experimental.
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
To run Nimbus in [Ethereum 1.0 mode](https://github.com/status-im/nimbus-eth1), first [install the prerequisites](https://github.com/status-im/nimbus-eth1#prerequisites).
|
To run Nimbus in [Ethereum 1.0 mode](https://github.com/status-im/nimbus-eth1), first [install the prerequisites](https://github.com/status-im/nimbus-eth1#prerequisites).
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
---
|
||||||
|
id: eth2
|
||||||
|
title: Connecting to the eth2 chain
|
||||||
|
---
|
||||||
|
|
||||||
|
Depending on your objective, there are various ways to run Nimbus in [Ethereum 2.0 mode](https://github.com/status-im/nimbus-eth2).
|
||||||
|
|
||||||
|
Here is where we push our code: https://github.com/status-im/nimbus-eth2
|
||||||
|
|
||||||
|
The reference documentation is [the Nimbus Book](https://nimbus.guide): it explains all the ways in which you can play with Nimbus, and use Nimbus to either monitor the eth2 chain or become a fully-fledged validator.
|
||||||
|
|
||||||
|
It's hosted here: https://nimbus.guide
|
||||||
|
|
||||||
|
## Build and run the Ethereum 2.0 local beacon chain simulation
|
||||||
|
|
||||||
|
The beacon chain simulation runs several beacon nodes on the local machine, attaches several local validators to each, and builds a beacon chain between them.
|
||||||
|
|
||||||
|
**Prerequisites:** At the moment, Nimbus has to be built from source, and has the following external dependencies -- developer tools (C compiler, Make, Bash, Git), [PCRE](https://www.pcre.org/); follow the instructions outlined [here](https://github.com/status-im/nim-beacon-chain#prerequisites-for-everyone) to install them.
|
||||||
|
|
||||||
|
Once you've installed the prerequisites, you're ready to enter the Ethereum 2.0 realm of Nimbus:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/status-im/nim-beacon-chain
|
||||||
|
cd nim-beacon-chain
|
||||||
|
|
||||||
|
make
|
||||||
|
make test
|
||||||
|
```
|
||||||
|
|
||||||
|
To run the simulation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make eth2_network_simulation
|
||||||
|
```
|
||||||
|
|
||||||
|
If you'd like to clean the previous run's data:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make clean_eth2_network_simulation_all
|
||||||
|
```
|
||||||
|
|
||||||
|
To change the number of validators and nodes:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clear data files from your last run and start the simulation with a new genesis block:
|
||||||
|
make VALIDATORS=192 NODES=6 USER_NODES=1 eth2_network_simulation
|
||||||
|
```
|
||||||
|
|
||||||
|
If you’d like to see the nodes running on separated sub-terminals inside one big window, install [Multitail](https://www.vanheusden.com/multitail/index.php) (if you're on a Mac, follow the instructions [here](https://brewinstall.org/Install-multitail-on-Mac-with-Brew/)), then:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
USE_MULTITAIL="yes" make eth2_network_simulation
|
||||||
|
```
|
||||||
|
|
||||||
|
You’ll get something like this (click for full size):
|
||||||
|
|
||||||
|
[![](https://i.imgur.com/Pc99VDO.png)](https://i.imgur.com/Pc99VDO.png)
|
||||||
|
|
||||||
|
|
||||||
|
You can find out more about the beacon node simulation [here](https://our.status.im/nimbus-development-update-03/#beaconsimulation).
|
||||||
|
|
||||||
|
## Build and run the Ethereum 2.0 local state transition simulation
|
||||||
|
|
||||||
|
This simulation is primarily designed for researchers, but we'll cover it briefly here in case you're curious :)
|
||||||
|
|
||||||
|
The [state transition](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#beacon-chain-state-transition-function) simulation quickly runs the beacon chain state transition function in isolation and outputs JSON snapshots of the state (directly to the `nim-beacon-chain` directory). It runs without networking and blocks are processed without slot time delays.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# build the state simulator, then display its help ("-d:release" speeds it
|
||||||
|
# up substantially, allowing the simulation of longer runs in reasonable time)
|
||||||
|
make NIMFLAGS="-d:release" state_sim
|
||||||
|
build/state_sim --help
|
||||||
|
```
|
||||||
|
|
||||||
|
Use the output of the `help` command to pass desired values to the simulator - experiment with changing the number of slots, validators, , etc. to get different results.
|
||||||
|
|
||||||
|
The most important options are:
|
||||||
|
|
||||||
|
- `slots` : the number of slots to run the simulation for (default 192)
|
||||||
|
- `validators`: the number of validators (default 6400)
|
||||||
|
- `attesterRatio`: the expected fraction of attesters that actually do their work for every slot (default 0.73)
|
||||||
|
- `json_interval`: how often JSON snapshots of the state are outputted (default every 32 slots -- or once per epoch)
|
||||||
|
|
||||||
|
For example, to run the state simulator for 384 slots, with 20,000 validators, and an average of 66% of attesters doing their work every slot, while outputting snapshots of the state twice per epoch, run:
|
||||||
|
|
||||||
|
```
|
||||||
|
build/state_sim --slots=384 --validators=20000 --attesterRatio=0.66 --json_interval=16
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Medalla Ethereum 2.0 Testnet
|
||||||
|
|
||||||
|
There is a publicly available [Ethereum 2.0](https://our.status.im/tag/two-point-oh) multi-client testnet currently running. Read all about it [here](https://blog.ethereum.org/2020/08/03/eth2-quick-update-no-14/), and learn how you can join it in [the Nimbus beacon chain book](https://status-im.github.io/nimbus-eth2/medalla.html) 💛
|
||||||
|
|
|
@ -5,91 +5,8 @@ title: Connecting to the eth2 chain
|
||||||
|
|
||||||
Depending on your objective, there are various ways to run Nimbus in [Ethereum 2.0 mode](https://github.com/status-im/nimbus-eth2).
|
Depending on your objective, there are various ways to run Nimbus in [Ethereum 2.0 mode](https://github.com/status-im/nimbus-eth2).
|
||||||
|
|
||||||
## Become an eth2 validator
|
The reference documentation is [the Nimbus Book](https://nimbus.guide): it explains all the ways in which you can play with Nimbus, and use Nimbus to either monitor the eth2 chain or become a fully-fledged validator.
|
||||||
|
|
||||||
We're writing a book that explains all the ways in which you can use Nimbus to either monitor the eth2 chain or become a fully-fledged validator.
|
We encourage you to check it out here: https://nimbus.guide
|
||||||
|
|
||||||
It's hosted here: https://status-im.github.io/nimbus-eth2/
|
|
||||||
|
|
||||||
## Build and run the Ethereum 2.0 local beacon chain simulation
|
|
||||||
|
|
||||||
The beacon chain simulation runs several beacon nodes on the local machine, attaches several local validators to each, and builds a beacon chain between them.
|
|
||||||
|
|
||||||
**Prerequisites:** At the moment, Nimbus has to be built from source, and has the following external dependencies -- developer tools (C compiler, Make, Bash, Git), [PCRE](https://www.pcre.org/); follow the instructions outlined [here](https://github.com/status-im/nim-beacon-chain#prerequisites-for-everyone) to install them.
|
|
||||||
|
|
||||||
Once you've installed the prerequisites, you're ready to enter the Ethereum 2.0 realm of Nimbus:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/status-im/nim-beacon-chain
|
|
||||||
cd nim-beacon-chain
|
|
||||||
|
|
||||||
make
|
|
||||||
make test
|
|
||||||
```
|
|
||||||
|
|
||||||
To run the simulation:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make eth2_network_simulation
|
|
||||||
```
|
|
||||||
|
|
||||||
If you'd like to clean the previous run's data:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make clean_eth2_network_simulation_all
|
|
||||||
```
|
|
||||||
|
|
||||||
To change the number of validators and nodes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Clear data files from your last run and start the simulation with a new genesis block:
|
|
||||||
make VALIDATORS=192 NODES=6 USER_NODES=1 eth2_network_simulation
|
|
||||||
```
|
|
||||||
|
|
||||||
If you’d like to see the nodes running on separated sub-terminals inside one big window, install [Multitail](https://www.vanheusden.com/multitail/index.php) (if you're on a Mac, follow the instructions [here](https://brewinstall.org/Install-multitail-on-Mac-with-Brew/)), then:
|
|
||||||
|
|
||||||
|
|
||||||
```
|
|
||||||
USE_MULTITAIL="yes" make eth2_network_simulation
|
|
||||||
```
|
|
||||||
|
|
||||||
You’ll get something like this (click for full size):
|
|
||||||
|
|
||||||
[![](https://i.imgur.com/Pc99VDO.png)](https://i.imgur.com/Pc99VDO.png)
|
|
||||||
|
|
||||||
|
|
||||||
You can find out more about the beacon node simulation [here](https://our.status.im/nimbus-development-update-03/#beaconsimulation).
|
|
||||||
|
|
||||||
## Build and run the Ethereum 2.0 local state transition simulation
|
|
||||||
|
|
||||||
This simulation is primarily designed for researchers, but we'll cover it briefly here in case you're curious :)
|
|
||||||
|
|
||||||
The [state transition](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#beacon-chain-state-transition-function) simulation quickly runs the beacon chain state transition function in isolation and outputs JSON snapshots of the state (directly to the `nim-beacon-chain` directory). It runs without networking and blocks are processed without slot time delays.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# build the state simulator, then display its help ("-d:release" speeds it
|
|
||||||
# up substantially, allowing the simulation of longer runs in reasonable time)
|
|
||||||
make NIMFLAGS="-d:release" state_sim
|
|
||||||
build/state_sim --help
|
|
||||||
```
|
|
||||||
|
|
||||||
Use the output of the `help` command to pass desired values to the simulator - experiment with changing the number of slots, validators, , etc. to get different results.
|
|
||||||
|
|
||||||
The most important options are:
|
|
||||||
|
|
||||||
- `slots` : the number of slots to run the simulation for (default 192)
|
|
||||||
- `validators`: the number of validators (default 6400)
|
|
||||||
- `attesterRatio`: the expected fraction of attesters that actually do their work for every slot (default 0.73)
|
|
||||||
- `json_interval`: how often JSON snapshots of the state are outputted (default every 32 slots -- or once per epoch)
|
|
||||||
|
|
||||||
For example, to run the state simulator for 384 slots, with 20,000 validators, and an average of 66% of attesters doing their work every slot, while outputting snapshots of the state twice per epoch, run:
|
|
||||||
|
|
||||||
```
|
|
||||||
build/state_sim --slots=384 --validators=20000 --attesterRatio=0.66 --json_interval=16
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Medalla Ethereum 2.0 Testnet
|
|
||||||
|
|
||||||
There is a publicly available [Ethereum 2.0](https://our.status.im/tag/two-point-oh) multi-client testnet currently running. Read all about it [here](https://blog.ethereum.org/2020/08/03/eth2-quick-update-no-14/), and learn how you can join it in [the Nimbus beacon chain book](https://status-im.github.io/nimbus-eth2/medalla.html) 💛
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue