aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_converter (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-05-08Rename src/blockchain_converter/ to src/blockchain_utilities/warptangent9-2274/+0
Update appropriate files (CMakeLists.txt, README.md)
2015-05-08Add --block-number option to blockchain_importwarptangent1-7/+17
This enables the importer to stop after reaching a specified block number (zero-based index), before reaching the end of the source blockchain.
2015-05-08Update blockchain utilities with portable bootstrap file formatwarptangent8-460/+755
Remove repeated coinbase tx in each exported block's data. Add resume from last exported height to blockchain_export, making it the default behavior when the file already exists. Start reorganizing the utilities. Various cleanup. Update output, including referring to both height and block numbers as zero-based instead of one-based. This better matches the block data, rather than just some parts of the existing codebase. Use smaller default batch sizes for importer when verifying, so progress is saved more frequently. Use small default batch size (1000) for importer on Windows, due to current issue with big transaction sizes on LMDB. file format ----------- [4-byte magic | variable-length header | block data] header ------ 4-byte file_info length file_info struct file format major version file format minor version header length (includes file_info struct) [rest of header, padded with 0 bytes up to header length] block data ---------- 4-byte chunk/block_package length block_package struct block txs (coinbase/miner tx included already in block) block_size cumulative_difficulty coins_generated 4-byte chunk/block_package length block_package struct [...]
2015-05-08Add MDB_NORDAHEAD as a supported LMDB flag for blockchain_importwarptangent1-8/+2
2015-05-08Condense #if directiveswarptangent1-9/+2
2015-05-08Add basic "pop blocks" command to blockchain_import for debuggingwarptangent1-0/+58
Usage: blockchain_import --pop-blocks <num_blocks>
2015-05-08Update log statementswarptangent1-1/+1
Use filesystem path conversion to string() instead of c_str(). Windows may otherwise output an address.
2015-05-08Fix incompatibility with blockchain exporter when source is LMDBwarptangent1-1/+16
Instantiate BlockchainDB in blockchain exporter to reflect recent updates. This applies when blockchain_export.h defines SOURCE_DB as DB_LMDB.
2015-04-07Merge BlockchainDB into upstreamThomas Winget8-0/+1909
2015-03-25Steps toward multiple dbs available -- workingThomas Winget1-2/+24
There will need to be some more refactoring for these changes to be considered complete/correct, but for now it's working. new daemon cli argument "--db-type", works for LMDB and BerkeleyDB. A good deal of refactoring is also present in this commit, namely Blockchain no longer instantiates BlockchainDB, but rather is passed a pointer to an already-instantiated BlockchainDB on init().
2015-03-23blockchain_converter: Add support for resume from last blockwarptangent1-10/+37
Add option "--resume <on|off>" where default is on.
2015-03-22blockchain_import: lengthen string for line clearwarptangent1-16/+19
2015-03-22blockchain_export: show progress during exportwarptangent1-9/+17
2015-03-22Update Blockchain::get_db() to return reference instead of pointerwarptangent3-12/+12
Where this method is used, a BlockchainDB object is always expected, so a pointer is unnecessary and less safe.
2015-03-22Add README for blockchain converter, importer, and exporter utilitieswarptangent1-0/+54
2015-03-16blockchain_export: Add compile-time support for BlockchainDBwarptangent2-31/+63
This allows an LMDB database to be used as the blockchain to export. Adjust SOURCE_DB in src/blockchain_converter/blockchain_export.h depending on needs. Defaults to DB_MEMORY. DB_MEMORY is a sensible default for users migrating to LMDB, as it allows the exporter to use the in-memory blockchain while the other binaries work with LMDB, without recompiling anything.
2015-03-16Add blockchain_export utilitywarptangent3-0/+470
Based on work by tomerkon. See https://github.com/tomerkon/bitmonero src/cryptonote_core/bootfilesaver.{h,cpp} src/bootfilegen/bootfilegen.cpp
2015-03-16Add support for database open with flagswarptangent2-7/+71
Add support to: - BlockchainDB, BlockchainLMDB - blockchain_import utility to open LMDB database with one or more LMDB flags. Sample use: $ blockchain_import --database lmdb#nosync $ blockchain_import --database lmdb#nosync,nometasync
2015-03-16Add blockchain_import utilitywarptangent4-0/+894
This imports to the blockchain database from an exported blockchain file. It can be used to bootstrap a new database or to add blocks to an existing one. Supports: - both the in-memory and LMDB implementations - optional: batching, verification, testnet See help for usage. Based on work by tomerkon. See https://github.com/tomerkon src/cryptonote_core/bootfileloader.{h,cpp}
2015-03-15blockchain_converter: Add support for batch transactionswarptangent1-23/+173
Add log level support. Add testnet support. Add command-line options: --help --data-dir --testnet-data-dir --testnet --log-level --batch --batch-size --block-number See help for usage. Run at log level 1 to see profiling stats.
2015-03-13BlockchainDB implementations have names nowThomas Winget1-1/+5
In order to make things more general, BlockchainDB now has get_db_name() which should return a string with the "name" of that type of db. This "name" will be the subfolder name that holds that db type's files within the monero folder. Small bugfix: blockchain_converter was not correctly appending this in the prior hard-coded-string implementation of the subfolder data directory concept.
2015-03-06Moved BlockchainDB into its own src/ subfolderThomas Winget2-2/+3
Ostensibly janitorial work, but should be more relevant later down the line. Things that depend on core cryptonote things (i.e. cryptonote_core) don't necessarily depend on BlockchainDB and thus have no need to have BlockchainDB baked in with them.
2015-02-23Update year and formatting in licensewarptangent1-7/+7
2015-02-02Add compile-time support for both db implementations: in-memory and LMDBwarptangent1-0/+2
Usage: default is lmdb for blockchain branch: $ make release same as: $ DATABASE=lmdb make release for original in-memory implementation: $ DATABASE=memory make release
2015-01-04blockchain_converter: add --testnet for converting testnet blockchainmoneromooo-monero1-1/+6
2015-01-04blockchain_converter: a bit more user friendly outputmoneromooo-monero1-2/+9
2015-01-04blockchain_converter: only call data path function oncemoneromooo-monero1-5/+4
2015-01-04blockchain_converter: delete blockchain on succesful exitmoneromooo-monero1-0/+1
While the dtor implementation does not actually do anything, other paths do delete it, and the dtor might do someting later.
2015-01-04blockchain_converter: use the actual blockchain locationmoneromooo-monero1-3/+5
2015-01-04~ didn't work, need hard path. debug print.Thomas Winget1-3/+5
2015-01-04very, VERY primitive blockchain converterThomas Winget2-0/+150
hard-coded config folder, hard-coded BlockchainDB subclass. Needs finessing, but should be testable this way. update for rebase (warptangent 2015-01-04) fix conflicts with upstream CMakeLists.txt files src/CMakeLists.txt (edit original commit) src/blockchain_converter/CMakeLists.txt (add)