Difference between revisions of "NodeCore Operations"

From Veriblock Wiki
Jump to: navigation, search
Line 126: Line 126:
 
See: [[NodeCore_QuickStart]]
 
See: [[NodeCore_QuickStart]]
  
=== Update NodeCore ===
+
===Update NodeCore==
  
To make it easy to update NodeCore we recommend that you store your data directory separate from the default installation.
+
Keep the data directory in a separate folder, such that you do not need to move any files each time you update.
The default data directory for NodeCore is '''nodecore-<version>/bin/'''
 
  
Using the startup flags you can specify a different disk location for this directory.
+
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.
  
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'''
+
<pre>
 
+
#Windows
Additionally you can use the '''-c''' flag to specify the path to your '''nodecore.properties''' if it is located outside of your data directory.
+
nodecore.bat -d "C:\Users\My User\Desktop\VeriBlock"
 
+
#Linux
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.
+
./nodecore -d /home/user/VeriBlock
 +
</pre>
  
 
== Operational stats ==
 
== Operational stats ==

Revision as of 21:05, 12 November 2020

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

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: