aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities/blockchain_usage.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2020-05-06Update copyright year to 2020SomaticFanatic1-1/+1
Update copyright year to 2020
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez1-21/+4
2019-03-05Update 2019 copyrightbinaryFate1-1/+1
2018-05-23db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero1-1/+1
This bumps DB version to 2, migration code will run for v1 DBs
2018-04-03blockchain_usage: don't divide by 0 when there is nothing to processmoneromooo-monero1-3/+10
Coverity 184942
2018-03-16new blockchain_usage tool, reports on output usagemoneromooo-monero1-49/+106
2018-03-05Stagenetstoffu1-2/+8
2018-02-16options: remove testnet-* optionswhythat1-5/+2
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2017-11-14move cryptonote command line options to cryptonote_coremoneromooo-monero1-10/+6
Those have no reason to be in a generic module
2017-10-15Fix compiler warnings with Clang 6.0.0.Vasil Dimov1-2/+2
monero/src/cryptonote_protocol/block_queue.cpp:208:44: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] static const boost::uuids::uuid uuid0 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { } monero/src/wallet/wallet_rpc_server.cpp:1895:43: error: lambda capture 'wal' is not used [-Werror,-Wunused-lambda-capture] tools::signal_handler::install([&wrpc, &wal](int) { ^ monero/src/cryptonote_protocol/cryptonote_protocol_handler.inl:1616:40: error: lambda capture 'arg' is not used [-Werror,-Wunused-lambda-capture] m_p2p->for_each_connection([this, &arg, &fluffy_arg, &exclude_context, &fullConnections... ^ monero/src/cryptonote_protocol/cryptonote_protocol_handler.inl:1616:46: error: lambda capture 'fluffy_arg' is not used [-Werror,-Wunused-lambda-capture] m_p2p->for_each_connection([this, &arg, &fluffy_arg, &exclude_context, &fullConnections... ^ monero/src/blockchain_utilities/blockchain_export.cpp:181:3: error: bool literal returned from 'main' [-Werror,-Wmain] CHECK_AND_ASSERT_MES(r, false, "Failed to initialize source blockchain storage"); ^ ~~~~~ monero/contrib/epee/include/misc_log_ex.h:180:97: note: expanded from macro 'CHECK_AND_ASSERT_MES' ...fail_ret_val, message) do{if(!(expr)) {LOG_ERROR(message); return fail_ret_val;};}while(0) ^ ~~~~~~~~~~~~ monero/src/blockchain_utilities/blockchain_export.cpp:195:3: error: bool literal returned from 'main' [-Werror,-Wmain] CHECK_AND_ASSERT_MES(r, false, "Failed to export blockchain raw data"); ^ ~~~~~ monero/contrib/epee/include/misc_log_ex.h:180:97: note: expanded from macro 'CHECK_AND_ASSERT_MES' ...fail_ret_val, message) do{if(!(expr)) {LOG_ERROR(message); return fail_ret_val;};}while(0) ^ ~~~~~~~~~~~~
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-1/+1
2017-08-20More DB support cleanupHoward Chu1-16/+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-25/+3
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp should ever be including DB-specific headers any more.
2017-03-05blockchain_export: make --log-level understand categoriesmoneromooo-monero1-4/+6
2017-03-05blockchain_export: error out nicely on exceptionsmoneromooo-monero1-0/+5
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-0/+1
also move a couple logs from INFO to DEBUG
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-4/+5
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.
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-14/+1
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero1-1/+1
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero1-1/+1
Useful for debugging users' logs
2016-03-05blockchain_export: Support BerkeleyDBwarptangent1-4/+65
TEST: blockchain_export -h This should show "berkeley" as an available option to --database. With an existing BerkeleyDB database, run: blockchain_export --database berkeley
2016-03-05blockchain_export: Move DB implementation includeswarptangent1-0/+2
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.
2015-12-31update versionRiccardo Spagni1-1/+1
2015-12-31updated copyright yearRiccardo Spagni1-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-10-27blockchain_utilities: properly exit on errormoneromooo-monero1-1/+1
Replace boolean values and exceptions where appropriate
2015-10-17blockchain_export can now export to a blocks.dat formatmoneromooo-monero1-2/+15
Also make the number of blocks endian independant, and add support for testnet
2015-08-14blockchain_export: Add --output-file argumentwarptangent1-5/+10
This option will export to the specified file path. The default file path remains <data-dir>/export/blockchain.raw
2015-05-16Allow BlockchainLMDB to be opened in read-only modewarptangent1-2/+5
Have blockchain_export use read-only mode when source is BlockchainLMDB.
2015-05-15Rename "--block-number" option to "--block-stop"warptangent1-8/+8
Update help output for this and other options.
2015-05-08Rename src/blockchain_converter/ to src/blockchain_utilities/warptangent1-0/+0
Update appropriate files (CMakeLists.txt, README.md)
2015-05-08Update blockchain utilities with portable bootstrap file formatwarptangent1-254/+4
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-08Condense #if directiveswarptangent1-9/+2
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-03-22blockchain_export: show progress during exportwarptangent1-9/+17
2015-03-22Update Blockchain::get_db() to return reference instead of pointerwarptangent1-5/+5
Where this method is used, a BlockchainDB object is always expected, so a pointer is unnecessary and less safe.
2015-03-16blockchain_export: Add compile-time support for BlockchainDBwarptangent1-22/+41
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 utilitywarptangent1-0/+367
Based on work by tomerkon. See https://github.com/tomerkon/bitmonero src/cryptonote_core/bootfilesaver.{h,cpp} src/bootfilegen/bootfilegen.cpp