Commit Graph

799 Commits

Author SHA1 Message Date
Neil Booth
782479e91c Merge branch 'develop' 2017-02-18 13:30:07 +09:00
Neil Booth
d29c07f0eb Prepare 0.11.0 2017-02-18 13:29:52 +09:00
Neil Booth
790755b630 Reduce upper limit on blocks fetched at once
Testnet is lumpy and 2500 can blow up memory
2017-02-18 13:17:51 +09:00
Neil Booth
3f35bc0298 More PEP8 stuff 2017-02-18 13:05:26 +09:00
Neil Booth
33cdfa4fc8 Merge branch 'nmarley-pep8' into develop 2017-02-18 12:54:01 +09:00
Neil Booth
9bd7b5a9f9 Merge branch 'pep8' of https://github.com/nmarley/electrumx into nmarley-pep8 2017-02-18 12:51:58 +09:00
Neil Booth
151da40d5b Implement peer discovery protocol
Closes #104

DEFAULT_PORTS now a coin property
A Peer object maintains peer information
Revamp LocalRPC "peers" call to show a lot more information
Have lib/jsonrpc.py take care of handling request timeouts
Save and restore peers to a file
Loosen JSON RPC rules so we work with electrum-server and beancurd which don't follow the spec.
Handle incoming server.add_peer requests
Send server.add_peer registrations if peer doesn't have us or correct ports
Verify peers at regular intervals, forget stale peers, verify new peers or those with updated ports
If connecting via one port fails, try the other
Add socks.py for SOCKS4 and SOCKS5 proxying, so Tor servers can now be reached by TCP and SSL
Put full licence boilerplate in lib/ files
Disable IRC advertising on testnet
Serve a Tor banner file if it seems like a connection came from your tor proxy (see ENVIONMENT.rst)
Retry tor proxy hourly, and peers that are about to turn stale
Report more onion peers to a connection that seems to be combing from your tor proxy
Only report good peers to server.peers.subscribe; always report self if valid
Handle peers on the wrong network robustly
Default to 127.0.0.1 rather than localhost for Python <= 3.5.2 compatibility
Put peer name in logs of connections to it
Update docs
2017-02-18 12:43:45 +09:00
Neil Booth
251dca4da9 Update match groups 2017-02-17 21:42:34 +09:00
Neil Booth
4dcd7f25a5 Further fix regex for hex chars 2017-02-17 07:59:49 +09:00
Neil Booth
09b2df1179 Prepare 0.10.19 2017-02-16 08:01:45 +09:00
Neil Booth
82d57dc90f Accept IPv6 addresses in DAEMON_URL
Fixes #126
2017-02-16 08:00:08 +09:00
Neil Booth
60ad792179 Update docs 2017-02-12 08:35:47 +09:00
Nathan Marley
a03665696c recommendations from pycodestyle (pep8 style) 2017-02-07 20:12:50 -08:00
Neil Booth
09c4bdc5c3 Prepare 0.10.18 2017-02-06 19:48:54 +09:00
Neil Booth
6db9cb967c Require attributes to be specified for a coin 2017-02-06 19:48:30 +09:00
Neil Booth
23ebdecc5d Merge branch 'master' into develop 2017-02-06 19:31:13 +09:00
Neil Booth
13cf80a326 Re-enable bandwidth throttling 2017-02-06 19:29:20 +09:00
shsmith
169f5df91f update hostnames (#120) 2017-02-06 07:28:52 +09:00
Neil Booth
f1251766b6 Merge branch 'master' of github.com:kyuupichan/electrumx 2017-02-05 09:50:29 +09:00
Neil Booth
9130044c3b Merge branch 'develop' 2017-02-05 09:49:56 +09:00
Neil Booth
ba45e001fa Prepare 0.10.17 2017-02-05 09:49:46 +09:00
Neil Booth
1856cbe6c0 Coin fixes/cleanup (erasmospunk)
2 out of 3 from #118
2017-02-05 09:41:27 +09:00
Neil Booth
a019fde853 Show uptime in RPC getinfo result 2017-02-04 10:35:36 +09:00
Neil Booth
184fc615bd Improve clarity about current daemon URL 2017-02-04 10:35:35 +09:00
TheLazieR Yip
0e51c80156 Add PEERS for DASH (#117)
* Add PEERS for DASH

* Update PEER_DEFAULT_PORTS for DASH Testnet
2017-02-02 11:32:38 +09:00
Neil Booth
2d126f7436 Prepare 0.10.16 2017-01-31 20:09:57 +09:00
Neil Booth
055f4d67b0 Merge branch 'master' of github.com:kyuupichan/electrumx 2017-01-31 20:07:26 +09:00
Neil Booth
97557fa437 Don't send batches for now 2017-01-31 20:05:40 +09:00
lahlor
9c94fa9232 Change version number (#114) 2017-01-31 17:26:29 +09:00
Neil Booth
60711956d5 Prepare 0.10.15 2017-01-31 08:17:10 +09:00
Neil Booth
616bcf6bfd Add daemon_url RPC call and document it.
Closes #111
2017-01-31 08:13:25 +09:00
Neil Booth
b23b19473c Sanity check on basic IRC reported settings
Closes #110
2017-01-31 07:58:19 +09:00
Neil Booth
eff5d3d7e4 Force JSONRPCv2
Temporary backwards compat hack for old Coinomi wallets
2017-01-31 07:48:18 +09:00
John L. Jegutanis
fd19bddeb1 fix crash due to a missing env variable in irc.py and a typo fix (#112)
Thank you!
2017-01-30 23:52:56 +09:00
Neil Booth
cd078be882 Fix some typos 2017-01-29 18:43:58 +09:00
Neil Booth
d0ecdcc5bc Add docs/PROTOCOL.rst 2017-01-29 18:38:23 +09:00
Neil Booth
a49137eb05 Fix typo 2017-01-29 08:32:57 +09:00
Neil Booth
961e0e2a1a Merge branch 'develop' 2017-01-29 08:29:51 +09:00
Neil Booth
4a8cec9988 Prepare 0.10.14 2017-01-29 08:29:41 +09:00
Neil Booth
0202b2210a Add peer discovery document 2017-01-29 08:24:18 +09:00
Neil Booth
06c8eda161 Preparations for peer discovery
DEFAULT_PORTS is a now a coin property.
Other miscellaneous updates to get things closer
2017-01-29 06:47:43 +09:00
Neil Booth
f43c08d979 Log fatal messages once only 2017-01-29 06:08:29 +09:00
Neil Booth
48084fa9fb Merge branch 'develop' 2017-01-25 20:38:49 +09:00
Neil Booth
e4c206e123 Namespace fix 2017-01-25 20:38:28 +09:00
Neil Booth
1c0151a69f Merge branch 'develop' 2017-01-25 20:30:14 +09:00
Neil Booth
8bc9abf9c1 Prepare 0.10.13 2017-01-25 20:30:02 +09:00
Neil Booth
e56f188816 Implement peer subscriptions
Incremental updates are passed.
Also implement a server.features RPC
2017-01-25 20:28:19 +09:00
Neil Booth
551c04a3bc Remove all uses of "except:" 2017-01-25 20:28:19 +09:00
Neil Booth
76b6899cf2 Try to avoid asyncio log spew on shutdown
Closes #106.
This is a hacky workaround to an issue that needs to be
fixed in Python's asyncio library (where I filed issue 487
on github)
2017-01-25 20:27:33 +09:00
Neil Booth
cb0160901f Unify executor and futures logic 2017-01-24 21:25:37 +09:00