Connecting from windows

Step 1: install & configure go:

The installation of go should proceed as shown in official golang installation guide . In order to run the node, minimum golang version should be 1.12.4.

Step 2: install git:

The installation of git should proceed as shown in official git installation guide . After git has been installed, a new bash command window will appear that has to be closed. The following steps should be carried in a new cmd window: start > run > cmd.

Step 3: clone the repository and build the binaries:

The main branch that will be used is the master branch. Alternatively, an older release tag can be used.

mkdir %GOPATH%\src\\ElrondNetwork
cd %GOPATH%\src\\ElrondNetwork
git clone
cd elrond-go
git checkout tags/v1.0.41
git pull
cd ..
git clone
cd elrond-config
git checkout tags/BoN-ph2-w2
git pull
copy /Y *.* ..\elrond-go\cmd\node\config
cd ..
cd elrond-go\cmd\node
go mod vendor
for /f %i in ('git describe --tags --long --dirty') do set VERS=%i
go build -i -v -ldflags="-X main.appVersion=%VERS%"

Step 4: creating the node’s identity:

In order to be registered in the Elrond Network, a node must possess 2 types of (secret key, public key) pairs. One is used to identify the node’s credential used to generate transactions (having the sender field its account address) and the other is used in the process of the block signing. Please note that this is a preliminary mechanism, in the next releases the first (private, public key) pair will be dropped when the staking mechanism will be fully implemented. To build and run the keygenerator, the following commands will need to be run:

cd ..
cd keygenerator
go build

Step 5: copying credentials and starting the node:

The previous generated .pem files needs to be copied in the same directory where the node binary resides in order to start the node.

copy /Y initialBalancesSk.pem ..\node\config\
copy /Y initialNodesSk.pem ..\node\config\
cd ..
cd node

The node binary has some flags defined (for a brief description, the user can use --help flag). Those flags can be used to directly alter the configuration values defined in .toml/.json files and can be used when launching more than one instance of the binary.