Skip to content

Ergo Full Node Manual Installation#

This document provides a systematic process for the manual installation of an Ergo full node on a server. For desktop installation, the Satergo platform is recommended.


The node uses Java so should work across all operating systems. You can even run on a Raspberri Pi. The only hardware requirement is ~20GB of space to store the chain and ~8GB of RAM for handling the sync.

1. Initial Setup#

1.1 Download the Ergo Client#

Initiate the process by establishing a designated folder (e.g., ~/ergo) for the node operation and download the latest Ergo client release .jar file. Alternatively, clone the Ergo repository and compile the .jar file from the source using SBT (sbt assembly command), or via Docker.

1.2 Create a configuration file#

Subsequently, create an ergo.conf configuration file in the same directory as the .jar file, containing the following:

ergo {
    node {
        mining = false
    }
}

Launch the node with the command:

java -jar -Xmx4G ergo-*.jar --mainnet -c ergo.conf

See this page for getting setup with java.

  • The -Xmx4G flag determines the JVM's max heap size; recommended setting is 4-6G based on available memory.
  • During the initial syncing process, allocate more memory using -Xmx4g. Upon completion of the syncing process, reduce this to -Xmx1g.

Following the execution of this command, the node will commence syncing. Wait for the API initialization before proceeding to the subsequent step.

Note: The filename ergo.conf can be modified as desired. This file is a repository for all configuration parameters, and only parameters differing from the default values need to be overwritten.


2. API Security#

2.1 Generate Secret Password#

To secure the API, set a unique and robust secret password (avoid using the demonstration secret hello).

2.2 Compute Secret's Hash#

Use the API at 127.0.0.1:9053/swagger#/utils/hashBlake2b to compute your secret's Blake2b hash.

Note: Ensure the .jar file is actively running to access the API at 127.0.0.1, which denotes your local machine.

Compute Hash of secret

2.3 Update Configuration File#

After obtaining the hash response, input it into the ergo.conf file. For instance, the Blake2b hash of hello is 324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf.

response

Update the configuration file with the API key hash:

ergo {
  node {
    mining = false
  }
}

scorex {
 restApi {
    apiKeyHash = "324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf"
  }
}

Restart the node to initiate syncing and enable API access.


3. Node Synchronization Verification#

During synchronization, the panel displays "Active synchronization".

active synchronization

Upon completion of synchronization, the panel updates to "Node is synced".

synced

Additional verification can be performed at 127.0.0.1:9053/info by comparing the block height to the latest block height at explorer.ergoplatform.com.


4. Shutdown Procedure#

To safely terminate the node, use the following command:

curl -X POST "http://127.0.0.1:9053/node/shutdown" -H "api_key: hello"

Monitor for potential issues using this command in a new terminal:

tail -Fn+0 ergo.log | grep 'ERROR\|WARN'

Following Steps: Proceed with initialising your wallet.


5. Resources#