aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities/blockchain_import.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2018-11-23remove some unused codemoneromooo-monero1-1/+1
Found by codacy.com
2018-10-27blockchain_utilities: fix logs and cout output collidingmoneromooo-monero1-2/+2
2018-10-22blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-1/+7
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni1-7/+1
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-1/+7
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero1-3/+3
2018-07-03blockchain_import: make sleep compile on WindowsiDunk54001-0/+1
2018-06-26replace std::list with std::vector on some hot pathsmoneromooo-monero1-4/+4
also use reserve where appropriate
2018-06-07blockchain_import: warn+delay about using --dangerous-unverified-importmoneromooo-monero1-4/+16
This is the new name for --guard-against-pwnage 0
2018-03-05Stagenetstoffu1-3/+8
2018-02-16options: remove testnet-* optionswhythat1-2/+1
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2017-12-23blockchain_import: more informative verification switchmoneromooo-monero1-2/+2
2017-12-18use const refs in for loops for non tiny typesmoneromooo-monero1-1/+1
2017-12-16move includes around to lessen overall loadmoneromooo-monero1-0/+1
2017-11-14move cryptonote command line options to cryptonote_coremoneromooo-monero1-7/+2
Those have no reason to be in a generic module
2017-11-14remove "using namespace std" from headersmoneromooo-monero1-1/+1
It's nasty, and actually breaks on Solaris, where if.h fails to build due to: struct map *if_memmap;
2017-10-14Add tools::on_startup, and warn about glibc 2.25 bug if foundmoneromooo-monero1-1/+1
https://sourceware.org/bugzilla/show_bug.cgi?id=21778
2017-10-06add a command_line function to check for defaulted optionsmoneromooo-monero1-5/+5
2017-10-03blockchain_import: remove a few commented out obsolete linesmoneromooo-monero1-3/+0
2017-09-18precomputed block hashes are now in blocks of N (currently 256)moneromooo-monero1-0/+20
This shaves a lot of space off binaries
2017-09-17Use actual batch size for resize estimatesHoward Chu1-19/+44
And optimize import startup: Remember start_height position during initial count_blocks pass to avoid having to reread entire file again to arrive at start_height
2017-09-01blockchain_import: warn for chunks over 500000, not 100000moneromooo-monero1-2/+2
We have a lot of 350000 byte blocks now.
2017-09-01blockchain_import: properly cleanup core/db on exitmoneromooo-monero1-19/+9
2017-09-01blockchain_import: do not error out on truncated filesmoneromooo-monero1-3/+13
This will happen often when downloading from a live file
2017-08-29Fix blockchain_import wedge on exception in cleanup_handle_incoming_blocksmoneromooo-monero1-1/+5
2017-08-20More DB support cleanupHoward Chu1-44/+2
Hide DB types from db_types.h - no reason to recompile dependencies when DB types change. Also remove lingering in-memory DB references, they've been obsolete since 9e82b694da120708652871b55f639d1ef306a7ec
2017-08-19DB cleanupHoward Chu1-69/+5
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp should ever be including DB-specific headers any more.
2017-08-07blockchain_import: much faster when verifying with cryptonote::coremoneromooo-monero1-152/+140
Quick test with the first 56569 blocks from mainnet version verify batch time old 0 200 1:16 new 0 200 0:57 old 0 5000 0:53 new 0 5000 0:51 old 1 200 est > 1h new 1 200 10:21 old 1 5000 est > 1h new 1 5000 8:27
2017-05-25Move txpool to the databasemoneromooo-monero1-1/+1
Integration could go further (ie, return_tx_to_pool calls should not be needed anymore, possibly other things). poolstate.bin is now obsolete.
2017-03-05blockchain_import: make --log-level understand categoriesmoneromooo-monero1-3/+6
2017-03-05blockchain_import: error out nicely on exceptionsmoneromooo-monero1-0/+4
2017-03-03Fix double-importHoward Chu1-8/+10
Incomplete ifdef cleanup in 9e82b694da120708652871b55f639d1ef306a7ec
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-02-12tools: log to the correct filemoneromooo-monero1-1/+3
2017-02-12tools: set requested log levelmoneromooo-monero1-1/+2
also move a couple logs from INFO to DEBUG
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi841-1/+1
2017-01-16fixups in logging init calls, and add missing net context in a logmoneromooo-monero1-1/+1
2017-01-16Change logging to easylogging++moneromooo-monero1-55/+56
This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
2017-01-15blockchain_import: fix build after tx_pool::add_tx changesmoneromooo-monero1-1/+1
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-40/+0
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero1-3/+3
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero1-3/+3
Useful for debugging users' logs
2016-02-22move g_test_dbg_lock_sleep from a global to a function level staticmoneromooo-monero1-2/+0
This avoids the need to define that variable in every program which uses epee.
2016-02-17blockchain_import: Check bit width for more than just WIN32warptangent1-2/+2
Pass the CMake bit width setting to compile flags for blockchain_import and blockchain_converter. For LMDB on 32-bit, hyc has found that batch size of 100 appears to be a good default.
2016-02-14blockchain_import: Build string for db type listwarptangent1-2/+15
2016-02-14blockchain_import: Add mode argument representing multiple DB flagswarptangent1-31/+82
These modes match those optionally provided as part of the daemon's --db-type argument. Argument after the # is interpreted as a composite mode if there's only one (no comma separated arguments). Sample usage: blockchain_import --database lmdb#fastest blockchain_import --database berkeley#fastest Multiple specific DB flags are still supported, e.g. blockchain_import --database lmdb#nosync,nordahead blockchain_import --database berkeley#txn_nosync
2016-02-14blockchain_import: Support BerkeleyDBwarptangent1-20/+54
2016-02-14blockchain_import: Add database type argumentwarptangent1-2/+2
Default to LMDB.
2016-02-14blockchain_import: Make LMDB-specific names generalwarptangent1-28/+28
Also update terms to better distinguish blockchain management/engine from database type.
2016-02-08blockchain_import: Get hard fork version from HardForkwarptangent1-4/+1
Replace temporary assignment that used hardcoded values.
2016-02-08Move HardFork DB update to BlockchainDB::add_block()warptangent1-3/+0
Ensures the database is consistent. Also simplifes blockchain_import in that verify mode off has less to work around.
2016-02-08blockchain_import: Add hard fork data for each block when verify mode is offwarptangent1-0/+3
2016-02-08blockchain_import: Add --drop-hard-fork commandwarptangent1-0/+11
2016-02-08blockchain_import: Add exception to log outputwarptangent1-1/+1
2016-01-29Fix V1/V2 use of hard fork related parametersmoneromooo-monero1-1/+7
Some of it uses hardcoded height, which will need some thinking for next (voted upon) fork.
2015-12-31update versionRiccardo Spagni1-1/+1
2015-12-31updated copyright yearRiccardo Spagni1-1/+1
2015-12-19Add missing semicolons after log statementsmoneromooo-monero1-1/+1
2015-11-21Fix startup crash when using a locale boost does not likemoneromooo-monero1-0/+2
There are various locale related bugs in various versions of boost, where exceptions are thrown in boost::filesystem APIs when the current locale is not to boost's liking. It's not clear what "not to boost's liking" means in detail, though "en" and "en_US.UTF-8" are not to its liking. Fix it by running a test function that's known to throw in such a case, and resetting LANG and LC_ALL to C if an exception is thrown. In simplewallet, the locale is queried before that so the correct translations will still be used.
2015-11-21Relay transactions when they linger too long in the poolmoneromooo-monero1-1/+1
The last relayed time of a transaction is maintained, and transactions will be relayed again if they are still in the pool after a certain amount of time, which increases with the transaction's age. All such transactions are resent, whether or not they originated on the local node.
2015-08-14blockchain_import: Add --input-file optionwarptangent1-1/+9
This option specifies the input file path for importing. The default remains <data-dir>/export/blockchain.raw
2015-08-14blockchain_import: Updates for naming consistencywarptangent1-15/+14
2015-07-11blockchain_utilities: Pass expected number of blocks when starting batchwarptangent1-2/+2
2015-05-16Support debugging command --pop-blocks on in-memory blockchainwarptangent1-9/+14
Add public method blockchain_storage::debug_pop_block_from_blockchain() Ensure blockchain_import calls destructors before exit. To test: DATABASE=memory make release // create blockchain.bin from blockchain.raw if needed build/release/bin/blockchain_import --block-stop 1000 // try popping a single block build/release/bin/blockchain_import --pop-blocks 1
2015-05-15Rename "--block-number" option to "--block-stop"warptangent1-26/+21
Update help output for this and other options.
2015-05-15Check if chunk size is zero instead of negativewarptangent1-2/+2
This corrects an unnecessary check and fixes compile error on OS X.
2015-05-08Rename src/blockchain_converter/ to src/blockchain_utilities/warptangent1-0/+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 formatwarptangent1-187/+139
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-08Add basic "pop blocks" command to blockchain_import for debuggingwarptangent1-0/+58
Usage: blockchain_import --pop-blocks <num_blocks>
2015-03-22blockchain_import: lengthen string for line clearwarptangent1-16/+19
2015-03-22Update Blockchain::get_db() to return reference instead of pointerwarptangent1-3/+3
Where this method is used, a BlockchainDB object is always expected, so a pointer is unnecessary and less safe.
2015-03-16Add support for database open with flagswarptangent1-4/+68
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 utilitywarptangent1-0/+687
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}