2015-05-31 13:40:18 +02:00
|
|
|
# Monero Blockchain Utilities
|
|
|
|
|
2018-01-07 06:05:16 +01:00
|
|
|
Copyright (c) 2014-2018, The Monero Project
|
2015-05-31 13:40:18 +02:00
|
|
|
|
|
|
|
## Introduction
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
The blockchain utilities allow one to import and export the blockchain.
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2015-05-31 13:40:18 +02:00
|
|
|
## Usage:
|
2015-03-22 18:57:14 +01:00
|
|
|
|
|
|
|
See also each utility's "--help" option.
|
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
### Export an existing blockchain database
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
`$ monero-blockchain-export`
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
This loads the existing blockchain and exports it to `$MONERO_DATA_DIR/export/blockchain.raw`
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2015-05-31 13:40:18 +02:00
|
|
|
### Import the exported file
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
`$ monero-blockchain-import`
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
This imports blocks from `$MONERO_DATA_DIR/export/blockchain.raw` (exported using the
|
|
|
|
`monero-blockchain-export` tool as described above) into the current database.
|
2015-03-22 18:57:14 +01:00
|
|
|
|
|
|
|
Defaults: `--batch on`, `--batch size 20000`, `--verify on`
|
|
|
|
|
|
|
|
Batch size refers to number of blocks and can be adjusted for performance based on available RAM.
|
|
|
|
|
|
|
|
Verification should only be turned off if importing from a trusted blockchain.
|
|
|
|
|
2015-07-07 19:45:21 +02:00
|
|
|
If you encounter an error like "resizing not supported in batch mode", you can just re-run
|
2016-09-03 21:54:10 +02:00
|
|
|
the `monero-blockchain-import` command again, and it will restart from where it left off.
|
2015-07-07 19:45:21 +02:00
|
|
|
|
2015-03-22 18:57:14 +01:00
|
|
|
```bash
|
2015-05-31 13:40:18 +02:00
|
|
|
## use default settings to import blockchain.raw into database
|
2016-09-03 21:54:10 +02:00
|
|
|
$ monero-blockchain-import
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-03-05 21:54:31 +01:00
|
|
|
## fast import with large batch size, database mode "fastest", verification off
|
2016-09-03 21:54:10 +02:00
|
|
|
$ monero-blockchain-import --batch-size 20000 --database lmdb#fastest --verify off
|
2016-03-05 21:54:31 +01:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
### Import options
|
|
|
|
|
|
|
|
`--input-file`
|
|
|
|
specifies input file path for importing
|
|
|
|
|
|
|
|
default: `<data-dir>/export/blockchain.raw`
|
|
|
|
|
|
|
|
`--output-file`
|
|
|
|
specifies output file path to export to
|
|
|
|
|
|
|
|
default: `<data-dir>/export/blockchain.raw`
|
|
|
|
|
|
|
|
`--block-stop`
|
|
|
|
stop at block number
|
|
|
|
|
|
|
|
`--database <database type>`
|
|
|
|
|
|
|
|
`--database <database type>#<flag(s)>`
|
|
|
|
|
2016-09-03 22:36:09 +02:00
|
|
|
database type: `lmdb, memory`
|
2016-03-05 21:54:31 +01:00
|
|
|
|
|
|
|
flags:
|
|
|
|
|
|
|
|
The flag after the # is interpreted as a composite mode/flag if there's only
|
|
|
|
one (no comma separated arguments).
|
|
|
|
|
|
|
|
The composite mode represents multiple DB flags and support different database types:
|
|
|
|
|
|
|
|
`safe, fast, fastest`
|
|
|
|
|
|
|
|
Database-specific flags can be set instead.
|
|
|
|
|
|
|
|
LMDB flags (more than one may be specified):
|
|
|
|
|
|
|
|
`nosync, nometasync, writemap, mapasync, nordahead`
|
|
|
|
|
2016-09-03 22:36:09 +02:00
|
|
|
## Examples:
|
2016-03-05 21:54:31 +01:00
|
|
|
|
|
|
|
```
|
2016-09-03 21:54:10 +02:00
|
|
|
$ monero-blockchain-import --database lmdb#fastest
|
2015-03-22 18:57:14 +01:00
|
|
|
|
2016-09-03 21:54:10 +02:00
|
|
|
$ monero-blockchain-import --database lmdb#nosync
|
2016-03-05 21:54:31 +01:00
|
|
|
|
2016-09-03 22:36:09 +02:00
|
|
|
$ monero-blockchain-import --database lmdb#nosync,nometasync
|
2015-03-22 18:57:14 +01:00
|
|
|
```
|