Latest updates happen in the
devel branch which is merged into
master every week on Tuesday before deploying a new testnets
The following sections explain how to setup your build environment on your platform.
Install Mingw-w64 for your architecture using the "MinGW-W64 Online
Installer" (first link
under the directory listing). Run it and select your architecture in the setup
i686 on 32-bit,
x86_64 on 64-bit), set the threads to
the exceptions to "dwarf" on 32-bit and "seh" on 64-bit. Change the
installation directory to "C:\mingw-w64" and add it to your system PATH in "My
Computer"/"This PC" -> Properties -> Advanced system settings -> Environment
Variables -> Path -> Edit -> New -> C:\mingw-w64\mingw64\bin (it's "C:\mingw-w64\mingw32\bin" on 32-bit)
Install Git for Windows and use a "Git Bash" shell to clone and build nim-beacon-chain.
If you don't want to compile PCRE separately, you can fetch pre-compiled DLLs with:
mingw32-make # this first invocation will update the Git submodules mingw32-make fetch-dlls # this will place the right DLLs for your architecture in the "build/" directory
If you were following the Windows testnet instructions, you can jump back to Connecting to testnets now
You can now follow those instructions in the previous section by replacing
mingw32-make (regardless of your 32-bit or 64-bit architecture):
mingw32-make test # run the test suite
After cloning the repo:
# Build beacon_node and all the tools, using 4 parallel Make jobs make -j4 # Run tests make test # Update to latest version git pull make update
To run a command that might use binaries from the Status Nim fork:
./env.sh bash # start a new interactive shell with the right env vars set which nim nim --version # Nimbus is tested and supported on 1.0.2 at the moment # or without starting a new interactive shell: ./env.sh which nim ./env.sh nim --version
We recommend you remove any cover or use a fan; the Raspberry Pi will get hot (85°C) and throttle.
- Raspberry PI 3b+ or Raspberry Pi 4b.
- 64gb SD Card (less might work too, but the default recommended 4-8GB will probably be too small)
- Raspbian Buster Lite - Lite version is enough to get going and will save some disk space!
Assuming you're working with a freshly written image:
# Start by increasing swap size to 2gb: sudo vi /etc/dphys-swapfile # Set CONF_SWAPSIZE=2048 # :wq sudo reboot # Install prerequisites sudo apt-get install git libgflags-dev libsnappy-dev libpcre3-dev # Then you can follow instructions for Linux.
- build all those tools known to the Makefile:
# $(nproc) corresponds to the number of cores you have make -j$(nproc)
- build a specific tool:
- you can control the Makefile's verbosity with the V variable (defaults to 0):
make V=1 # verbose make V=2 test # even more verbose
- same for the Chronicles log level:
make LOG_LEVEL=DEBUG bench_bls_sig_agggregation # this is the default make LOG_LEVEL=TRACE beacon_node # log everything
- pass arbitrary parameters to the Nim compiler:
- you can freely combine those variables on the
make -j$(nproc) NIMFLAGS="-d:release" USE_MULTITAIL=yes eth2_network_simulation
make USE_LIBBACKTRACE=0 # expect the resulting binaries to be 2-3 times slower