aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities/CMakeLists.txt (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-03-04Copyright: Update to 2022mj-xmr1-1/+1
2020-05-06Update copyright year to 2020SomaticFanatic1-1/+1
Update copyright year to 2020
2019-03-05Update 2019 copyrightbinaryFate1-1/+1
2019-01-22Pruningmoneromooo-monero1-0/+33
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2018-11-27Outputs where all amounts are known spent can now be prunedmoneromooo-monero1-0/+33
Only for pre rct for obvious reasons. Note: DO NOT use a known spent list which includes outputs which are not known spent. If the list includes any output that's just strongly thought to be spent, but not provably so, you risk finding yourself unable to sync past the point where that output is spent. I estimate only 200 MB saved on current mainnet though, unless the new blackballing rule unearths a good amount of large-amount-set extra spent outs.
2018-10-23Add stats utilityHoward Chu1-0/+28
Report statistics from a blockchain DB
2018-10-22blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-17/+3
2018-10-18Rename "blackball" for claritymoneromooo-monero1-1/+1
Apparently some people seem to think it's a censorship list...
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni1-3/+17
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-17/+3
2018-09-29Fix 32bit depends buildsTheCharlatan1-0/+2
Add architecture flags when cmake invokes gcc manually. Add 32bit to Travis.
2018-09-10Add support for apple and arm buildingTheCharlatan1-1/+3
Add pcsc-lite to linux builds Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-08-07blockchain_depth: get the average min depth of a set of txesmoneromooo-monero1-0/+32
2018-07-30blockchain_ancestry: finds all ancestors of a tx, block, or chainmoneromooo-monero1-0/+32
2018-05-30blockchain_utilities: do not link against unneeded p2p libmoneromooo-monero1-4/+0
2018-03-16new blockchain_usage tool, reports on output usagemoneromooo-monero1-0/+33
2018-03-16blockchain_utilities: new blockchain_blackball toolmoneromooo-monero1-0/+37
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-01-26Update 2018 copyrightxmr-eric1-1/+1
2017-12-31Add misc hardening flags to the cmake machinerymoneromooo-monero1-2/+2
See https://wiki.debian.org/Hardening#User_Space
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-09-21build: auto update version info without manually deleting version.hstoffu1-4/+2
2017-08-07blockchain_import: much faster when verifying with cryptonote::coremoneromooo-monero1-2/+12
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-monero1-23/+0
2017-02-24blockchain_utilities: link against blockchain_dbmoneromooo-monero1-0/+1
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-01-16Change logging to easylogging++moneromooo-monero1-0/+3
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-12-13rename cn_deserializeRiccardo Spagni1-1/+1
2016-10-30Revert "remove cn_deserialize"moneromooo-monero1-0/+22
This is useful (to me). This reverts commit f968ccb9d3d34d163dc5638006e6b87c78ddfdb3.
2016-09-26Dropped "bit" from bitmonero.Randi Joseph1-4/+4
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-03remove blockchain_dumpRiccardo Spagni1-27/+0
2016-09-03rename blockchain utilsRiccardo Spagni1-3/+3
2016-09-03remove cn_deserializeRiccardo Spagni1-27/+0
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-33/+0
2016-02-18blockchain_import: Pass ARCH_WIDTH macro if 32-bit or not.warptangent1-4/+4
This also avoids warnings.
2016-02-17blockchain_import: Check bit width for more than just WIN32warptangent1-0/+10
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.
2015-12-31updated copyright yearRiccardo Spagni1-1/+1
2015-11-22cn_deserialize: a new tool to decode blocks and transactionsmoneromooo-monero1-0/+26
2015-10-25blockchain_utilities: new blockchain_dump diagnostic toolmoneromooo-monero1-0/+27
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-monero1-0/+4
Also make the number of blocks endian independant, and add support for testnet
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-3/+6
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-03-16Add blockchain_export utilitywarptangent1-0/+29
Based on work by tomerkon. See https://github.com/tomerkon/bitmonero src/cryptonote_core/bootfilesaver.{h,cpp} src/bootfilegen/bootfilegen.cpp
2015-03-16Add blockchain_import utilitywarptangent1-0/+27
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-06Moved BlockchainDB into its own src/ subfolderThomas Winget1-0/+1
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-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-04very, VERY primitive blockchain converterThomas Winget1-18/+18
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)
2015-01-02year updated in licenseRiccardo Spagni1-1/+1
2014-10-24cmake: support 2.8.7Ben Boeckel1-1/+1
Older versions of CMake support LINK_{PUBLIC,PRIVATE} while newer versions prefer PUBLIC and PRIVATE instead, but still support the LINK_ prefix.
2014-10-23daemon_tests: update cmake codeBen Boeckel1-4/+50
It's still not valid, but it's commented out anyways; update to code so it matches the style at least.
2014-03-03moved all stuff to githubAntonio Juarez1-0/+5