NodeCore Operations

From Veriblock Wiki
Jump to: navigation, search

See: Main_Page, HowTo_run_NodeCore, ReleaseNotes

Overview

This page explains operations for NodeCore. For more detail, see: HowTo_run_NodeCore

Requirements

Hardware

  • At least 4GB of memory
  • 2 CPU Cores
  • SSD drive (much disk activity on nodecore.dat file)
  • 50GB data drive (10GB/month of nodecore)
  • OS = Windows, Linux, Mac

For best peering performance, ensure that ports 7500-7501 are open to the internet.

If running a pool, ensure that 8500 and 8501 are open to any machines you want to mine with (if running a public pool, ensure 8500 and 8501 are open to the internet).

Software

Starting with v0.4.6 VeriBlock officially supports OpenJDK 8 - 14 on Ubuntu, CentOS, Windows 10, and Mac OS X with backwards compatibility for Oracle Java

CentOS - OpenJDK 8

If you experience an error running NodeCore on CentOS:

VERIBLOCK CANNOT FUNCTION WITHOUT THE SECP256K1 ELLIPTICAL CURVE

...you can resolve the issue by using the Zulu build of OpenJDK 11 per the following instructions:

https://www.linuxuprising.com/2019/04/install-latest-openjdk-12-11-or-8-in.html

How to Install

Linux

#install Java on Ubuntu:
sudo apt-get install default-jre

For best peering results, allow incoming connections to port 7500/7501. If running a public pool, allow incoming connections to port 8500/8501. If you want to connect remote CLIs or PoP miners, you will have to allow incoming connections on port 10500/10501 from the machines you plan to connect from

#start nodecore
cd <NC_Directory>/nodecore-<version>/bin

#run NC (could run multiple ways, such as in a screen)
cd <NC_Directory>/nodecore-<version>/bin
screen -S nodecore './nodecore'

Sample linux script:

mkdir veriblock-0.4.8
cd veriblock-0.4.8
wget https://github.com/VeriBlock/nodecore-releases/releases/download/v0.4.8/veriblock-nodecore-all-0.4.8.tar.gz
tar zxvf veriblock-nodecore-all-0.4.8.tar.gz
cd nodecore-0.4.8/bin
./nodecore

NOTE: If you wish to limit the amount of memory that NodeCore uses to a smaller number, change the -Xmx6G option in bin/nodecore to -Xmx4G (for 4G)

Windows

cd /<NC_Directory>/nodecore-<version>/bin
nodecore.bat

NOTE: If you wish to limit the amount of memory that NodeCore uses to a smaller number, change the -Xmx6G option in bin/nodecore.bat to -Xmx4G (for 4G)

How to run

Start

NOTE: Starting with version 0.4.6, you can run ./nodecore -d USER to store the data in ~/VeriBlock to make future upgrades easier, or specify your own datadir with ./nodecore -d /path/to/datadir

Run the startup command (either nodecore for linux, or nodecore.bat for windows)

To run NodeCore in a loop:

Linux

while true
do
    ./nodecore
    read -t 30
    echo Restarting NodeCore...
done

Windows:

:execute
call nodecore.bat

timeout /t 30 > NUL
echo Restarting NodeCore...
goto execute

Stop

Best option is to connect to NodeCore with the NC_CLI run "stopnodecore" (see: NodeCore_CommandLine#stopnodecore), and wait 10-30 seconds for NodeCore to gracefully shut down.

One can also use CTRL+C for graceful shutdown.

Options

Can pass in a data directory: -d ~/data

Install NodeCore

See: NodeCore_QuickStart

Update NodeCore

To make it easy to update NodeCore we recommend that you store your data directory separate from the default installation. The default data directory for NodeCore is nodecore-<version>/bin/

Using the startup flags you can specify a different disk location for this directory.

If you create /home/user/VeriBlock you can then copy your mainnet or testnet folder into that location along with your nodecore.properties and then when you wish to update, you simply stop your existing NodeCore instance, and re-start the new one with ./nodecore -d /home/user/VeriBlock

Additionally you can use the -c flag to specify the path to your nodecore.properties if it is located outside of your data directory.

On Windows, you will likely have spaces in your directory name so you can start with nodecore.bat -d "C:\Users\My User\Desktop\VeriBlock" with the path encased in quotes.

Operational stats

  • Full resync --> varies greatly based on network
  • Restart --> less than 2 minutes (constant)
  • nodecore.dat file --> 10GB / month
  • Memory usage --> less than 4GB (can increase by setting xmx, and Java will take max amount allowed). Allow higher memory when running an application node, such as for a pool.

Random

Make sure antivirus and firewall are not blocking NodeCore

  • NC uses a large nodecore.dat file --> want to exclude this file from anti-virus monitoring
  • NC has much network activity (ports 10500, 7500, 8501) --> If networking issues then troubleshoot firewall

Windows: