forked from dogecoin/dogecoin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: backport files.md that describes the data directory
- Loading branch information
1 parent
b5d69ab
commit 28989f1
Showing
1 changed file
with
74 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,75 @@ | ||
# Dogecoin Core file system | ||
|
||
* banlist.dat: stores the IPs/Subnets of banned nodes | ||
* dogecoin.conf: contains configuration settings for dogecoind or dogecoin-qt | ||
* dogecoind.pid: stores the process id of dogecoind while running | ||
* blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0 | ||
* blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8) | ||
* blocks/index/*; block index (LevelDB); since 0.8.0 | ||
* chainstate/*; block chain state database (LevelDB); since 0.8.0 | ||
* database/*: BDB database environment; only used for wallet since 0.8.0 | ||
* db.log: wallet database log file | ||
* debug.log: contains debug information and general logging generated by dogecoind or dogecoin-qt | ||
* fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0 | ||
* mempool.dat: dump of the mempool's transactions; since 0.14.0. | ||
* peers.dat: peer IP address database (custom format); since 0.7.0 | ||
* wallet.dat: personal wallet (BDB) with keys and transactions | ||
* .cookie: session RPC authentication cookie (written at start when cookie authentication is used, deleted on shutdown): since 0.12.0 | ||
* onion_private_key: cached Tor hidden service private key for `-listenonion`: since 0.12.0 | ||
|
||
Only used in pre-0.8.0 | ||
--------------------- | ||
* blktree/*; block chain index (LevelDB); since pre-0.8, replaced by blocks/index/* in 0.8.0 | ||
* coins/*; unspent transaction output database (LevelDB); since pre-0.8, replaced by chainstate/* in 0.8.0 | ||
|
||
Only used before 0.8.0 | ||
--------------------- | ||
* blkindex.dat: block chain index database (BDB); replaced by {chainstate/*,blocks/index/*,blocks/rev000??.dat} in 0.8.0 | ||
* blk000?.dat: block data (custom, 2 GiB per file); replaced by blocks/blk000??.dat in 0.8.0 | ||
|
||
Only used before 0.7.0 | ||
--------------------- | ||
* addr.dat: peer IP address database (BDB); replaced by peers.dat in 0.7.0 | ||
**Contents** | ||
|
||
- [Data directory location](#data-directory-location) | ||
- [Data directory layout](#data-directory-layout) | ||
- [GUI settings](#gui-settings) | ||
- [Legacy subdirectories and files](#legacy-subdirectories-and-files) | ||
- [Notes](#notes) | ||
|
||
## Data directory location | ||
|
||
The data directory is the default location where the Dogecoin Core files are stored. | ||
|
||
1. The default data directory paths for supported platforms are: | ||
|
||
Platform | Data directory path | ||
---------|-------------------- | ||
Linux | `$HOME/.dogecoin/` | ||
macOS | `$HOME/Library/Application Support/Dogecoin/` | ||
Windows | `%APPDATA%\Dogecoin\` <sup>[\[1\]](#note1)</sup> | ||
|
||
2. A custom data directory path can be specified with the `-datadir` option. | ||
|
||
3. All content of the data directory, except for the `dogecoin.conf` file, is chain-specific. This means the actual data directory paths for non-mainnet cases differ: | ||
|
||
Chain | Data directory path | ||
--------------|------------------------------ | ||
(default) | *path_to_datadir*`/` | ||
`-testnet` | *path_to_datadir*`/testnet3/` | ||
`-regtest` | *path_to_datadir*`/regtest/` | ||
|
||
## Data directory layout | ||
|
||
Subdirectory | File(s) | Description | ||
-------------------|-----------------------|------------ | ||
`blocks/` | | Blocks directory | ||
`blocks/index/` | LevelDB database | Block and transaction indices | ||
`blocks/` | `blkNNNNN.dat` | Actual blocks (in network format, dumped in raw on disk, 128 MiB per file) | ||
`blocks/` | `revNNNNN.dat` | Block undo data (custom format) | ||
`chainstate/` | LevelDB database | Blockchain state, a.k.a UTXO database | ||
`./` | `anchors.dat` | Anchor IP address database, created on shutdown and deleted at startup. Anchors are last known outgoing block-relay-only peers that are tried to re-connect to on startup | ||
`./` | `banlist.dat` | Stores the IPs/subnets of banned nodes | ||
`./` | `dogecoin.conf` | User-defined configuration settings for `dogecoind` or `dogecoin-qt`; can be specified by `-conf` option | ||
`./` | `dogecoind.pid` | Stores the process ID (PID) of `dogecoind` or `dogecoin-qt` while running; can be specified by `-pid` option | ||
`./` | `debug.log` | Contains debug information and general logging generated by `dogecoind` or `dogecoin-qt` | ||
`./` | `fee_estimates.dat` | Stores statistics used to estimate smart transaction fees and priorities required for confirmation | ||
`./` | `mempool.dat` | Dump of the mempool's transactions | ||
`./` | `onion_private_key` | Cached Tor onion service private key for `-listenonion` option | ||
`./` | `peers.dat` | Peer IP address database | ||
`./` | `.cookie` | Session RPC authentication cookie; if used, created at start and deleted on shutdown; can be specified by `-rpccookiefile` option | ||
`./` | `.lock` | Data directory lock file | ||
`./` | `db.log` | BDB error file | ||
`./` | `wallet.dat` | Personal wallet (a BDB database) with keys and transactions | ||
`./` | `.walletlock` | BDB wallet lock file | ||
|
||
## GUI settings | ||
|
||
`dogecoin-qt` uses the [`QSettings`](https://doc.qt.io/qt-5/qsettings.html) class; this implies platform-specific [locations where application settings are stored](https://doc.qt.io/qt-5/qsettings.html#locations-where-application-settings-are-stored). | ||
|
||
## Legacy subdirectories and files | ||
|
||
These subdirectories and files are no longer used by Dogecoin Core: | ||
|
||
Path | Description | ||
---------------|------------- | ||
`blktree/` | Blockchain index; replaced by `blocks/index/` in 1.10.0 | ||
`coins/` | Unspent transaction output database; replaced by `chainstate/` in 1.10.0 | ||
`blkindex.dat` | Blockchain index BDB database; replaced by {`chainstate/`, `blocks/index/`, `blocks/revNNNNN.dat`} in 1.10.0 | ||
`blk000?.dat` | Block data (custom format, 2 GiB per file); replaced by `blocks/blkNNNNN.dat` in 1.10.0 | ||
`addr.dat` | Peer IP address BDB database; replaced by `peers.dat` in 1.7.0 | ||
|
||
## Notes | ||
|
||
<a name="note1">1</a>. The `/` (slash, U+002F) is used as the platform-independent path component separator in this document. |