ETN-SC Hardware requirements

The hardware requirements for running an ETN-SC node depend upon the node configuration and can change over time as upgrades to the network are implemented. Electroneum nodes can be run on low power, resource-constrained devices such as Raspberry Pi’s. However, many users will choose to run nodes on laptop or desktop computers.

Processor

It is preferable to use a quad-core (or dual-core hyperthreaded) CPU. Etn-sc supports a wide range of architectures.

Memory

It is recommended to use at least 16GB RAM.

Disk space

Disk space is usually the primary bottleneck for node operators. At the time of writing (March 2024), Electroneum Smartchain is in its infancy, a 200GB SSD is recommended for a full node running ETN-SC. Archive nodes require additional space. We recommend at least 500GB SSD for a “full” archive node that keeps all state back to genesis. Partial archive nodes can also be created by turning off the garbage collector after some initial sync - the storage requirement depends how much state is saved.

As well as storage capacity, ETN-SC nodes rely on fast read and write operations. This means HDDs and cheaper SSDs can sometimes struggle to sync the blockchain. A list of SSD models that users report being able and unable to sync ETN-SC is available in this GitHub Gist. Please note that the list has not been verified by the Electroneum team.

Bandwidth

It is important to have a stable and reliable internet connection, especially for running a validator, because downtime can result in missed rewards or penalties. It is recommended to have at least 25Mbps download speed to run a node. Running a node also requires a lot of data to be uploaded and downloaded so it is better to use an ISP that does not have a capped data allowance.

Instaling ETN-SC

There are several ways to install Etn-sc, including via a package manager, downloading a pre-built bundle, running as a docker container or building from downloaded source code. On this page the various installation options are explained for several major operating systems. Users prioritising ease of installation should choose to use a package manager or prebuilt bundle. Users prioritising customisation should build from source. It is important to run the latest version of Etn-sc because each release includes bug fixes and improvements over the previous versions. The stable releases are recommended for most users because they have been fully tested. A list of stable releases can be found here. Instructions for updating existing Etn-sc installations are also provided in each section.

Package managers

Not yet available in package managers.

Standalone bundle

Stable releases and development builds are provided as standalone bundles. These are useful for users who: a) wish to install a specific version of Etn-sc (e.g., for reproducible environments); b) wish to install on machines without internet access (e.g. air-gapped computers); or c) wish to avoid automatic updates and instead prefer to manually install software.

The following standalone bundles are available:

  • 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (.tar.gz) on Linux

  • 64bit archives (.tar.gz) on macOS

  • 32bit and 64bit archives (.zip) and installers (.exe) on Windows

Some archives contain only Etn-sc, while other archives containing Etn-sc and the various developer tools (clef, devp2p, abigen, bootnode, evm and rlpdump). More information about these executables is available at the README.

The standalone bundles can be downloaded from the Etn-sc Releases page. To update an existing installation, download and manually install the latest version.

Docker container

Not yet available in Docker Hub.

Build from source code

Linux and Mac

The electroneum-sc repository should be cloned locally. Then, the command make etn-sc configures everything for a temporary build and cleans up afterwards. This method of building only works on UNIX-like operating systems, and a Go installation is still required.

Copy

git clone https://github.com/electroneum/electroneum-sc.git
cd electroneum-sc
make etn-sc

These commands create a Etn-sc executable file in the electroneum-sc/build/bin folder that can be moved and run from another directory if required. The binary is standalone and doesn’t require any additional files.

To update an existing Etn-sc installation simply stop the node, navigate to the project root directory and pull the latest version from the Etn-sc GitHub repository. Then rebuild and restart the node.

Copy

cd electroneum-sc
git pull
make etn-sc

Windows

The Chocolatey package manager provides an easy way to install the required build tools. Chocolatey can be installed by following these instructions. Then, to install the build tool the following commands can be run in an Administrator command prompt:

Copy

C:\Windows\system32> choco install git
C:\Windows\system32> choco install golang
C:\Windows\system32> choco install mingw

Installing these packages sets up the path environment variables. To get the new path a new command prompt must be opened. To install Etn-sc, a Go workspace directory must first be created, then the Etn-sc source code can be created and built.

Copy

C:\Users\xxx> mkdir src\github.com\electroneum
C:\Users\xxx> git clone https://github.com/electroneum/electroneum-sc src\github.com\electroneum\electroneum-sc
C:\Users\xxx> cd src\github.com\electroneum\electroneum-sc
C:\Users\xxx\src\github.com\electroneum\electroneum-sc> go get -u -v golang.org/x/net/context
C:\Users\xxx\src\github.com\electroneum\electroneum-sc> go install -v ./cmd/...

FreeBSD

To build Etn-sc from source code on FreeBSD, the Etn-sc GitHub repository can be cloned into a local directory.

Copy

git clone https://github.com/electroneum/electroneum-sc

Then, the Go compiler can be used to build Etn-sc:

Copy

pkg install go

If the Go version currently installed is >= 1.5, Etn-sc can be built using the following command:

Copy

cd electroneum-sc
make etn-sc

If the installed Go version is < 1.5 (quarterly packages, for example), the following command can be used instead:

Copy

cd electroneum-sc
CC=clang make etn-sc

To start the node, the following command can be run:

Copy

build/bin/etn-sc

Additionally all the developer tools provided with Etn-sc (clef, devp2p, abigen, bootnode, evm and rlpdump) can be compiled by running make all. More information about these tools can be found here.

To build a stable release, e.g. v5.0.0, the command git checkout v5.0.0 retrieves that specific version. Executing that command before running make etn-sc switches Etn-sc to a stable branch.