HowTo run NodeCore
- 1 Overview
- 2 Steps
- 3 FAQ
- 4 Troubleshooting
NodeCore is the service that runs the VBK blockchain. It is written in Java, and runs on Windows, Linux, and mac.
To see an operations guide for installing NodeCore, see: NodeCore_Operations
To see a quickstart to get NC running fast, see: NodeCore_QuickStart
To modify the nodecore.properties file, see: Nodecore.properties
Unzip the package:
|Windows||Mac and Linux|
|Unzip the nodecore-*.zip file In the bin folder, then run nodecore.bat||Unzip to your preferred directory, then run nodecore.
Note: On Linux & Mac systems, you may need to make the nodecore shell script executable by running the following command:
chmod a+x nodecore
When you first run NodeCore, it will create several other files in a new testnet folder (nodecore.properties, veriblock.nodecore.log, nodecore.dat, etc...), and load the existing blockchain.
NodeCore may take several minutes to load all the blocks in the blockchain. See the highest block at https://TestNet.Explore.Veriblock.org. This shows the number of blocks your local instance must load. NodeCore will create a cache file such that when you restart it they will load faster next time.
How can block times be negative?
A negative age indicates the miner's clock was ahead.
For more background, see: https://en.bitcoin.it/wiki/Block_timestamp
How to upgrade NodeCore and keep your wallet
As a mainnet, new versions of NodeCore will be released. Upgrading is relatively fast.
If you do NOT have a previous wallet/address/balance, then this is easy, just download and run the new NodeCore.
If you do have a wallet/address/balance that you want to carry over, this is still easy, just make sure you do the following:
- Make sure you have a backup of your wallet! You could copy the mainnet folder, or use the NodeCore_CommandLine#importwallet command from the NC_CLI.
- Unzip NodeCore to a new folder location - do not overwrite your previous version
- In the new version:
- Create a mainnet folder (probably in "nodecore-0.X.X\bin")
- Copy in your previous wallet.dat and walletconfig.dat files into "nodecore-0.X.X\bin\mainnet".
- When you run NC_CLI getinfo on the new version, you should see your previous wallet and balance
How to upgrade NodeCore PoW and keep your Bitcoin testnet wallet
When upgrading your PoP miner, you can copy the file "bitcoin-pop-testnet.wallet" from the bin folder of your current PoP miner directory to the bin folder of your new PoP miner.
How to specify a data directory for NodeCore
NodeCore can take a data directory ~d as part of the startup.
Example for Linux:
cd /<myDir>/nodecore-0.1.7/bin ./nodecore -d ~/data/ > /dev/null 2>&1 &
- nodecore.properties will be in ~/data/nodecore.properties
- /testnet folder will be in ~/data/testnet
Example for Windows
cd <myDir>\nodecore-0.2.1-r2\bin nodecore.bat -d C:\data # nodecore.properties will be in C:\data\nodecore.properties # /testnet folder will be in C:\data\testnet
How to send from a specific address?
As of NodeCore 0.3.11, the Send command now takes a from address: NodeCore_CommandLine#send
How to set NodeCore log level
Currently NodeCore log level can be set through the NODECORE_LOG_LEVEL process environmental variable. Once set, NodeCore needs to be restarted.
The default is "INFO", which can create very large log files.
This impacts the "veriblock.nodecore.*.log" (which is the biggest log file). It does not affect the other, much smaller, log files.
This is an example of setting it in Windows, and then starting NodeCore:
set NODECORE_LOG_LEVEL=WARN echo %NODECORE_LOG_LEVEL% nodecore.bat
Run in same session, such as a screen:
export NODECORE_LOG_LEVEL=WARN echo %NODECORE_LOG_LEVEL% ./nodecore
NodeCore is stuck on a block
Ideally this should not happen, but if it does first try restarting NodeCore.
It is possible that you only have a 32-bit version of Java installed. 64-bit is highly recommended.
Modify the start file (nodecore.bat for windows, nodecore for linux) to increase the memory limit. Pass in a value, such as "1024 MB" into the DEFAULT_JVM_OPTS variable:
NodeCore keeps turning off with "Application exit"
If messages like:
INFO [main] n.Program [Program.java:133] Application exit
Then something external is shutting off NodeCore (such as a server restart, external process kill, or something else).
Having trouble on a mac
On a Mac, you need to install the JDK (Java Development Kit) instead of just the JRE: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html