nimbus-site/source/docs/building.md

2.7 KiB

id title
building Getting Started with Nimbus

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.

Building and Running Nimbus

To run Nimbus in Ethereum 1.0 mode:

git clone https://github.com/status-im/nimbus
cd nimbus
make update

# >>> WINDOWS ONLY <<<
make fetch-dlls # WINDOWS ONLY
# >>> WINDOWS ONLY <<<

make nimbus
./build/nimbus

Nimbus will now run and attempt to synchronize with the Ethereum 1.0 blockchain. It can currently reach block 1.5 million.

Building and Running 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. This is a precursor to our testnet.

Enter the Ethereum 2.0 realm of Nimbus:

git clone https://github.com/status-im/nim-beacon-chain
cd nim-beacon-chain
make update

# >>> WINDOWS ONLY <<<
make fetch-dlls # WINDOWS ONLY
# >>> WINDOWS ONLY <<<

make
make test

To run the simulation:

make eth2_network_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.

Building and Running the Ethereum 2.0 local state transition simulation

The state transition simulation measures how fast it can process the tasks in the beacon chain's state transition.

cd research
nim c -d:release -r state_sim --help

Use the output of the help command to pass desired values to the sim - change number of validators, nodes, etc. to get different results.

Nimbus Ethereum 2.0 Testnet

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.