Skip to Content
Node & OperationsData Directory

Data Directory

Tidecoin Core stores node state under a data directory. The data directory holds configuration, network-specific block data, chainstate, indexes, wallets, logs, peer databases, runtime settings, and RPC cookie authentication state.

This page is the storage layout reference for operators. It is not the backup procedure; see Backups before copying wallet or chain data.

Default locations

PlatformDefault data directory
Linux~/.tidecoin
macOS~/Library/Application Support/Tidecoin
Windows%APPDATA%\Tidecoin

Override the directory on startup:

tidecoind -datadir=/srv/tidecoin

Use an absolute path for service deployments. Relative -datadir paths are interpreted relative to the process working directory and are easy to misread in systemd or container setups.

Network-specific paths

Most contents are network-specific. tidecoin.conf is read from the base data directory, while chain data is stored under the selected network path.

Chain optionNetwork data path
Mainnet, default<datadir>/
-chain=test or -testnet<datadir>/testnet/
-chain=regtest or -regtest<datadir>/regtest/

When diagnosing a testnet or regtest node, make sure you are reading the network-specific debug.log, .cookie, blocks, chainstate, and wallet path.

Main layout

PathContentsOperational notes
blocks/blkNNNNN.dat, revNNNNN.dat, xor.datBlock and undo data. blk files are 128 MiB chunks.
blocks/index/LevelDB block indexStays under the data directory even when -blocksdir is used.
chainstate/LevelDB UTXO setRebuildable from block files with -reindex-chainstate on unpruned nodes.
indexes/txindex/Optional transaction indexCreated when txindex=1; incompatible with pruning.
indexes/blockfilter/basic/Optional compact block filtersCreated when blockfilterindex=basic or equivalent index setting is enabled.
indexes/coinstatsindex/Optional coin statistics indexCreated when coinstatsindex=1.
wallets/Wallet directories and wallet databasesContains private wallet material unless wallet is watch-only.
tidecoin.confStatic operator configurationCreated by the operator, not by the node.
settings.jsonRuntime settings from GUI/RPCWritten by the node; do not hand-edit for normal config.
debug.logNode logCan be moved with -debuglogfile.
mempool.datPersisted mempool dumpRebuildable; not consensus-critical.
peers.datPeer address databaseRebuildable from peer discovery.
banlist.jsonBanned peer stateOperational policy state.
.cookieRPC cookie auth fileCreated at startup and removed at shutdown when cookie auth is used.
.lockData directory lockPrevents multiple node instances using the same directory.

Blocks directory override

-blocksdir=<dir> moves block data files, but not every block-related database. In particular, blocks/index/ remains in the network data directory.

Use -blocksdir only when the large block files must live on a different volume. Keep the node stopped when moving existing block files between volumes.

Wallet directory override

-walletdir=<dir> changes where wallets are stored. The configured wallet directory must exist and must be a directory. For service deployments, keep wallet storage on reliable local storage and do not share a wallet directory between two running node instances.

Wallets are SQLite databases. User-defined wallets normally live under:

<datadir>/wallets/<wallet_name>/

The default unnamed wallet lives under wallets/ when that directory exists.

What is safe to delete

Only delete rebuildable node state when the node is stopped and you understand the recovery cost.

ItemSafe to delete?Effect
debug.logYes, when stopped or after log rotationLoses local diagnostic history.
mempool.datUsuallyNode starts with an empty mempool.
peers.datUsuallyNode rediscovers peers.
chainstate/Only as part of recoveryRequires rebuilding UTXO state.
blocks/Only as last-resort recoveryRequires redownloading or reimporting blocks.
indexes/RebuildableIndexes resync from available block data.
wallets/NoCan permanently lose funds if not backed up.
.cookie, .lock, pid fileRuntime onlyNormally managed by the node process.

Never delete wallets/ during node recovery. Node data is reproducible; wallet secret material may not be.

Disk planning

Disk use depends on node role:

Node typeStorage profile
Personal full nodeBlocks, chainstate, logs, optional wallets.
Pruned nodeLower block-file storage, but less useful for explorers and indexes.
Explorer/indexerFull blocks plus txindex, filters, custom database, and logs.
Exchange nodeFull node storage plus wallet, monitoring, backups, and audit logs.

Pruning reduces block storage but is incompatible with txindex=1. Reverting a pruned node to unpruned mode requires rebuilding from full block data, which can mean redownloading the chain.

Source of truth

TopicSource
Data directory layout../tidecoin/doc/files.md
Data directory and blocks flags../tidecoin/src/init.cpp, ../tidecoin/src/common/args.cpp
Wallet directory behavior../tidecoin/doc/managing-wallets.md
Runtime settings../tidecoin/doc/tidecoin-conf.md

See also: Configuration, Backups, Reindex & Recovery.

Last updated on