Neil Booth
8617c82ec2
Floor disk_count at zero.
2016-11-19 20:56:08 +09:00
Neil Booth
52116539d4
Clean shutdown: wait for transports to close
...
We give 10 seconds for everything to be cleaned up, then close forcibly.
Fixes #30
2016-11-19 17:05:47 +09:00
Neil Booth
3d87e299ea
Move formatted_time to library
2016-11-19 15:42:06 +09:00
Neil Booth
942d5d6b00
Fix import
2016-11-19 08:07:37 +09:00
Neil Booth
063a5469cc
Move mempool to be with BlockServer
...
BlockProcessor doesn't really need a mempool; mempools are
only useful for servers.
Set first_sync before flushing, so it goes into DB state.
Start servers immediately on catchup; mempool fills asynchronously.
Fixes #31
2016-11-19 08:02:13 +09:00
Neil Booth
d6fa4a1564
More logging improvements
...
- log software and DB version at startup
- log more DB info at startup
- log software and DB version when first synced
Fixes #29
2016-11-19 07:29:17 +09:00
Neil Booth
88185b0daa
Bump log threshold up; tweak log
2016-11-18 22:20:48 +09:00
Neil Booth
24d9e5a95e
Tweak flush logic
...
Aim to not check cache size if caught up; also reduces logs
2016-11-18 22:17:34 +09:00
Neil Booth
e6058c3fd3
hex_hash is already hex
2016-11-18 21:16:34 +09:00
Neil Booth
d2c575a24b
Better, more concise logs, particularly when caught up.
2016-11-18 20:08:43 +09:00
Neil Booth
3f8b26291a
At startup only log some things during initial sync
2016-11-18 19:21:45 +09:00
Neil Booth
f4651c0ca4
Store tx_num in 'h' table key so keys are unique
2016-11-17 07:59:40 +09:00
Neil Booth
3c98053f5d
Remove some dead code
2016-11-17 07:44:42 +09:00
Neil Booth
d85034353f
Remove useless re-raise of cancellation
2016-11-15 20:13:50 +09:00
Neil Booth
db187540d5
Have task coros handle cancelled exceptions
2016-11-15 20:09:38 +09:00
Neil Booth
a2280bbc93
Clean up futures handling
2016-11-15 20:09:38 +09:00
Neil Booth
8671e57183
Move fs flushes to same time as history flushes
2016-11-15 06:28:52 +09:00
Neil Booth
95cc979465
Yield more during mempool load
2016-11-14 23:12:50 +09:00
Neil Booth
451f9d026a
Merge branch 'save_all_utxos' into develop
2016-11-13 20:42:43 +09:00
Neil Booth
85786b87a2
Save all UTXOs
...
Change the DB version
2016-11-13 20:35:03 +09:00
Neil Booth
4dac728984
Ignore the unspendable genesis coinbase
...
Fixes #17
2016-11-13 20:15:54 +09:00
Neil Booth
41ff6e5b11
Prepare 0.4.3
2016-11-13 17:55:50 +09:00
Neil Booth
c93f6cb920
Final cleanup
2016-11-12 21:48:34 +09:00
Neil Booth
501807bf1a
Implement IRC support and related queries from clients
2016-11-12 21:06:51 +09:00
Neil Booth
80fe427c89
Improve logging
2016-11-12 20:50:44 +09:00
Neil Booth
1b9a9b8927
Start saving DB version and checking it
2016-11-12 07:31:56 +09:00
Neil Booth
244a0f2fab
Update release notes.
2016-11-11 21:18:51 +09:00
Neil Booth
15e052c728
Merge branch 'utxo_optimised' into develop
2016-11-11 21:04:39 +09:00
Neil Booth
f98dc9c351
Practise optimism like before
2016-11-11 21:03:09 +09:00
Neil Booth
56098e0c52
Show up to 3 missing UTXOs
...
Fixes #15
2016-11-10 23:51:44 +09:00
Neil Booth
311f7f9ffd
Better optimised storage of UTXO set
2016-11-10 20:04:33 +09:00
Neil Booth
094fd44fc2
Merge UTXO cache into BlockProcessor
2016-11-10 07:49:01 +09:00
Neil Booth
1737bb8354
Move some code back to correct place
...
Fixes #12
2016-11-10 07:41:56 +09:00
Neil Booth
06b6d695c2
Only attempt to flush if cancelled
2016-11-10 07:32:39 +09:00
Neil Booth
a07ed5876b
Count missing UTXOs and log just once
...
They're a temporary phenomenon but it's handy to see how often
these things happen. Fixes #10 .
2016-11-09 07:30:48 +09:00
Neil Booth
55cc1d3d65
More regularly
2016-11-09 06:50:00 +09:00
Neil Booth
212d653b5b
Yield during mempool updates
2016-11-09 06:45:24 +09:00
Neil Booth
ed44c6ab73
Clean up startup procedure
2016-11-09 00:47:49 +09:00
Neil Booth
a510603b46
Better logging of initial mempool fill
2016-11-08 23:37:19 +09:00
Neil Booth
3972e18e98
Move the rest of fs_cache into BlockProcessor
2016-11-08 23:30:30 +09:00
Neil Booth
ad2dabf751
Remove the FS cache
...
Really belongs with BlockProcessor now
2016-11-08 20:06:06 +09:00
Neil Booth
5736e9cb70
Move utxo_cache to BlockProcessor where it belongs
2016-11-08 19:35:21 +09:00
Neil Booth
5c5e90d574
Move BlockServer to more appropriate location
2016-11-08 19:20:13 +09:00
Neil Booth
93d53bdd87
The controller is dead!
2016-11-08 08:29:56 +09:00
Neil Booth
2b028cc065
Create BlockServer
...
Controller now an empty shell
2016-11-08 08:09:59 +09:00
Neil Booth
c0a112f8ea
Split out part of block processor into db.py
...
The part that doesn't actually do any block processing...
2016-11-08 07:38:16 +09:00
Neil Booth
f02acdfd46
A couple more tweaks.
2016-11-06 14:56:08 +09:00
Neil Booth
3ab07c1fb6
Speed up script parsing for ~3% faster throughput
...
Also improves the coin abstraction
2016-11-06 14:32:27 +09:00
Neil Booth
3d41738a00
Allow daemon is None still
2016-11-06 12:09:41 +09:00
Neil Booth
e651530e5d
Log immediately if mempool shrinks
2016-11-06 10:16:02 +09:00
Neil Booth
c2703c58a3
Better mempool log
2016-11-06 09:41:06 +09:00
Neil Booth
c26bc43a00
Remove keys if value is empty
2016-11-06 08:54:56 +09:00
Neil Booth
18efa67f1d
Various daemon improvements
2016-11-06 08:24:18 +09:00
Neil Booth
1b589d3d1f
Remove old reorg forcing code
2016-11-06 06:53:34 +09:00
Neil Booth
00e9c5a31d
Add daemon debugging caught-up facility
2016-11-05 21:37:02 +09:00
Neil Booth
312aaf4736
Attempt to improve the ETA
2016-11-05 18:38:11 +09:00
Neil Booth
f86d91862e
Fix typos
2016-11-05 16:03:11 +09:00
Neil Booth
9fbbc8bfdb
Clean up daemon interface.
2016-11-05 15:59:42 +09:00
Neil Booth
aa6e4ad922
Raise on chain reorgs
...
In 0.06 advance_block() returned None instead of True.
Cleaner to throw.
2016-11-05 13:31:33 +09:00
Neil Booth
b5d1f401fd
Fix bugs
2016-11-05 12:58:23 +09:00
Neil Booth
48b8b9332e
Initial attempt at mempool
2016-11-05 12:27:37 +09:00
Neil Booth
d25e66cb2e
Handle the nothing touched case.
2016-11-04 20:08:17 +09:00
Neil Booth
be0a5f246c
Fix some typos.
2016-11-03 23:05:13 +09:00
Neil Booth
c0568daec3
Rework the DB API a bit
2016-11-03 19:09:21 +09:00
Neil Booth
892e9524e5
Fix bugs handling client UTXO requests
...
Allow strings for ints - Electrum command line doesn't convert
Don't blow away hash168s from the DB
2016-11-03 19:09:05 +09:00
Neil Booth
07515c6a0d
Fix some of the DB interface
2016-11-03 19:08:41 +09:00
Neil Booth
be2475f617
Handle utxo.get_address
2016-11-03 19:08:25 +09:00
Neil Booth
a5b73560f3
Fix reorg assertion, I think
2016-11-03 19:07:51 +09:00
Neil Booth
51accf7dfe
Update BlockProcessor for server changes
2016-11-03 19:05:10 +09:00
Neil Booth
e717e719c1
Prefetcher cleanup
2016-11-03 18:29:36 +09:00
Neil Booth
ceecdc54ac
Server work
...
Avoid touching the block preprocessor hot loop for now
2016-11-03 17:26:50 +09:00
Neil Booth
f9fcdf2232
Merge branch 'master' into develop
2016-11-03 16:53:08 +09:00
Neil Booth
3d11afbda2
Enable servers
2016-11-03 16:48:10 +09:00
Neil Booth
d2ebb80fac
Extend copyright notice; improve comments
2016-11-03 16:45:06 +09:00
Neil Booth
58a5e69fca
Fix logging issues on sync without the perf hit
2016-11-03 16:40:29 +09:00
Neil Booth
d0088e474a
Fix stats
2016-10-29 15:20:38 +09:00
Neil Booth
5c63cd40de
Implement reorg logic
2016-10-29 14:38:54 +09:00
Neil Booth
76748d2673
Fix query.py
2016-10-28 21:41:36 +09:00
Neil Booth
2b45698962
Remove Outpoint as a separate object
...
Hopefully this is a little more efficient
2016-10-28 07:35:18 +09:00
Neil Booth
6957b59b19
Start work on handling block reorgs
...
Unfinished
2016-10-28 06:02:18 +09:00
Neil Booth
b0d5c623b4
Set block_size to the default of 4K
2016-10-28 05:45:09 +09:00
Neil Booth
2001d5c4f4
Merge the DB and BlockProcessor classes
2016-10-27 07:59:46 +09:00
Neil Booth
c0be9860d8
Restore get_tx_hash fix
2016-10-27 07:58:50 +09:00
Neil Booth
c008c04e43
Move caches to their own file.
...
Move the DB to the block_processor file. It will merge with it soon.
2016-10-27 07:58:00 +09:00
Neil Booth
ace80c7b87
Split out the prefetcher.
2016-10-27 07:49:56 +09:00
Neil Booth
a813eaf5f5
Rename BlockCache and put in own file
2016-10-27 07:49:23 +09:00