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.
To run Nimbus in Ethereum 1.0 mode:
git clone https://github.com/status-im/nimbus
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.
Prerequisites: Golang 1.12+, because we need it to build the Go libp2p daemon for node communication. You also need
git-lfs installed to run tests - on Windows that’s a command documented below, on other operating systems it can be installed using your system’s package manager (e.g.
sudo apt-get install git-lfs).
Enter the Ethereum 2.0 realm of Nimbus:
git clone https://github.com/status-im/nim-beacon-chain
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. There is also a cutting edge testnet 1 that’s basically a testing ground for testnet 0.
Congrats! You’re now running Nimbus for both the Ethereum 1.0 platform, and the coming Ethereum 2.0.