Difference between revisions of "NodeCore Operations"

From VeriBlock Wiki
Jump to: navigation, search
(Software)
 
Line 22: Line 22:
 
=== Software ===
 
=== Software ===
  
NodeCore has a beta for OpenJDK, see: [[NodeCore_OpenJDK]]
+
Starting with v0.4.6 VeriBlock officially supports OpenJDK 8 on Ubuntu, CentOS, Windows 10, and Mac OS X with backwards compatibility for Oracle Java 8
  
The official release uses Oracle Java 1.8:
+
==== CentOS - OpenJDK 8 ====
  
* Oracle Java 8u181 from the above guide
+
If you experience an error running NodeCore on CentOS:
** 64-bit
 
** http://tipsonubuntu.com/2016/07/31/install-oracle-java-8-9-ubuntu-16-04-linux-mint-18/
 
  
==== What if I have the wrong version of Java? ====
+
<pre>
 +
VERIBLOCK CANNOT FUNCTION WITHOUT THE SECP256K1 ELLIPTICAL CURVE
 +
</pre>
 +
 
 +
...you can resolve the issue by using the Zulu build of OpenJDK 11 per the following instructions:
  
Either run on a machine that has Oracle Java 8, or uninstall and re-install Oracle Java 8.
+
https://www.linuxuprising.com/2019/04/install-latest-openjdk-12-11-or-8-in.html
  
 
== How to Install ==
 
== How to Install ==
Line 39: Line 41:
  
 
<pre>
 
<pre>
#install Java:
+
#install Java on Ubuntu:
sudo apt-get update
+
sudo apt-get install default-jre
sudo apt-get install software-properties-common
 
sudo add-apt-repository ppa:webupd8team/java
 
sudo apt-get update
 
sudo apt-get install oracle-java8-installer -y
 
sudo apt-get install oracle-java8-set-default -y
 
 
</pre>
 
</pre>
  
Line 55: Line 52:
 
#start nodecore
 
#start nodecore
 
cd <NC_Directory>/nodecore-<version>/bin
 
cd <NC_Directory>/nodecore-<version>/bin
chmod a+x nodecore
 
  
 
#run NC (could run multiple ways, such as in a screen)
 
#run NC (could run multiple ways, such as in a screen)
Line 65: Line 61:
  
 
<pre>
 
<pre>
wget http://mirror1.veriblock.org/nodecore-0.2.15-rc.2.tar
+
mkdir veriblock-0.4.6
tar xvf nodecore-0.2.15-rc.2.tar
+
cd veriblock-0.4.6
cd nodecore-0.2.15-rc.2/bin
+
wget https://mirror2.veriblock.org/veriblock-nodecore-all-0.4.6.tar.gz
mkdir testnet
+
tar zxvf veriblock-nodecore-all-0.4.6.tar.gz
cd testnet
+
cd nodecore-0.4.6/bin
wget http://mirror1.veriblock.org/nodecore-108000.zip
+
mkdir mainnet
unzip nodecore-108000.zip
+
cd mainnet
 +
wget https://mirror.veriblock.org/nodecore-bootstrap-433000.tar.gz
 +
tar zxvf nodecore-bootstrap-433000.tar.gz
 
cd ..
 
cd ..
 
./nodecore
 
./nodecore
Line 90: Line 88:
  
 
=== Start ===
 
=== 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)
 
Run the startup command (either nodecore for linux, or nodecore.bat for windows)

Latest revision as of 14:09, 12 September 2019

See: Main_Page, HowTo_run_NodeCore

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 on Ubuntu, CentOS, Windows 10, and Mac OS X with backwards compatibility for Oracle Java 8

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.6
cd veriblock-0.4.6
wget https://mirror2.veriblock.org/veriblock-nodecore-all-0.4.6.tar.gz
tar zxvf veriblock-nodecore-all-0.4.6.tar.gz
cd nodecore-0.4.6/bin
mkdir mainnet
cd mainnet
wget https://mirror.veriblock.org/nodecore-bootstrap-433000.tar.gz
tar zxvf nodecore-bootstrap-433000.tar.gz
cd ..
./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

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: