aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_utilities
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #5108Riccardo Spagni2019-03-041-0/+18
|\ | | | | | | 1c9d5285 blockchain_prune: don't prune before v10 (moneromooo-monero)
| * blockchain_prune: don't prune before v10moneromooo-monero2019-01-301-0/+18
| | | | | | | | | | This uses system time since it doesn't see the p2p network, so is not 100% accurate
* | ArticMine's new block weight algorithmmoneromooo-monero2019-03-041-1/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
* Pruningmoneromooo-monero2019-01-223-0/+702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* blockchain_ancestry: allow getting ancestry of a single outputmoneromooo-monero2019-01-161-229/+209
| | | | | | This involved a reorg of the code, to factor and speedup some bits, as well as using the cache for all modes, and making both modes usable in the same run.
* blockchain_blackball: make log file name consistent with executablestoffu2018-12-221-1/+1
|
* Merge pull request #4901Riccardo Spagni2018-12-122-0/+338
|\ | | | | | | | | a48f2dab blockchain_prune_known_spent_data: blackball file is now optional (moneromooo-monero) 17b45725 Outputs where all amounts are known spent can now be pruned (moneromooo-monero)
| * blockchain_prune_known_spent_data: blackball file is now optionalmoneromooo-monero2018-11-271-7/+44
| | | | | | | | | | If not present, the tool will scan the blockchain, since scanning for this is fairly fast.
| * Outputs where all amounts are known spent can now be prunedmoneromooo-monero2018-11-272-0/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #4899Riccardo Spagni2018-12-121-1/+95
|\ \ | | | | | | | | | 2be31b4c blockchain_blackball: spot when all outputs of an amount are spent (moneromooo-monero)
| * | blockchain_blackball: spot when all outputs of an amount are spentmoneromooo-monero2018-11-241-1/+95
| |/
* | Merge pull request #4894Riccardo Spagni2018-12-041-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero) 1a0733e5 windows_service: fix memory leak (moneromooo-monero) 0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero) 5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero) d4f50cb1 remove some unused code (moneromooo-monero) 61163971 a few minor (but easy) performance tweaks (moneromooo-monero) 30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
| * | remove some unused codemoneromooo-monero2018-11-231-1/+1
| |/ | | | | | | Found by codacy.com
* / blockchain_stats: don't use gmtime_r on Windowsmoneromooo-monero2018-11-211-1/+1
|/ | | | | | In some cases, it doesn't like it (I don't know the details). Factor into a new epee function
* Merge pull request #4742Riccardo Spagni2018-11-062-4/+4
|\ | | | | | | 0a95cdaa blockchain_utilities: fix logs and cout output colliding (moneromooo-monero)
| * blockchain_utilities: fix logs and cout output collidingmoneromooo-monero2018-10-272-4/+4
| |
* | Merge pull request #4694Riccardo Spagni2018-11-042-0/+365
|\ \ | | | | | | | | | a43daebf Add stats utility (Howard Chu)
| * | Add stats utilityHoward Chu2018-10-232-0/+365
| | | | | | | | | | | | Report statistics from a blockchain DB
* | | Merge pull request #4692Riccardo Spagni2018-11-042-10/+5
|\ \ \ | |_|/ |/| | | | | cb4aafd2 blockchain_utilities: simplify getting block blob from height (moneromooo-monero)
| * | blockchain_utilities: simplify getting block blob from heightmoneromooo-monero2018-10-222-10/+5
| |/
* | Merge pull request #4536Riccardo Spagni2018-10-262-18/+10
|\ \ | |/ |/| | | fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
| * blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon2018-10-222-18/+10
| |
* | Rename "blackball" for claritymoneromooo-monero2018-10-182-13/+13
|/ | | | Apparently some people seem to think it's a censorship list...
* Merge pull request #4530Riccardo Spagni2018-10-081-1/+1
|\ | | | | | | 77471e23 blockchain_blackball: fix stray ! (moneromooo-monero)
| * blockchain_blackball: fix stray !moneromooo-monero2018-10-081-1/+1
| |
* | Revert "Merge pull request #4472"Riccardo Spagni2018-10-082-10/+18
|/ | | | | This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
* blockchain_blackball: fix stats double countingmoneromooo-monero2018-10-081-15/+18
|
* blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon2018-10-042-18/+10
|
* Merge pull request #4470Riccardo Spagni2018-10-021-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2fbf38ee Fix 32bit depends builds (TheCharlatan) 17142ec9 malloc scratchpad for all supported android archs (m2049r) 6a781408 Make depends use self built clang for darwin (TheCharlatan) 69da14e1 fixes make debug compilation on OSX (Dusan Klinec) fe125647 Fixup RENAME_DB() macro (Howard Chu) b2972927 osx compilation fix: missing boost libs added (Dusan Klinec) 174f31bf simplewallet: don't complain about payment id on pool mined blocks (moneromooo-monero) 89288863 README: mention ASAN usage alongside valgrind (moneromooo-monero) 83debef9 wallet_rpc_server: remove verbose field in incoming_transfers query (moneromooo-monero) a69271fa Fixed a typo (Piotr KÄ…kol) 92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero) a21da905 Wallet: use unique_ptr for WalletImpl members (oneiric) 7a056f44 WalletAPI: multisigSignData bug fixed (naughtyfox) 43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero) 7964d4f8 wallet2: handle corner case in picking fake outputs (moneromooo-monero) 6f5360b3 bump version to 0.13.0.1 (Riccardo Spagni) cf470bf3 switch from master to rc (Riccardo Spagni)
| * Fix 32bit depends buildsTheCharlatan2018-09-291-0/+2
| | | | | | | | | | Add architecture flags when cmake invokes gcc manually. Add 32bit to Travis.
* | Merge pull request #4459Riccardo Spagni2018-09-291-3/+5
|/ | | | | | | | | | | | | | | | | | | | | | | bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero) 3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero) a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero) 1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero) fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero) 2e2139ff epee: do not propagate exception through dtor (moneromooo-monero) 0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero) 1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero) 418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero) ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero) 6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero) 53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero) e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero) 661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero) 5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero) 7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero) a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero) d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero) 02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero) c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
* Merge pull request #3430Riccardo Spagni2018-09-181-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 42397359 Fixup 32bit arm build (TheCharlatan) a06d2581 Fix Windows build (TheCharlatan) ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan) cbbf4d24 Adapt translations to upstream changes (TheCharlatan) db571546 Updated pcsc url (TheCharlatan) f0ba19fd Add lrelease to the depends (TheCharlatan) cfb30462 Add Miniupnp submodule (TheCharlatan) 5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan) d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan) 56b6e41e Add support for apple and arm building (TheCharlatan) 29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan) 8db3d573 Modify depends for monero's dependencies (TheCharlatan) 0806a23a Initial depends addition (TheCharlatan)
| * Add support for apple and arm buildingTheCharlatan2018-09-101-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
* | blockchain_blackball: s/return false;/return 0;/moneromooo-monero2018-09-141-1/+1
| |
* | blockchain_blackball: use %zu for size_tmoneromooo-monero2018-09-141-2/+2
| |
* | blockchain_blackball: use mdb_size_t where appropriatemoneromooo-monero2018-09-141-1/+1
| |
* | blockchain_blackball: error out on fgets errormoneromooo-monero2018-09-141-1/+5
| |
* | Merge pull request #4260Riccardo Spagni2018-09-141-209/+1103
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a54dbaee blockchain_blackball: add --force-chain-reaction-pass flag (moneromooo-monero) 44439c32 record blackballs as amount/offset, and add export ability (moneromooo-monero) 4bce935b blockchain_blackball: more optimizations (moneromooo-monero) b66ba783 blockchain_blackball: do not process duplicate blockchains parts (moneromooo-monero) 639a3c01 blockchain_blackball: make it clear secondary passes are not incremental (moneromooo-monero) eb8a51be blockchain_blackball: detect spent outputs by partial ring reuse (moneromooo-monero) d6d276c6 blockchain_blackball: fix chain reaction phase in incremental mode (moneromooo-monero) 2b2a681b blockchain_blackball: avoid false positives for different amounts (moneromooo-monero) 80e4fef3 blockchain_blackball: set transaction looping txn to read only (moneromooo-monero) 4801d6b5 blockchain_blackball: add stats (moneromooo-monero) 846190fd blockchain_blackball: support pre-v2 databases (moneromooo-monero) daa6cc7d blockchain_blackball: use LMDB for the cache (moneromooo-monero) 50cb370d ringdb: allow blackballing many outputs at once (moneromooo-monero)
| * | blockchain_blackball: add --force-chain-reaction-pass flagmoneromooo-monero2018-09-101-1/+4
| | |
| * | record blackballs as amount/offset, and add export abilitymoneromooo-monero2018-09-101-42/+199
| | |
| * | blockchain_blackball: more optimizationsmoneromooo-monero2018-09-091-45/+86
| | |
| * | blockchain_blackball: do not process duplicate blockchains partsmoneromooo-monero2018-09-091-0/+76
| | |
| * | blockchain_blackball: make it clear secondary passes are not incrementalmoneromooo-monero2018-09-091-1/+12
| | | | | | | | | | | | yet
| * | blockchain_blackball: detect spent outputs by partial ring reusemoneromooo-monero2018-09-091-0/+35
| | |
| * | blockchain_blackball: fix chain reaction phase in incremental modemoneromooo-monero2018-09-091-41/+35
| | | | | | | | | | | | It makes it a lot slower, unfortunately
| * | blockchain_blackball: avoid false positives for different amountsmoneromooo-monero2018-09-091-8/+12
| | | | | | | | | | | | | | | Identical offset based rings may not actually be identical rings since they represent different outputs
| * | blockchain_blackball: set transaction looping txn to read onlymoneromooo-monero2018-09-091-1/+1
| | |
| * | blockchain_blackball: add statsmoneromooo-monero2018-09-091-2/+94
| | |
| * | blockchain_blackball: support pre-v2 databasesmoneromooo-monero2018-09-091-79/+123
| | |
| * | blockchain_blackball: use LMDB for the cachemoneromooo-monero2018-09-091-136/+560
| | | | | | | | | | | | | | | | | | This uses less memory and makes it faster to load/save, though makes it slower to run (which is actually faster since it would previously start swapping anyway).