Commit Graph

76 Commits

Author SHA1 Message Date
Neil Booth 7e3ff4417a Move peer management to peers.py from irc
It's cleaner and will be useful for peer-to-peer comms later
2017-01-22 23:34:44 +09:00
Neil Booth e93eff43d3 Remove LMDB
Performance of history writes was very poor even with
the code rewritten to accommodate the environment concept
(see db_abstraction branch)
2017-01-16 22:03:45 +09:00
Neil Booth 3d8fde48b1 Update docs 2017-01-16 19:32:22 +09:00
Neil Booth 655c875c03 Clean up shutdown logic and logging
Add RPC "stop" command, and document it.

Fixes the 2nd part of #100
2017-01-16 19:31:57 +09:00
Neil Booth d533b00eed Merge branch 'json-named-args' into develop 2017-01-12 22:41:18 +09:00
Neil Booth 430c2dafb6 Clarify README; no need to resync.
Update HOWTO and docs
2017-01-12 22:40:21 +09:00
Neil Booth 64aec8c97c Update docs 2017-01-11 19:39:36 +09:00
Neil Booth 7a418a5ebc Update HOWTO 2017-01-11 19:39:35 +09:00
Neil Booth c38d33ac4c Add an RPC call to force a reorg at run-time
This required a large rework block processor and prefetcher
interaction, and led to various cleanups

Closes #103
2017-01-09 17:14:06 +09:00
Neil Booth 2c1ae050cc Make flushes and reorgs async
Apart from the flush on shutdown and the flush when caught up,
neither of which matter, this makes flushes asynchronous.

Also, block processing for reorgs is now asynchronous.

This also removes the FORCE_REORG debug envvar; I want to
put that into the RPC interface.

Closes #102
2017-01-09 16:15:17 +09:00
Neil Booth ef09936cdc Rename NETWORK envvar to NET
For consistency with lib/coins.py

SegWit testnet needs its own NET
2017-01-08 10:07:58 +09:00
Neil Booth b704f12c5b Split out history into its own DB. 2017-01-07 11:51:12 +09:00
Neil Booth 6ff69cf60c Fix log message 2017-01-07 11:51:00 +09:00
Neil Booth 2c6d79989e Tweak documentation for clarity 2017-01-07 11:51:00 +09:00
Neil Booth badd68b5f5 Update the ARCHITECTURE document
Also has a pretty line diagram
2017-01-03 17:05:39 +09:00
Neil Booth 8a07e66265 Move ENV-NOTES to ENVIRONMENT.rst
Improve environment documentation
2017-01-03 14:18:59 +09:00
Neil Booth 81f6e9ee18 Explain what logging a session means 2017-01-03 09:18:30 +09:00
Neil Booth 11061bb6e4 Add documentation of the RPC interface 2017-01-02 19:29:19 +09:00
Neil Booth 1eb245f74c New env var MAX_SESSIONS
When the number of sessions reaches MAX_SESSIONS, which defaults
to 1,000, turn off TCP and SSL listening sockets to prevent new
connections.  When the session count falls below a low watermark,
currently 90% of MAX_SESSIONS, the listening sockets will be re-opened.
Helps prevent DoS and limit open file usage.

Bug fix: do not start serving paused connections until the buffer
socket is sufficiently drained.  Also, loop.
2016-12-13 22:47:03 +09:00
Neil Booth aa8a146668 Fix cut-n-pasteo 2016-12-10 09:07:08 +09:00
Neil Booth dddc4d9a77 Give sockets a grace period to close
Defaults to 15 seconds for now.
Update docs on systemd and process limits.
Fixes #62
2016-12-10 08:52:24 +09:00
Neil Booth a2a98e3428 Revert "Add feature to rate limit connections"
This reverts commit a82ab0b07577c624031e725ce780d4bcb77c30b9.
2016-12-05 23:27:36 +09:00
Neil Booth 61917c2686 Add feature to rate limit connections 2016-12-04 21:14:45 +09:00
Neil Booth 08928ca6d2 Prepare 0.8.1 2016-12-03 20:24:53 +09:00
Neil Booth 36b71afb84 Close stale sessions
New envvar SESSION_TIMEOUT
A session with no activity is cut off after this time
Fixes #56
2016-12-03 13:06:20 +09:00
Shane Moore 19715818ba Add Tor-specific port options for IRC 2016-12-01 03:21:52 -08:00
Shane Moore 39bc03dc72 Add IRC option to publish Tor address 2016-11-30 23:50:20 -08:00
Neil Booth 6e70672961 Prepare 0.7.14 2016-11-29 22:22:07 +09:00
Neil Booth 68b267a9d1 Add session logging facility
Move session logging code to protocol.py from electrum_rpc.py
Use it for periodic logging controlled by envvar LOG_SESSIONS
For each session, track sent transaction stats and show that
per-session instead of errors
2016-11-29 08:00:54 +09:00
Neil Booth bf4dea7fd7 Replace $VERSION in the banner file
with the ElectrumX version string
2016-11-26 18:19:53 +09:00
Neil Booth 569aafe59b Bump default value of MAX_SEND to 1m bytes.
Otherwise historic large txs could not be served to clients.
2016-11-26 15:22:42 +09:00
Neil Booth 232575f906 Tweak ENV-NOTES 2016-11-26 10:13:19 +09:00
Neil Booth d8e96730ea Prepare release-0.7.10 2016-11-26 09:53:47 +09:00
Neil Booth ce642c7b83 Log large requests and reject them 2016-11-26 09:32:29 +09:00
Neil Booth e53f9d7d1f Prepare 0.7.9 2016-11-25 21:23:14 +09:00
Neil Booth 2d5bb6b981 Prepare release 0.7.8 2016-11-25 08:10:53 +09:00
Neil Booth 9d32506477 Prepare 0.7.7 2016-11-24 23:42:49 +09:00
Neil Booth ce569a3aa7 Introduce MAX_HIST environment variable. 2016-11-24 23:30:40 +09:00
Neil Booth 4629aa2c1e Prepare 0.7.6 2016-11-23 22:52:23 +09:00
Neil Booth 6372e93bc1 Prepare 0.7.5 2016-11-23 17:59:18 +09:00
Neil Booth 7de6a10bdb Merge branch 'release-0.7.4' 2016-11-23 09:56:15 +09:00
Neil Booth 405d9f36e7 Prepare 0.7.4 2016-11-23 09:55:54 +09:00
Neil Booth fdfdd850f1 Add feature to simulate reorgs for debugging 2016-11-23 09:52:30 +09:00
Neil Booth 42ad7ebfb7 Merge branch 'release-0.7.3' 2016-11-22 08:11:59 +09:00
Neil Booth 597520bfcb Prepare 0.7.3 2016-11-22 08:11:05 +09:00
Neil Booth eb09fe29ca Update REL-NOTES 2016-11-22 07:06:40 +09:00
Neil Booth 5030c24fac Update REL-NOTES 2016-11-22 07:06:00 +09:00
cluelessperson 657d496919 Reorganization of init systems files, adding systemd sample config 2016-11-20 08:51:27 -06:00
Neil Booth 90fd610771 Prepare 0.7.1 2016-11-20 22:03:04 +09:00
Neil Booth d649d1222b 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