description |
---|
dbpath and databases info |
Nethermind uses the RocksDB database to store state. By default the database is stored in the same directory where the client binaries are. You can change it by providing a --baseDbPath
config switch in the command line, e.g../Nethermind.Runner --config goerli --baseDbPath /home/username/nethermind_db
After Nethermind is started, you will see multiple directories appearing in the baseDbPath directory.
DB Directory | Content |
---|---|
blockInfos | information about blocks at each level of the block tree (canonical chain and branches) |
blocks | block bodies (block transactions and uncle data) |
bloom | bloom indexes for fast log searches |
canonicalHashTrie | LES protocol related data |
code | contract bytecodes |
discoveryNodes | peers discovered via discovery protocol - used for quick peering after restarts (you can copy this DB between nodes to speed up peering) |
headers | block headers only |
pendingTx | (this DB is wiped out on each restart) 2nd level cache of pending transactions / mempool (1st level is in memory) |
peers | stores additional sync peers information (like peer reputation) - you can copy this DB between nodes to speed up peering on fresh sync |
receipts | transaction receipts data |
state | blockchain state including accounts and contract storage (Patricia trie nodes) |
You can use rsync
between your nodes to clone the database (One of our users copied entire 4.5TB archive state this way while the node was running and only stopped the node for the very last stage of rsync
). You can also simply copy the database between Unix and Windows systems (and most likely macOS).