NodeCore Operations
See: Main_Page, HowTo_run_NodeCore, ReleaseNotes
Contents
Overview
This page explains operations for NodeCore. For more detail, see: HowTo_run_NodeCore
Requirements
Hardware
- At least 12GB of memory recommended
- 2 CPU Cores
- SSD drive (much disk activity on block files)
- 75GB free space (As of 8/30/2021, data directory is 41G)
- 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
Note that Java 15 and 16 are not currently supported.
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 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:
- Check for latest package release at https://explore.veriblock.org/api/stats/download
mkdir veriblock-0.4.12 cd veriblock-0.4.12 wget https://github.com/VeriBlock/nodecore-releases/releases/download/v0.4.12/veriblock-nodecore-all-0.4.12.tar.gz tar zxvf veriblock-nodecore-all-0.4.12.tar.gz cd nodecore-0.4.12/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
For best usage, Java 14 is recommended because it supports all NodeCore Suite applications. (The GUI Wallet needs Java 14)
Here is a direct link to Java 14 via AdoptOpenJDK:
After Java is installed:
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
Keep the data directory in a separate folder, such that you do not need to move any files each time you update.
1. Download new NC
2. Stop old NC (either with CTRL+C or stopnodecore from the NC_CLI)
3. Start new NC with -d parameter to specify the data directory. This is the directory that contains your "mainnet" folder. If mainnet folder is "C:\Users\My User\Desktop\VeriBlock\mainnet", then use "C:\Users\My User\Desktop\VeriBlock" for your data directory.
#Windows nodecore.bat -d "C:\Users\My User\Desktop\VeriBlock" #Linux ./nodecore -d /home/user/VeriBlock
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:
- Selecting console window and hitting ENTER could freeze it ("Quick Edit Mode") --> make sure not frozen: https://stackoverflow.com/questions/33883530/why-is-my-command-prompt-freezing-on-windows-10
- Depending on your settings, some flavors of Windows may stop processing programs (including NodeCore) if you lock your machine (!!). The programs then resume upon unlocking. This is a windows setting that affects all processes, including NodeCore.