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
| Platform | Default data directory |
|---|---|
| Linux | ~/.tidecoin |
| macOS | ~/Library/Application Support/Tidecoin |
| Windows | %APPDATA%\Tidecoin |
Override the directory on startup:
tidecoind -datadir=/srv/tidecoinUse 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 option | Network 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
| Path | Contents | Operational notes |
|---|---|---|
blocks/ | blkNNNNN.dat, revNNNNN.dat, xor.dat | Block and undo data. blk files are 128 MiB chunks. |
blocks/index/ | LevelDB block index | Stays under the data directory even when -blocksdir is used. |
chainstate/ | LevelDB UTXO set | Rebuildable from block files with -reindex-chainstate on unpruned nodes. |
indexes/txindex/ | Optional transaction index | Created when txindex=1; incompatible with pruning. |
indexes/blockfilter/basic/ | Optional compact block filters | Created when blockfilterindex=basic or equivalent index setting is enabled. |
indexes/coinstatsindex/ | Optional coin statistics index | Created when coinstatsindex=1. |
wallets/ | Wallet directories and wallet databases | Contains private wallet material unless wallet is watch-only. |
tidecoin.conf | Static operator configuration | Created by the operator, not by the node. |
settings.json | Runtime settings from GUI/RPC | Written by the node; do not hand-edit for normal config. |
debug.log | Node log | Can be moved with -debuglogfile. |
mempool.dat | Persisted mempool dump | Rebuildable; not consensus-critical. |
peers.dat | Peer address database | Rebuildable from peer discovery. |
banlist.json | Banned peer state | Operational policy state. |
.cookie | RPC cookie auth file | Created at startup and removed at shutdown when cookie auth is used. |
.lock | Data directory lock | Prevents 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.
| Item | Safe to delete? | Effect |
|---|---|---|
debug.log | Yes, when stopped or after log rotation | Loses local diagnostic history. |
mempool.dat | Usually | Node starts with an empty mempool. |
peers.dat | Usually | Node rediscovers peers. |
chainstate/ | Only as part of recovery | Requires rebuilding UTXO state. |
blocks/ | Only as last-resort recovery | Requires redownloading or reimporting blocks. |
indexes/ | Rebuildable | Indexes resync from available block data. |
wallets/ | No | Can permanently lose funds if not backed up. |
.cookie, .lock, pid file | Runtime only | Normally 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 type | Storage profile |
|---|---|
| Personal full node | Blocks, chainstate, logs, optional wallets. |
| Pruned node | Lower block-file storage, but less useful for explorers and indexes. |
| Explorer/indexer | Full blocks plus txindex, filters, custom database, and logs. |
| Exchange node | Full 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
| Topic | Source |
|---|---|
| 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.