aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-03-16ringdb: use the genesis block as a db namemoneromooo-monero1-1/+3
This will avoid careless forkers polluting the shared database even if they make their own chain. They'll then automatically start using another subdb, and any key-reusing fork of those forks will reuse their subdbs.
2018-03-16new blockchain_usage tool, reports on output usagemoneromooo-monero2-0/+289
2018-03-16wallet: make ringdb an object with database statemoneromooo-monero1-4/+6
2018-03-16blockchain_utilities: new blockchain_blackball toolmoneromooo-monero2-0/+460
It scans for known spent outputs and stores their public keys in a database which can then be read by the wallet, which can then avoid using those as fake outs in new transactions. Usage: monero-blockchain-blackball db1 db2... This uses the shared database in ~/.shared-ringdb
2018-03-05Stagenetstoffu2-5/+16
2018-02-16options: remove testnet-* optionswhythat2-7/+3
2018-02-02blockchain_export: fix buffer overflow in exportermoneromooo-monero1-1/+1
Coverity 182550
2018-01-26Update 2018 copyrightxmr-eric10-10/+10
2018-01-10Merge pull request #2997Riccardo Spagni1-2/+2
7c4f01a7 blockchain_import: more informative verification switch (moneromooo-monero)
2017-12-31Add misc hardening flags to the cmake machinerymoneromooo-monero1-2/+2
See https://wiki.debian.org/Hardening#User_Space
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-monero3-2/+5
2017-11-15Merge pull request #2778Riccardo Spagni1-9/+8
c957795b fix output_stream_header memory leak (MaxXor)
2017-11-14Merge pull request #2736Riccardo Spagni2-17/+8
0d9c0db9 Do not build against epee_readline if it was not built (Howard Chu) 178014c9 split off readline code into epee_readline (moneromooo-monero) a9e14a19 link against readline only for monerod and wallet-wallet-{rpc,cli} (moneromooo-monero) 437421ce wallet: move some scoped_message_writer calls from the libs (moneromooo-monero) e89994e9 wallet: rejig to avoid prompting in wallet2 (moneromooo-monero) ec5135e5 move input_line from command_line to simplewallet (moneromooo-monero) 082db75f move cryptonote command line options to cryptonote_core (moneromooo-monero)
2017-11-14move cryptonote command line options to cryptonote_coremoneromooo-monero2-17/+8
Those have no reason to be in a generic module
2017-11-14remove "using namespace std" from headersmoneromooo-monero3-5/+5
It's nasty, and actually breaks on Solaris, where if.h fails to build due to: struct map *if_memmap;
2017-11-08fix output_stream_header memory leakMaxXor1-9/+8
2017-10-15blockchain_utilities: Add monero-blockchain-{ex,im}port binaries todev/beber/installBertrand Jacquin1-0/+2
default install targets Binaries available to download on https://getmonero.org/downloads/ as embedding monerod, monero-wallet-{cli,rpc} and monero-blockchain-{ex,im}port. This change synchronise download results with a manual build from source
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-15Merge pull request #2589Riccardo Spagni2-6/+6
8f0cea63 add a command_line function to check for defaulted options (moneromooo-monero)
2017-10-15Merge pull request #2568Riccardo Spagni2-2/+2
7130cf0c Add tools::on_startup, and warn about glibc 2.25 bug if found (moneromooo-monero)
2017-10-15Merge pull request #2567Riccardo Spagni1-3/+0
54940d8c blockchain_import: remove a few commented out obsolete lines (moneromooo-monero)
2017-10-15Merge pull request #2469Riccardo Spagni3-3/+32
7adceee6 precomputed block hashes are now in blocks of N (currently 256) (moneromooo-monero)
2017-10-14Add tools::on_startup, and warn about glibc 2.25 bug if foundmoneromooo-monero2-2/+2
https://sourceware.org/bugzilla/show_bug.cgi?id=21778
2017-10-06add a command_line function to check for defaulted optionsmoneromooo-monero2-6/+6
2017-10-03blockchain_import: remove a few commented out obsolete linesmoneromooo-monero1-3/+0
2017-09-25Merge pull request #2457Riccardo Spagni3-56/+109
d2d8a41c Use actual batch size for resize estimates (Howard Chu)
2017-09-21build: auto update version info without manually deleting version.hstoffu1-4/+2
2017-09-18precomputed block hashes are now in blocks of N (currently 256)moneromooo-monero3-3/+32
This shaves a lot of space off binaries
2017-09-17Use actual batch size for resize estimatesHoward Chu3-56/+109
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-02Merge pull request #2384Riccardo Spagni3-26/+27
4e0e4e99 blockchain_import: warn for chunks over 500000, not 100000 (moneromooo-monero) 5b29e87f blockchain_import: properly cleanup core/db on exit (moneromooo-monero) e167c4d9 blockchain_import: do not error out on truncated files (moneromooo-monero)
2017-09-01blockchain_import: warn for chunks over 500000, not 100000moneromooo-monero3-4/+5
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 Chu2-60/+4
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 Chu3-95/+8
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp should ever be including DB-specific headers any more.
2017-08-15Merge pull request #2248Riccardo Spagni2-215/+0
71e28760 debug_utilities: only build for debug builds (moneromooo-monero) 55e150ff debug_utilities: new object-sizes debug tool (moneromooo-monero) fbaf5375 cn_deserialize: move to new debug_utilities subdirectory (moneromooo-monero)
2017-08-07blockchain_import: much faster when verifying with cryptonote::coremoneromooo-monero3-287/+152
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-08-03cn_deserialize: move to new debug_utilities subdirectorymoneromooo-monero2-215/+0
2017-05-25Move txpool to the databasemoneromooo-monero2-3/+3
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_export: make --log-level understand categoriesmoneromooo-monero1-4/+6
2017-03-05blockchain_import: error out nicely on exceptionsmoneromooo-monero1-0/+4
2017-03-05blockchain_export: error out nicely on exceptionsmoneromooo-monero1-0/+5
2017-03-03Fix double-importHoward Chu1-8/+10
Incomplete ifdef cleanup in 9e82b694da120708652871b55f639d1ef306a7ec
2017-02-24blockchain_utilities: link against blockchain_dbmoneromooo-monero1-0/+1
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni12-12/+12
2017-02-12tools: log to the correct filemoneromooo-monero2-2/+6
2017-02-12tools: set requested log levelmoneromooo-monero3-2/+4
also move a couple logs from INFO to DEBUG
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi845-8/+8
2017-01-16fixups in logging init calls, and add missing net context in a logmoneromooo-monero2-2/+2
2017-01-16Change logging to easylogging++moneromooo-monero6-104/+115
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
2017-01-14Use batch transactions when syncingHoward Chu1-2/+2
Faster throughput while avoiding corruption. I.e., makes running with --db-sync-mode safe more tolerable.
2016-12-13rename cn_deserializeRiccardo Spagni1-1/+1
2016-10-30Revert "remove cn_deserialize"moneromooo-monero2-0/+212
This is useful (to me). This reverts commit f968ccb9d3d34d163dc5638006e6b87c78ddfdb3.
2016-09-26Dropped "bit" from bitmonero.Randi Joseph1-4/+4
2016-09-18cmake: transitive deps and remove deprecated LINK_*redfish1-8/+16
Keep the immediate direct deps at the library that depends on them, declare deps as PUBLIC so that targets that link against that library get the library's deps as transitive deps. Break dep cycle between blockchain_db <-> crytonote_core. No code refactoring, just hide cycle from cmake so that it doesn't complain (cycles are allowed only between static libs, not shared libs). This is in preparation for supproting BUILD_SHARED_LIBS cmake built-in option for building internal libs as shared.
2016-09-03fix nigglies, as pointed out by moneromooo-moneroRiccardo Spagni1-8/+3
2016-09-03fix blockchain utilities readmeRiccardo Spagni1-42/+15
2016-09-03remove blockchain_dumpRiccardo Spagni2-444/+0
2016-09-03rename blockchain utilsRiccardo Spagni1-3/+3
2016-09-03remove cn_deserializeRiccardo Spagni2-217/+0
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero12-549/+7
2016-07-13remove hf_starting_height dbmoneromooo-monero1-4/+0
It's not really needed, it used to be an optimization for when that code was not using the db and needed to recalculate things fast on startup.
2016-06-06cn_deserialize: add minergate datamoneromooo-monero1-0/+1
2016-06-06cn_deserialize: print extra nonce as hex datamoneromooo-monero1-1/+1
2016-05-01cn_deserialize: deserialize tx_extra toomoneromooo-monero1-0/+21
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero4-28/+28
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero4-28/+28
Useful for debugging users' logs
2016-03-12switch default utilities DB to lmdb, update checkpoints.datRiccardo Spagni1-3/+6
2016-03-05Merge pull request #705Riccardo Spagni1-4/+54
f7ed167 blockchain_utilities: Update documentation (warptangent)
2016-03-05blockchain_utilities: Update documentationwarptangent1-4/+54
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 includeswarptangent2-2/+2
2016-02-22move g_test_dbg_lock_sleep from a global to a function level staticmoneromooo-monero5-10/+0
This avoids the need to define that variable in every program which uses epee.
2016-02-18blockchain_import: Pass ARCH_WIDTH macro if 32-bit or not.warptangent1-4/+4
This also avoids warnings.
2016-02-18Merge pull request #674Riccardo Spagni3-4/+14
05e7ac0 blockchain_import: Check bit width for more than just WIN32 (warptangent)
2016-02-17Fix cffc411c9025e1d28a8b6e32c53c83ba113d9204Howard Chu1-0/+2
Don't include bdb header unless defined(BERKELEY_DB)
2016-02-17blockchain_import: Check bit width for more than just WIN32warptangent3-4/+14
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 BerkeleyDBwarptangent2-21/+67
2016-02-14blockchain_import: Add database type argumentwarptangent2-4/+4
Default to LMDB.
2016-02-14blockchain_import: Make LMDB-specific names generalwarptangent2-33/+33
Also update terms to better distinguish blockchain management/engine from database type.
2016-02-08blockchain_utilities: remove unused num_blocks variablemoneromooo-monero1-2/+0
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_utilities: Have fake_core create HardFork objectwarptangent1-1/+13
The HardFork object is needed for the importer to update the hard fork data when verify mode is off.
2016-02-08fake_core: Check if hard fork subdbs need reset at startwarptangent1-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.
2016-01-15Fix hf when import with verify offHoward Chu1-0/+1
Delete the hf tables, so the next open will rescan and regenerate
2015-12-31update versionRiccardo Spagni5-5/+5
2015-12-31updated copyright yearRiccardo Spagni14-14/+14
2015-12-19Add missing semicolons after log statementsmoneromooo-monero2-2/+2
2015-12-05blockchain_db: make the indexing base a BlockchainDB virtual functionmoneromooo-monero1-3/+1
2015-12-05blockchain_dump: fix output key dump for BDB 1-based indicesmoneromooo-monero1-2/+5
Berkeley DB uses 1 based indices for RECNO databases, and the implementation of BlockchainDB for Berkeley DB assumes 1 based indices are passed to the API, whereas the LMDB one assumes 0 based indices. This is all internally consisteny, but since the BDB code stores 1 based indices in the database, external users have to be aware of this, as the indices will be off by one depending on which DB is used.
2015-11-22cn_deserialize: a new tool to decode blocks and transactionsmoneromooo-monero2-0/+196
2015-11-21Merge pull request #493Riccardo Spagni3-0/+6
f3724ae Fix startup crash when using a locale boost does not like (moneromooo-monero) 0c1dae3 i18n: allow language to be passed as a parameter (moneromooo-monero)
2015-11-21Fix startup crash when using a locale boost does not likemoneromooo-monero3-0/+6
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-10-30blockchain_dump: fix build without berkeley dbmoneromooo-monero1-0/+4
2015-10-27blockchain_utilities: properly exit on errormoneromooo-monero2-7/+7
Replace boolean values and exceptions where appropriate
2015-10-26Build fixes for the old blockchain_storage versionmoneromooo-monero1-2/+5
2015-10-25blockchain_utilities: new blockchain_dump diagnostic toolmoneromooo-monero2-0/+458
It dumps data from the blockchain to a JSON format, and is intended to help detect differences between data held in different database formats.
2015-10-17blockchain_export can now export to a blocks.dat formatmoneromooo-monero6-20/+331
Also make the number of blocks endian independant, and add support for testnet
2015-10-17bootstrap_file: do not try to create a directory with an empty namemoneromooo-monero1-10/+13
This will happen if the chosen output file does not have a path specified
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-08-14Merge pull request #374Riccardo Spagni3-16/+21
97c5faa blockchain_export: Add --output-file argument (warptangent)
2015-08-14blockchain_export: Add --output-file argumentwarptangent3-16/+21
This option will export to the specified file path. The default file path remains <data-dir>/export/blockchain.raw
2015-08-14doc: hammer the fact that the raw file isn't blockchain.binmoneromooo-monero1-1/+2
2015-07-15Merge pull request #334Riccardo Spagni4-8/+8
fd73d9c Check and resize if needed at batch transaction start (warptangent) f9e4afd blockchain_utilities: Increase debug statement's log level (warptangent) 699e4b3 blockchain_utilities: Pass expected number of blocks when starting batch (warptangent) 6e170c8 Optionally allow DB to know expected number of blocks at batch transaction start (warptangent)
2015-07-11blockchain_utilities: Increase debug statement's log levelwarptangent1-1/+1
2015-07-11blockchain_utilities: Pass expected number of blocks when starting batchwarptangent2-4/+4
2015-07-11Optionally allow DB to know expected number of blocks at batch transaction startwarptangent1-3/+3
This will assist in a DB resize check.
2015-07-07blockchain_utilities/README.md: add workaround for resizing in batch modemoneromooo-monero1-0/+3
2015-07-07blockchain_utilities/README.md: add high level "what is this about"moneromooo-monero1-1/+7
2015-05-31cleaning up, removing redundant files, renaming, fixing incorrect licensesRiccardo Spagni1-8/+13
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-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"warptangent3-46/+45
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/warptangent9-0/+2274
Update appropriate files (CMakeLists.txt, README.md)