Neil Booth
d7887b62be
Merge branch 'irc_vars' of https://github.com/thelazier/electrumx into thelazier-irc_vars
2016-11-23 10:21:16 +09:00
TheLazieR Yip
f075f0bb5f
Add coin's IRC parameters
2016-11-23 08:15:03 +07:00
Neil Booth
f20859a8a6
Prepare 0.7.4
2016-11-23 09:55:54 +09:00
Neil Booth
640360c809
Add feature to simulate reorgs for debugging
2016-11-23 09:52:30 +09:00
Neil Booth
8970205e6c
Remove obsolete debugging feature
2016-11-23 09:16:41 +09:00
Neil Booth
2df5aa746f
Pop one from tx_counts for each block we back up.
...
Fixes #40
2016-11-23 09:11:49 +09:00
Neil Booth
26221e751e
Remove dead code
2016-11-23 09:02:01 +09:00
Neil Booth
39021792ca
Prepare 0.7.3
2016-11-22 08:11:05 +09:00
Neil Booth
d1ba4b1a76
Reset fs_height when backing up
2016-11-22 08:09:43 +09:00
Neil Booth
67bb01bf2c
Fix reorgs with unspendable TXOs
2016-11-22 07:50:01 +09:00
Neil Booth
e5c4bb9743
Prepare 0.7.2 release
2016-11-22 07:03:37 +09:00
Neil Booth
aa9f106865
Add missing self; use max_secs where intended.
2016-11-20 23:11:35 +09:00
Neil Booth
285a66fceb
Prepare 0.7.1
2016-11-20 22:03:04 +09:00
Neil Booth
fa30c5529b
Fix missing qualifier
2016-11-20 22:01:44 +09:00
Neil Booth
dd0cd0156f
Remove debug log
2016-11-20 20:56:12 +09:00
Neil Booth
87cdd2709d
Implement daemon failover
...
Daemon URLs can be comma-separated in the DAEMON_URL env var.
Surrounding whitespace is stripped.
http:// is preprended if missing.
The coin's default port is supplied if missing.
A trailing / is supplied if missing.
Closes #33
2016-11-20 20:52:54 +09:00
Neil Booth
11558fd9d2
Add debug log
2016-11-20 20:52:54 +09:00
Neil Booth
1dc43b3020
Show connection total in connection log
...
Fix typo resulting in no mempool notifications
2016-11-20 19:29:58 +09:00
Neil Booth
009750bacb
Merge branch 'async_mempool' into develop
2016-11-20 18:25:40 +09:00
Neil Booth
5eb92007ae
Remove redundant log; IRC will emit one
2016-11-20 18:18:30 +09:00
Neil Booth
98fd178c62
Make mempool truly asynchronous
...
Mempool updates happen in parallel asynchronously to processing of
new blocks once caught up. This means that, e.g., during the initial
slow mempool download incoming blocks can be processed and communicated
to clients without waiting for the downloaded mempool transaction
analysis to complete. From a client's point of view the server won't
be seen as lagging.
2016-11-20 18:17:55 +09:00
Neil Booth
8b34d1c134
Log IRC errors, typically missing package
2016-11-20 18:09:32 +09:00
Neil Booth
dd5a31d0f4
Take a little more care cleaning up connections
2016-11-19 20:56:08 +09:00
Neil Booth
8617c82ec2
Floor disk_count at zero.
2016-11-19 20:56:08 +09:00
Neil Booth
ccf24fdc71
Wait 20 secs for sockets to close
...
10 seems a little low
2016-11-19 20:00:38 +09:00
Neil Booth
d856cbab90
Prepare 0.6.3
2016-11-19 17:10:58 +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
0b52376f23
Add subscription limits
2016-11-19 10:51:16 +09:00
Neil Booth
4a4d11ad7c
Prepare release 0.6.2
2016-11-19 08:21:17 +09:00
Neil Booth
ffd6cd63b0
Fix thinko
2016-11-19 08:16:20 +09:00
Neil Booth
913d156786
Convert DaemonError to RPCError
...
To cleanly return errors to clients
getrawtransaction has the ugly API and still does its own thing
Fixes #32
2016-11-19 08:12:13 +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
3abddf4a51
Simplify sessions call
2016-11-19 00:02:56 +09:00
Neil Booth
6d7bc7595f
Prepare release 0.6.1
2016-11-18 22:28:42 +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
beeb60f324
Implement blockchain.address.get_mempool
...
Fixes #26
2016-11-18 21:41:27 +09:00
Neil Booth
e6058c3fd3
hex_hash is already hex
2016-11-18 21:16:34 +09:00
Neil Booth
7f3551e435
tx_merkle: catch bad hashes and report properly
...
Fixes #27
2016-11-18 20:56:53 +09:00
Neil Booth
4fe7e7dab2
Merge branch 'better_logs' into develop
2016-11-18 20:19:27 +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
66c493dbf4
Make the default reorg_limit a coin property
2016-11-18 19:21:38 +09:00
Neil Booth
022a919701
Prepare release 0.6
2016-11-17 23:08:19 +09:00
Neil Booth
4c7f72fe68
RPCError is not a global variable
2016-11-17 22:07:37 +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
c5c7b6f438
Have all expensive requests yield.
2016-11-17 06:50:46 +09:00
Neil Booth
f17ad2ddf4
Put notifications on the session queue
...
This keeps the network in-order and means slow clients get slow
notifications, which seems fairer.
Add some simple logging
2016-11-17 06:04:08 +09:00
Neil Booth
a1eb446af4
Tweak notify handling
2016-11-17 05:37:37 +09:00
Neil Booth
cc2db4a62c
Bump HIST_MB default to 300MB
2016-11-16 06:39:39 +09:00
Neil Booth
b60eb5ca17
Prepare 0.5.1
2016-11-15 21:34:08 +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
8c55f41305
Accept more SSL protocols
2016-11-14 23:13:34 +09:00
Neil Booth
95cc979465
Yield more during mempool load
2016-11-14 23:12:50 +09:00
Neil Booth
1830cae3de
Remove a redundant message
2016-11-14 21:52:25 +09:00
Neil Booth
83674b1b7b
Clarify peername() logic
2016-11-14 21:28:42 +09:00
Neil Booth
be45a9e228
Minor improvements to client handling
...
Don't create a task until ready to execute it
Log expensive tasks
Assume peers are for logging unless explicitly not stated
2016-11-14 21:15:09 +09:00
Neil Booth
14d3d85bd9
Need an array to take its len
2016-11-14 19:52:18 +09:00
Neil Booth
dc74c869a1
Await task after cancelling it.
2016-11-14 19:24:17 +09:00
Neil Booth
984a482590
Merge branch 'master' into develop
2016-11-14 08:11:40 +09:00
Neil Booth
12ed9f7069
Have session_count return a dictionary
2016-11-14 08:01:00 +09:00
Neil Booth
1b8881800d
Move the RPC handlers to the manager
2016-11-14 07:56:48 +09:00
Johann Bauer
d45321927e
Add optional option to anonymise logs (remove IP addresses)
2016-11-13 23:56:16 +01:00
Neil Booth
c22366c1cc
Prepare 0.5 release
2016-11-13 22:41:11 +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
57dd4ece9c
Avoid annoying exception on shutdown
2016-11-13 17:52:08 +09:00
Neil Booth
e7e0dd15be
Don't log new peers any more
2016-11-13 15:44:37 +09:00
Neil Booth
831225492e
Better RPC sessions stats
2016-11-13 15:28:34 +09:00
Neil Booth
7523735f99
Split out server and session management
2016-11-13 14:43:13 +09:00
Neil Booth
3b6ab77e47
Break out JSONRPC into own file
...
- improved handling of JSON 2.0 RPC protocol
- permits batched requests (not yet supported by Electrum client)
2016-11-13 13:39:37 +09:00
Neil Booth
d816c21752
Prepare 0.4.1
2016-11-12 23:23:08 +09:00
Neil Booth
14d8ece7c6
Return a version the Electrum client expects
...
If you don't do this you don't appear in the network dialog box
2016-11-12 23:20:20 +09:00
Neil Booth
d84417e2d6
Add note about IRC package
2016-11-12 22:09:00 +09:00
Neil Booth
751bb2d970
Remove debug code
2016-11-12 21:52:50 +09:00
Neil Booth
5624809933
Prepare 0.4
2016-11-12 21:51:43 +09:00
Neil Booth
c93f6cb920
Final cleanup
2016-11-12 21:48:34 +09:00
Neil Booth
cb7b7dd1fe
Move pretty printing of sessions to client
...
Tweak logging
2016-11-12 21:36:49 +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
261682439d
Prepare 0.3.3
2016-11-12 09:46:20 +09:00
Neil Booth
24df3cef7b
Merge branch 'master' into release-0.3.3
2016-11-12 09:45:49 +09:00
Neil Booth
d8bb174f2b
Use correct daemon API
2016-11-12 09:42:35 +09:00
Neil Booth
419ab68a38
Prepare 0.3.2
2016-11-12 09:27:46 +09:00
Neil Booth
59b2b2cb04
Better log formatting
2016-11-12 09:26:40 +09:00
Neil Booth
7496b511b8
Fix silly thinko
2016-11-12 09:25:34 +09:00
Neil Booth
312708e2e7
Fix daemon warming up
2016-11-12 09:20:46 +09:00
Neil Booth
3798ef80ef
Prepare 0.3.1
2016-11-12 09:12:18 +09:00
Neil Booth
409ea2c784
Daemon's send takes a processor
...
Simplest way to process the result and still be able to raise exceptions
in the daemon request loop. In particular, we can pass missing txs through
as None in getrawtransactions.
Fixes #9
2016-11-12 09:09:31 +09:00
Neil Booth
f05e51df2a
Skip logging transient errors just once
2016-11-12 08:12:41 +09:00
Neil Booth
56274fb9ea
Prefix internal methods with an underscore
2016-11-12 07:43:24 +09:00