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 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:
- 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.