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