This document will explain how to install, test, and run Nimbus on your local machine. To learn about what Nimbus is, see the intro post.
If you are on Windows, instead of using the commands below you can also use our pre-configured Vagrant box if you prefer to run things in a Linux environment.
We use Makefiles to quickly and easily build our binaries. Before you begin, please make sure you have RocksDB installed. On Windows, you can skip this step and instead rely on the “WINDOWS ONLY” part of the process below:
git clone https://github.com/status-im/nimbus
To run Nimbus in Ethereum 1.0 mode:
Nimbus will now run and attempt to synchronize with the Ethereum 1.0 blockchain. It can currently reach block 1.5 million.
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. This is a precursor to our testnet.
Enter the Ethereum 2.0 realm of Nimbus:
There, use this submodule’s Make commands. To run the simulation:
If you’d like to clean the previous run’s data:
make clean_eth2_network_simulation_files eth2_network_simulation
If you’d like to see the nodes running on separated sub-terminals inside one big window, install Multitail, then:
USE_MULTITAIL="yes" make eth2_network_simulation
You’ll get something like this (click for full size):
To change the number of validators and nodes:
VALIDATORS=512 NODES=50 make eth2_network_simulation
Find out more about the simulation here.
The state transition simulation measures how fast it can process the tasks in the beacon chain’s state transition.
Use the output of the help command to pass desired values to the sim - change number of validators, nodes, etc. to get different results.
We have a publicly available testnet running between Nimbus nodes. Read all about it and learn how you can join it here.
Congrats! You’re now running Nimbus for both the Ethereum 1.0 platform, and the coming Ethereum 2.0.