Neil Booth
b23b19473c
Sanity check on basic IRC reported settings
Closes #110
8 years ago
Neil Booth
06c8eda161
Preparations for peer discovery
DEFAULT_PORTS is a now a coin property.
Other miscellaneous updates to get things closer
8 years ago
Neil Booth
551c04a3bc
Remove all uses of "except:"
8 years ago
Neil Booth
05a6da1920
Move peer management to peers.py from irc
It's cleaner and will be useful for peer-to-peer comms later
8 years ago
Neil Booth
15051124af
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
8 years ago
Neil Booth
dcc2c92bd6
Rename NETWORK envvar to NET
For consistency with lib/coins.py
SegWit testnet needs its own NET
8 years ago
Neil Booth
91ca5fc14a
Split out history into its own DB.
8 years ago
Neil Booth
2b2909f1c4
Move to hashX
The hashX of a script is the first 11 bytes of its sha256 hash.
Closes #72 .
8 years ago
Neil Booth
e2f4847632
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.
8 years ago
Neil Booth
643c990684
Revert "Add feature to rate limit connections"
This reverts commit a82ab0b075
.
8 years ago
Neil Booth
a82ab0b075
Add feature to rate limit connections
8 years ago
Neil Booth
3d2824218b
Close stale sessions
New envvar SESSION_TIMEOUT
A session with no activity is cut off after this time
Fixes #56
8 years ago
Shane Moore
0edff0056d
Add Tor-specific port options for IRC
8 years ago
Shane Moore
95c848a720
Add IRC option to publish Tor address
8 years ago
Neil Booth
b65bcda504
Add per-session bandwidth limits
8 years ago
Neil Booth
5053101cee
LOG_SESSIONS should use self.integer
8 years ago
Neil Booth
c08ade5861
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
8 years ago
Neil Booth
4e26e0fe96
Bump default value of MAX_SEND to 1m bytes.
Otherwise historic large txs could not be served to clients.
8 years ago
Neil Booth
292073f2c7
Log large requests and reject them
8 years ago
Neil Booth
de4930b96d
Introduce MAX_HIST environment variable.
8 years ago
Neil Booth
640360c809
Add feature to simulate reorgs for debugging
8 years ago
Neil Booth
8970205e6c
Remove obsolete debugging feature
8 years ago
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
8 years ago
Neil Booth
0b52376f23
Add subscription limits
8 years ago
Neil Booth
66c493dbf4
Make the default reorg_limit a coin property
8 years ago
Neil Booth
cc2db4a62c
Bump HIST_MB default to 300MB
8 years ago
Johann Bauer
d45321927e
Add optional option to anonymise logs (remove IP addresses)
8 years ago
Neil Booth
501807bf1a
Implement IRC support and related queries from clients
8 years ago
Neil Booth
00e9c5a31d
Add daemon debugging caught-up facility
8 years ago
Neil Booth
f9fcdf2232
Merge branch 'master' into develop
8 years ago
Neil Booth
3d11afbda2
Enable servers
8 years ago
Neil Booth
d2ebb80fac
Extend copyright notice; improve comments
8 years ago
Neil Booth
c09182534f
Update for release
8 years ago
Johann Bauer
78edab6faa
Add support for RocksDB and LMDB
8 years ago
Neil Booth
a51f3aea33
Update for release
8 years ago
Neil Booth
5c63cd40de
Implement reorg logic
8 years ago
Neil Booth
334ffdaa4f
Begin work on proper server
8 years ago
Neil Booth
0b01026b88
Add an RPC server
And associated electrumx_rpc command
8 years ago
Neil Booth
282d46a46c
Flush to disk when flushing history
8 years ago
Neil Booth
5f77ff4ef0
Flush history separately.
We do not yet remove excess history.
8 years ago
Neil Booth
6b513a91d0
CACHE_MB is now the environment var.
8 years ago
Neil Booth
4e777b5861
Let's try a smarter UTXO cache.
8 years ago
Neil Booth
64b7554b73
Fix some typos
8 years ago
Neil Booth
a3dbc68614
Initial revision
8 years ago