Browse Source

Require aiohttp >= 2.0

patch-2
Neil Booth 7 years ago
parent
commit
6cf7b049fa
  1. 9
      docs/HOWTO.rst
  2. 1
      docs/changelog.rst
  3. 11
      electrumx/server/daemon.py
  4. 2
      setup.py

9
docs/HOWTO.rst

@ -18,11 +18,10 @@ Package Notes
Python3 ElectrumX uses asyncio. Python version >= 3.6 is
**required**.
`aiohttp`_ Python library for asynchronous HTTP. Version >=
1.0 required; I am using 3.0.1.
`pylru`_ Python LRU cache package. I'm using 1.0.9.
DB Engine I use `plyvel`_ 0.9, a Python interface to LevelDB.
A database engine package is required but others
are supported (see **Database Engine** below).
2.0 required.
`pylru`_ Python LRU cache package.
DB Engine A database engine package is required; two are
supported (see `Database Engine`_ below).
================ ========================
Some coins need an additional package, typically for their block hash

1
docs/changelog.rst

@ -14,6 +14,7 @@ Version 1.6.1 (in progress)
============================
* cleaner shutdown process with clear guarantees
* aiohttp min version requirement raised to 2.0
* onion peers are ignored if no tor proxy is available
* add Motion coin (ocruzv)

11
electrumx/server/daemon.py

@ -48,13 +48,6 @@ class Daemon(object):
self.down = False
self.last_error_time = 0
self.req_id = 0
# assignment of asyncio.TimeoutError are essentially ignored
if aiohttp.__version__.startswith('1.'):
self.ClientHttpProcessingError = aiohttp.ClientHttpProcessingError
self.ClientPayloadError = asyncio.TimeoutError
else:
self.ClientHttpProcessingError = asyncio.TimeoutError
self.ClientPayloadError = aiohttp.ClientPayloadError
self._available_rpcs = {} # caches results for _is_rpc_available()
def next_req_id(self):
@ -140,9 +133,7 @@ class Daemon(object):
log_error('timeout error.')
except aiohttp.ServerDisconnectedError:
log_error('disconnected.')
except self.ClientHttpProcessingError:
log_error('HTTP error.')
except self.ClientPayloadError:
except aiohttp.ClientPayloadError:
log_error('payload encoding error.')
except aiohttp.ClientConnectionError:
log_error('connection problem - is your daemon running?')

2
setup.py

@ -11,7 +11,7 @@ setuptools.setup(
# "tribus_hash" package is required to sync Denarius network.
# "blake256" package is required to sync Decred network.
# "xevan_hash" package is required to sync Xuez network.
install_requires=['aiorpcX >= 0.5.6', 'plyvel', 'pylru', 'aiohttp >= 1'],
install_requires=['aiorpcX >= 2.0', 'plyvel', 'pylru', 'aiohttp >= 1'],
packages=setuptools.find_packages(include=('electrumx*',)),
description='ElectrumX Server',
author='Neil Booth',

Loading…
Cancel
Save