Commit Graph

1419 Commits

Author SHA1 Message Date
Neil Booth
898e2eea00 Make pycodestyle happy 2018-08-02 16:17:30 +09:00
Neil Booth
93311ca84e Move query.py to contrib/ 2018-08-02 15:41:06 +09:00
Neil Booth
9185198703 Rework electrumx_rpc; add "query" command 2018-08-02 15:37:11 +09:00
Neil Booth
147989a0a6 Get query.py working 2018-08-02 10:56:21 +09:00
Kefkius
9e3893b065 Add Groestlcoin (#544)
* Add Groestlcoin

* GRS: Add tests
2018-08-02 07:12:14 +09:00
Neil Booth
4c7ab221a7 Allow per-class tx hash functions
Idea from erasmospunk; see #548
2018-08-01 12:08:01 +09:00
Neil Booth
aa1f43b6be Prepare 1.7.3 2018-08-01 10:49:42 +09:00
Neil Booth
6c3cce5705 Remove dead code 2018-07-31 06:48:05 +08:00
Neil Booth
c65f1214a9 Fix doc typos 2018-07-30 21:34:27 +08:00
Neil Booth
2c07939120 Temporarily remove one task group from peers.py
Fixes #538
2018-07-29 23:46:58 +08:00
Neil Booth
7b9cd944be Require aiorpcX 0.5.9 2018-07-29 05:58:44 +08:00
Neil Booth
0b4f6b3d6d Prepare 1.7.1 2018-07-28 17:13:54 +08:00
Neil Booth
d962c97ef1 Have one peer monitoring task per peer 2018-07-28 16:29:02 +08:00
Neil Booth
751f9917a4 Switch to curio primitives
Gives much clearer code
2018-07-28 14:35:54 +08:00
Neil Booth
55ef1ab157 Rework server_base to spawn a single task 2018-07-28 12:32:08 +08:00
Neil Booth
5ee5a54f5a Session manager owns peer manager 2018-07-28 09:22:19 +08:00
Neil Booth
010ef08320 Catch SOCKSError
Fixes #534
2018-07-27 09:08:05 +08:00
ghost43
5304080220 server list: add to btc testnet (#535) 2018-07-27 06:24:23 +08:00
cipig
3cdf453663 change BTX address format (#533) 2018-07-26 14:43:25 +08:00
Neil Booth
bef04750d7 Handle the case there are no blocks 2018-07-26 06:05:00 +08:00
Neil Booth
9b23fbc747 Prepare 1.7 2018-07-25 23:16:32 +08:00
Neil Booth
7a3938be23 Make mempool histogram refresh frequency coin-specific 2018-07-25 23:16:32 +08:00
Neil Booth
5e4586ce54 Create a task to start_servers()
That way we start waiting on the shutdown event no matter what
so we can always be shut down
2018-07-25 22:02:00 +08:00
Neil Booth
365c217031 header_mc might be None 2018-07-25 21:36:23 +08:00
Neil Booth
68dbf9fad2 Tweak task handling so all errors are logged 2018-07-25 21:35:05 +08:00
Neil Booth
3fbd4992ce Rework prefetch logic
This also fixes a recent reorg bug...
2018-07-25 20:40:25 +08:00
Neil Booth
d008707330 Fix bug recently introduced in reorgs
Fixes #532
2018-07-25 15:25:40 +08:00
Neil Booth
5a42f79bb8 Require an exact aiorpcX version
The interface is changing; best to target a single codebase
2018-07-25 11:07:14 +08:00
Neil Booth
ae143703ae Travis: test Python 3.7 2018-07-25 11:00:11 +08:00
Neil Booth
db8ee48c2e await on send_request directly 2018-07-25 10:40:50 +08:00
Neil Booth
8d3f98d3fd Don't check task exceptions ourselves 2018-07-25 10:40:50 +08:00
Neil Booth
fa84b0f54b Use asyncio.gather to propogate exceptions 2018-07-25 10:37:13 +08:00
Neil Booth
918592fbff Remove RequestError; clean up a bit 2018-07-25 09:47:07 +08:00
Neil Booth
e1309836ca Fix typo in prior 2018-07-24 21:38:50 +08:00
Neil Booth
eac214e508 Rework peer discovery
Make it more naturally async
2018-07-24 21:22:07 +08:00
Neil Booth
ba607544b9 Avoid callback in peer manager
Spawn separate tasks for each peer we test
2018-07-24 14:26:14 +08:00
Neil Booth
12c024f3ac Log proxy detection failure 2018-07-24 14:02:31 +08:00
Neil Booth
79b98b2b54 Distinguish private and public methods of peer mgr
Give private methods a leading _
Remove dead code
2018-07-24 13:52:40 +08:00
Neil Booth
92ddb52f63 Update various comments 2018-07-24 11:41:29 +08:00
joesixpack
83732af4fe Support for Minexcoin (#529) 2018-07-24 09:41:03 +08:00
Neil Booth
221f1222a6 Defer peer discovery 2018-07-24 09:20:45 +08:00
Neil Booth
316f642a08 Reduce memory footprint
- Use tuples in preference to lists
  They are always at least 11% smaller memory
  footprint, rising to 35% for short arrays
2018-07-24 09:15:35 +08:00
Neil Booth
7485d0aaf0 Retain the prevouts with each MemPoolTx 2018-07-24 08:21:58 +08:00
ghost43
45ccf8a64e fix mempool tx fee calculation typo (#531) 2018-07-23 20:31:52 +08:00
Neil Booth
7c01acdbf2 Remove comment 2018-07-23 17:26:51 +08:00
Neil Booth
b05cc4e78b Clean up fee histogram implementation
Much more efficient to just calculate it outright than try
and maintain datastructures
2018-07-23 17:26:42 +08:00
Neil Booth
3e535e47f4 Start peer discovery whilst syncing the mempool 2018-07-23 15:18:49 +08:00
Neil Booth
0963ce5230 Completely overhaul mempool sync logic
- highly concurrent and a lot more efficient than previously
- initial mempool sync should be much faster (feedback please)
- mempool processing no longer blocks client session handling
- uses less memory to store the mempool
- fixes an obscure bug where sometimes txs were dropped
- more robust, clean and easy to understand

Fixes #433
2018-07-23 15:18:04 +08:00
Neil Booth
21604cad15 Create a MemPoolTx object and use it 2018-07-22 23:19:35 +08:00
Neil Booth
4b3ceff0d2 Deserialize mempool txs in a thread 2018-07-22 22:18:54 +08:00