Remove IRC support

This commit is contained in:
Neil Booth
2017-11-27 15:05:42 +09:00
parent 6c133b5fea
commit 21c8251f75
6 changed files with 14 additions and 63 deletions
-5
View File
@@ -81,8 +81,3 @@ Database
The underlying data store, made up of the DB backend (such as The underlying data store, made up of the DB backend (such as
`leveldb`) and the host filesystem. `leveldb`) and the host filesystem.
IRC
---
Handles advertising of ElectrumX services via IRC.
+3 -26
View File
@@ -296,9 +296,7 @@ some of this.
By default peer discovery happens over the clear internet. Set this By default peer discovery happens over the clear internet. Set this
to non-empty to force peer discovery to be done via the proxy. This to non-empty to force peer discovery to be done via the proxy. This
might be useful if you are running a Tor service exclusively and might be useful if you are running a Tor service exclusively and
wish to keep your IP address private. **NOTE**: in such a case you wish to keep your IP address private.
should leave **IRC** unset as IRC connections are *always* over the
normal internet.
* **TOR_PROXY_HOST** * **TOR_PROXY_HOST**
@@ -317,8 +315,8 @@ some of this.
Server Advertising Server Advertising
------------------ ------------------
These environment variables affect how your server is advertised, both These environment variables affect how your server is advertised
by peer discovery (if enabled) and IRC (if enabled). by peer discovery (if enabled).
* **REPORT_HOST** * **REPORT_HOST**
@@ -357,27 +355,6 @@ by peer discovery (if enabled) and IRC (if enabled).
self-signed. self-signed.
IRC
---
Use the following environment variables if you want to advertise
connectivity on IRC:
* **IRC**
Set to anything non-empty to advertise on IRC. ElectrumX connects
to IRC over the clear internet, always.
* **IRC_NICK**
The nick to use when connecting to IRC. The default is a hash of
**REPORT_HOST**. Either way a prefix will be prepended depending on
**COIN** and **NET**.
If **REPORT_HOST_TOR** is set, an additional connection to IRC
happens with '_tor' appended to **IRC_NICK**.
Cache Cache
----- -----
-5
View File
@@ -18,10 +18,6 @@ Python3 ElectrumX uses asyncio. Python version >= 3.6 is
DB Engine I use `plyvel`_ 0.9, a Python interface to LevelDB. DB Engine I use `plyvel`_ 0.9, a Python interface to LevelDB.
A database engine package is required but others A database engine package is required but others
are supported (see **Database Engine** below). are supported (see **Database Engine** below).
`IRC`_ Python IRC package. Only required if you enable
IRC; ElectrumX will happily serve clients that
try to connect directly. I use 15.0.4 but
older versions likely are fine.
`x11_hash`_ Only required for DASH. Python X11 Hash package. Only `x11_hash`_ Only required for DASH. Python X11 Hash package. Only
required if for Dash. Version 1.4 tested. required if for Dash. Version 1.4 tested.
================ ======================== ================ ========================
@@ -414,7 +410,6 @@ You can then set the port as follows and advertise the service externally on the
.. _`runit`: http://smarden.org/runit/index.html .. _`runit`: http://smarden.org/runit/index.html
.. _`aiohttp`: https://pypi.python.org/pypi/aiohttp .. _`aiohttp`: https://pypi.python.org/pypi/aiohttp
.. _`pylru`: https://pypi.python.org/pypi/pylru .. _`pylru`: https://pypi.python.org/pypi/pylru
.. _`IRC`: https://pypi.python.org/pypi/irc
.. _`x11_hash`: https://pypi.python.org/pypi/x11_hash .. _`x11_hash`: https://pypi.python.org/pypi/x11_hash
.. _`contrib/python3.6/python-3.6.sh`: https://github.com/kyuupichan/electrumx/blob/master/contrib/python3.6/python-3.6.sh .. _`contrib/python3.6/python-3.6.sh`: https://github.com/kyuupichan/electrumx/blob/master/contrib/python3.6/python-3.6.sh
.. _`contrib/raspberrypi3/install_electrumx.sh`: https://github.com/kyuupichan/electrumx/blob/master/contrib/raspberrypi3/install_electrumx.sh .. _`contrib/raspberrypi3/install_electrumx.sh`: https://github.com/kyuupichan/electrumx/blob/master/contrib/raspberrypi3/install_electrumx.sh
+4 -21
View File
@@ -1,11 +1,8 @@
Peer Discovery Peer Discovery
============== ==============
This is a suggestion of a peer discovery prtocol as a way to gradually This was imlpemented in ElectrumX as of version 0.11.0. Support for
move off depending on IRC. IRC peer discovery was removed in ElectrumX version 1.2.1.
It will be implemented in ElectrumX from version 0.11.0
onwards.
Peer Database Peer Database
@@ -154,14 +151,12 @@ Unknown keys should be silently ignored.
* **protocol_min** * **protocol_min**
Strings that are the minimum and maximum Electrum protocol versions Strings that are the minimum and maximum Electrum protocol versions
this server speaks. The maximum value should be the same as what this server speaks. Example: "1.1".
would suffix the letter **v** in the IRC real name. Example: "1.1".
* **pruning** * **pruning**
An integer, the pruning limit. Omit or set to *null* if there is no An integer, the pruning limit. Omit or set to *null* if there is no
pruning limit. Should be the same as what would suffix the letter pruning limit.
**p** in the IRC real name.
server.add_peer RPC call server.add_peer RPC call
@@ -184,18 +179,6 @@ calls to this method from a single connection.
The result should be True if accepted and False otherwise. The result should be True if accepted and False otherwise.
IRC
---
Other server implementations may not have implemented the peer
discovery protocol yet. Whilst we transition away from IRC, in order
to keep these servers in the connected peer set, having one or two in
the hard-coded peer list used to seed this process should suffice.
Any peer on IRC will report other peers on IRC, and so if any one of
them is known to any single peer implementing this protocol, they will
all become known to all peers quite rapidly.
Notes to Implementators Notes to Implementators
----------------------- -----------------------
+1 -2
View File
@@ -846,8 +846,7 @@ Get a list of features and services supported by the server.
* **protocol_min** * **protocol_min**
Strings that are the minimum and maximum Electrum protocol versions Strings that are the minimum and maximum Electrum protocol versions
this server speaks. The maximum value should be the same as what this server speaks. Example: "1.1".
would suffix the letter **v** in the IRC real name. Example: "1.1".
* **pruning** * **pruning**
+6 -4
View File
@@ -38,7 +38,7 @@ The following commands are available:
"groups": 2, # The number of session groups "groups": 2, # The number of session groups
"logged": 0, # The number of sessions being logged "logged": 0, # The number of sessions being logged
"paused": 0, # The number of paused sessions. "paused": 0, # The number of paused sessions.
"peers": 62, # Number of peer servers (from IRC) "peers": 62, # Number of peer servers
"pid": 126275, # The server's process ID "pid": 126275, # The server's process ID
"requests": 0, # Number of unprocessed requests "requests": 0, # Number of unprocessed requests
"sessions": 85, # Number of current sessions (connections) "sessions": 85, # Number of current sessions (connections)
@@ -153,14 +153,14 @@ The following commands are available:
Returns a list of peer electrum servers. This command takes no arguments. Returns a list of peer electrum servers. This command takes no arguments.
Currently peer data is obtained via a peer discovery protocol; it Peer data is obtained via a peer discovery protocol documented in
used to be taken from IRC. `docs/PEER_DISCOVERY.rst`_.
* **add_peer** * **add_peer**
Add a peer to the peers list. ElectrumX will schdule an immediate Add a peer to the peers list. ElectrumX will schdule an immediate
connection attempt. This command takes a single argument: the connection attempt. This command takes a single argument: the
peer's "real name" as it would advertise itself on IRC. peer's "real name" as it used to advertise itself on IRC.
.. code:: .. code::
@@ -186,3 +186,5 @@ The following commands are available:
Force a block chain reorg. This command takes an optional Force a block chain reorg. This command takes an optional
argument - the number of blocks to reorg - which defaults to 3. argument - the number of blocks to reorg - which defaults to 3.
.. _docs/PEER_DISCOVERY.rst: https://github.com/kyuupichan/electrumx/blob/master/docs/PEER_DISCOVERY.rst