Commit Graph

11739 Commits

Author SHA1 Message Date
TomZ ffa9db67a3 Make lookup command look at the blockchain too 2018-09-25 00:07:00 +02:00
TomZ 9aec9e5eeb Merge branch 'master' into UnspentOutputDB 2018-09-24 21:25:34 +02:00
TomZ e1c9da3c86 Update benchmark data collection for UTXO 2018-09-24 21:24:40 +02:00
TomZ a28ffd18bb Write less txid's to the DB file and write shorter ones.
When pruning we sort leafs by txid / output and refrain from
writing the txid repeatedly for outputs of the same tx.
Additionally, use the fact that we only ever get to a leaf via
a bucket and since the first 64 bits of a txid is there, skip
repeating them when writing to disk.
Last, make pruning have different strategies.

This should shrink the utxo by about 40%
2018-09-24 21:24:28 +02:00
TomZ eb725209e1 Make the doublespend unit test more stable. 2018-09-24 21:23:27 +02:00
TomZ 1e9d9b3ea2 Fix system call, its in bytes not in ints 2018-09-24 21:23:27 +02:00
TomZ 343b0345eb Remove dead code 2018-09-24 21:23:27 +02:00
TomZ 39154aa625 Make startup/shutdown a bit more logical
Actually delete the asio io_service when we are done with it since that
will delete any left over tasks in the queue.
This makes deletion order more predictable.
2018-09-24 21:23:27 +02:00
TomZ 571d84ae0e Remove dead code. 2018-09-24 21:23:27 +02:00
TomZ c6acb41cc1 Fix validation engine sometimes hanging on shutdown. 2018-09-24 21:23:27 +02:00
TomZ 4d2f5130d4 Minor logging fix
show users that have configured the block size too low that this why
they get no new data.
2018-09-24 21:23:27 +02:00
TomZ 371ac9849c Fix case where reindex thought it was done
After we extract all block-headers from the files and we then shut down
the node this makes sure that we avoid thinking we finished because
there are no more jobs.
This so that a restarting node has the opportunity to continue indexing.
2018-09-24 21:23:27 +02:00
TomZ 16be66df67 Make logging a bit better (block validation)
when far behind don't print every single new block / header found,
only print every 1000th or so.
2018-09-24 21:23:27 +02:00
TomZ e7e4a43084 Make UTXO auto-prune 2018-09-20 22:03:44 +02:00
TomZ 02a7c1d2f6 Refactor pruner to lib from DBA tools 2018-09-20 22:03:44 +02:00
TomZ 13c2a64f56 Identify another usecase of utxo rollback and fix
Including unit test
2018-09-20 21:55:07 +02:00
TomZ 88e5e829a5 Re-do the UTXO rollback functionality
this is a much less memory-intensive version as it doesn't copy
entire buckets anymore.
2018-09-20 21:55:07 +02:00
TomZ c55c5ebe32 make lookup command a bit more useful. 2018-09-20 21:55:07 +02:00
TomZ fb6b7f562d Add CLI command Lookup (for the utxo) 2018-09-20 21:55:07 +02:00
TomZ 59916e1d01 Fixes in new utxo DB.
Fix loading old checkpoints, add fflush etc.
2018-09-20 21:55:07 +02:00
TomZ 087f2aa61e Add export command 2018-09-20 21:55:07 +02:00
TomZ 41771b8060 Finish up check command 2018-09-20 21:55:07 +02:00
TomZ 9a8bc78700 Move common code to the baseclass and start Check command 2018-09-20 21:55:07 +02:00
TomZ bf370f121d Make pruning work 2018-09-20 21:55:07 +02:00
TomZ 6c0f39317f Copy some data in the prune command 2018-09-20 21:55:07 +02:00
TomZ 44d7dae89a Start prune command 2018-09-20 21:55:07 +02:00
TomZ 067c196a81 Add -v option to show bucket usage. 2018-09-20 21:55:07 +02:00
TomZ da90708d7f Implement proper expansion of files. 2018-09-20 21:55:07 +02:00
TomZ f81fea1a89 Add InfoCommand to show details of an info file 2018-09-20 21:55:07 +02:00
TomZ 73cb23da3d start new tool 2018-09-20 21:55:07 +02:00
TomZ e7d2a52641 Remove proof-of-concept tool 2018-09-20 21:55:07 +02:00
TomZ 4072951b00 Log more 2018-09-20 21:55:07 +02:00
TomZ 4a52fd62ca Add test for duplicate inputs.
This failed on Bitcoin Core (with a crash), best way to show we don't
crash is to write a passing unit test.
2018-09-19 21:39:13 +02:00
TomZ 5aebd68835 Make faster. 2018-09-05 11:16:29 +02:00
TomZ 6c68f9df12 Updates to UnspentOutputDatabase classes
* remove unused code
* reorg code to make the access to disk be outside the mutex
* add detection of slow disk-writes and slow down data coming in
* Update and fix the rmHint
2018-09-05 11:16:29 +02:00
TomZ c17be105cf Rename variables for clarity of what they do 2018-08-30 18:44:12 +02:00
TomZ d062dbca39 remove dead code 2018-08-17 23:22:13 +02:00
TomZ f9f128b1cf Use signatures lookup cache 2018-08-17 23:13:02 +02:00
TomZ 523bf6d694 Fix and test merge conflicts 2018-08-15 20:38:28 +02:00
TomZ 82a670787e Merge branch 'master' into UnspentOutputDB
Conflicts:
	testing/prevector/test_prevector.cpp
	testing/test/test_bitcoin.cpp
	testing/utxo/test_utxo.cpp
2018-08-15 20:30:45 +02:00
TomZ 62bab30e36 Fix compiler warning 2018-08-15 20:23:36 +02:00
Tom Zander 69e7cd89f8 Merge branch 'master' into 'master'
Add CuckooCache

See merge request FloweeTheHub/thehub!6
2018-08-15 18:22:22 +00:00
TomZ 36c564d99f log Qt version in CMake 2018-08-14 22:44:00 +02:00
TomZ 9117309f6d Add 'make check' target 2018-08-14 22:44:00 +02:00
TomZ 9bfdb93535 Update gitlab CI system 2018-08-14 22:44:00 +02:00
TomZ 7df238b281 Refactor tests a little
Duplicate the test_bitcoin file into the common dir,
I hope to remove the original in future.
Make the common dir a new static lib and create a new
qtestlib based unit test out of the old doublespend unit test.
2018-08-14 22:44:00 +02:00
TomZ a982b6b3b4 Avoid duplication 2018-08-14 17:00:29 +02:00
TomZ f1fb278f75 Merge branch 'testlib' 2018-08-14 15:53:43 +02:00
TomZ c09634c131 Update the gitlab CI config and run the new test 2018-08-14 15:53:03 +02:00
TomZ 98d58df63d Move utxo tests over to be qtestlib too 2018-08-14 15:53:00 +02:00