aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities/README.md
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2015-05-13 11:21:40 +0200
committerRiccardo Spagni <ric@spagni.net>2015-05-13 11:21:42 +0200
commit1d42deb767d731912c3d63b0132c75d7ba4f62d4 (patch)
treec0559d9643ca209137458e167e91ac68fb446276 /src/blockchain_utilities/README.md
parentMerge pull request #280 (diff)
parentRename src/blockchain_converter/ to src/blockchain_utilities/ (diff)
downloadmonero-1d42deb767d731912c3d63b0132c75d7ba4f62d4.tar.xz
Merge pull request #281
ac011b4 Rename src/blockchain_converter/ to src/blockchain_utilities/ (warptangent) ed9c639 Add --block-number option to blockchain_import (warptangent) 1eb4c66 Update blockchain utilities with portable bootstrap file format (warptangent) 54bd9c1 Add MDB_NORDAHEAD as a supported LMDB flag for blockchain_import (warptangent) a52496d Condense #if directives (warptangent) 8c1a188 Add basic "pop blocks" command to blockchain_import for debugging (warptangent) 71af046 Update log statements (warptangent)
Diffstat (limited to 'src/blockchain_utilities/README.md')
-rw-r--r--src/blockchain_utilities/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/blockchain_utilities/README.md b/src/blockchain_utilities/README.md
new file mode 100644
index 000000000..ecf8a7c42
--- /dev/null
+++ b/src/blockchain_utilities/README.md
@@ -0,0 +1,54 @@
+
+For importing into the LMDB database, compile with `DATABASE=lmdb`
+
+e.g.
+
+`DATABASE=lmdb make release`
+
+This is also the default compile setting on the blockchain branch.
+
+By default, the exporter will use the original in-memory database (blockchain.bin) as its source.
+This default is to make migrating to an LMDB database easy, without having to recompile anything.
+To change the source, adjust `SOURCE_DB` in `src/blockchain_utilities/bootstrap_file.h` according to the comments.
+
+# Usage:
+
+See also each utility's "--help" option.
+
+## Export an existing in-memory database
+
+`$ blockchain_export`
+
+This loads the existing blockchain, for whichever database type it was compiled for, and exports it to `$MONERO_DATA_DIR/export/blockchain.raw`
+
+## Import the exported file
+
+`$ blockchain_import`
+
+This imports blocks from `$MONERO_DATA_DIR/export/blockchain.raw` into the current database.
+
+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.
+
+```bash
+# use default settings to import blockchain.raw into database
+$ blockchain_import
+
+# fast import with large batch size, verification off
+$ blockchain_import --batch-size 100000 --verify off
+
+# LMDB flags can be set by appending them to the database type:
+# flags: nosync, nometasync, writemap, mapasync
+$ blockchain_import --database lmdb#nosync
+$ blockchain_import --database lmdb#nosync,nometasync
+```
+
+## Blockchain converter with batching
+`blockchain_converter` has also been updated and includes batching for faster writes. However, on lower RAM systems, this will be slower than using the exporter and importer utilities. The converter needs to keep the blockchain in memory for the duration of the conversion, like the original bitmonerod, thus leaving less memory available to the destination database to operate.
+
+```bash
+$ blockchain_converter --batch on --batch-size 20000
+```