NodeCore File Structure

From VeriBlock Wiki
Jump to: navigation, search

See: Main_Page

Overview

The NodeCore package has two main folders:

  • bin - The scripts and data files. This page will discuss the files here.
  • lib - All the jar files. This could be about 50 files and 30MB.

NodeCore starts with two script files:

  • nodecore --> execute on linux/mac
  • nodecore.bat --> execute on windows

Running NodeCore creates several additional local files. These store data (like the blockchain, wallet, pool, etc...) and configuration.

Note that NodeCore has a startup "-d" parameter to write the data files to a specific folder:

#Linux Example
./nodecore -d ~/data/

#Windows Example
nodecore.bat -d E:\Data

By File Type

Log

Standard log files, generated by slf4j.

Examples:

  • veriblock.nodecore.log
  • veriblock.nodecore-2018-04-04.0.log
  • veriblock.nodecore-error.log


Config

Plaintext files, user can modify these config values.

Example:

  • nodecore.properties

Data

Contains data written by NodeCore. These are SQLite files.

The nodecore.dat file can be viewed with a SQLite browser: http://sqlitebrowser.org, however it is an internal file intended to be written to solely by the NodeCore instance.

The others have their own special formats and are not SQLite databases.

Examples:

  • nodecore.dat
  • wallet.dat
  • walletconfig.dat
  • poolwallet.dat
  • poolwalletconfig.dat

Other

  • tcache.csh - A cache file of nodecore.dat such that NodeCore can reload the blockchain much faster upon restart.
  • poolshares.txt - A plaintext file that stores the history of submitted shares to the pool operated by the local NodeCore instance (will not be present if pool has never been run).

By File

nodecore.dat

The blockchain data itself, as well as additional operational information (blacklisting IPs, caching broadcast blocks, etc...). This is the distributed ledger shared among all nodes.

To view the public blockchain, check out the dashboard: https://testnet.explore.veriblock.org

nodecore.properties

See: nodecore.properties for exact reference on each property value.

If this file does not exist, then NodeCore will create it.

If this file is changed, then NodeCore may need to be restarted to use the new value.

veriblock.nodecore.log

Rolling log file. Older logs will have the date in them, such as veriblock.nodecore-2018-04-04.0.log.

veriblock.nodecore.log is always the most recent log.

veriblock.nodecore-error.log

Contains just errors, ideally this is always empty.

poolshares.txt

The results of the pool. See: HowTo_run_and_connect_to_PoW_Miner_pool

ROUND,1
VGdQFeskH63Wk8Xk3bJM8hLDG8CLV1,1
ROUND,2
VGdQFeskH63Wk8Xk3bJM8hLDG8CLV1,1

poolwallet.dat

The dedicated wallet for the pool. This is an internal file.

poolwalletbackup.dat

A backup file for the pool. This is an internal file.

poolwalletconfig.dat

A configuration file for the pool's wallet. This is an internal file.

tcache.csh

A cache file for the blockchain, built upon first load, such that subsequent restarts of NodeCore are much faster.

wallet.dat

Your wallet, with addresses and balances. The NodeCore_CommandLine provides several wallet-features:

  • getbalance - see the available balances
  • backupwallet - copies the wallet.dat (and related files) to a specific backup location.

walletconfig.dat

A configuration file for the wallet. This is an internal file.

By Function

NodeCore Executable (affects all)

Examples:

  • nodecore.properties
  • veriblock.nodecore.log
  • veriblock.nodecore-error.log

Blocks

Examples:

  • nodecore.dat
  • tcache.csh

Wallet

The wallet stores a list of public-private keypairs. The wallet does not contain any information regarding transactions or balances.

To backup the wallet, one can run the backupwallet command from NodeCore_CommandLine, and this would copy their files to the given location.

Examples:

  • wallet.dat
  • walletconfig.dat

Pool

Examples:

  • poolshares.txt
  • poolwallet.dat
  • poolwalletbackup.dat
  • poolwalletconfig.dat

Other Notes

TestNet subfolder

Under the bin folder, there is a separate TestNet subfolder for various data files for testnet.