From 6f32f99a067b1bf677ada1b68eed92d59ada7846 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sun, 19 Feb 2017 19:42:26 +0900 Subject: [PATCH] Prepare 0.99 --- README.rst | 27 ++++++++++++++++++--------- docs/ENVIRONMENT.rst | 2 +- docs/HOWTO.rst | 42 ++++++++++++++++++++++++++++++++++++++++++ server/version.py | 2 +- 4 files changed, 62 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index 91620da..47650b0 100644 --- a/README.rst +++ b/README.rst @@ -111,18 +111,14 @@ Python's ``asyncio`` means ElectrumX has no (direct) use for threads and associated complications. -Roadmap Pre-1.0 -=============== - -- minor code cleanups -- fixes for a couple of outstanding issues - -Roadmap Post-1.0 -================ +Roadmap +======= - Python 3.6, which has several performance improvements relevant to ElectrumX - UTXO root logic and implementation +- incremental history serving / pruning +- potential new functionality such as adding label server - potentially move some functionality to C or C++ @@ -136,6 +132,18 @@ version for the release of 1.0. ChangeLog ========= +Version 0.99 +------------ + +Preparation for release of 1.0, which will only have bug fixes and +documentation updates. + +* improve handling of daemon going down so that incoming connections + are not blocked. Also improve logging thereof. Fixes `#100`_. +* add facility to disable peer discovery and/or self announcement, + see `docs/ENVIRONMENT.rst`_. +* add FairCoin (thokon00) + Version 0.11.4 -------------- @@ -153,7 +161,7 @@ Version 0.11.2 subscribing to updates of arbitrary scripts, not just those of standard bitcoin addresses. I'll fully document once confirmed working as expected. - Closes #124 + Closes `#124`_. Version 0.11.1 -------------- @@ -356,6 +364,7 @@ stability please stick with the 0.9 series. .. _#104: https://github.com/kyuupichan/electrumx/issues/104 .. _#110: https://github.com/kyuupichan/electrumx/issues/110 .. _#111: https://github.com/kyuupichan/electrumx/issues/111 +.. _#124: https://github.com/kyuupichan/electrumx/issues/124 .. _#126: https://github.com/kyuupichan/electrumx/issues/126 .. _#129: https://github.com/kyuupichan/electrumx/issues/129 .. _docs/HOWTO.rst: https://github.com/kyuupichan/electrumx/blob/master/docs/HOWTO.rst diff --git a/docs/ENVIRONMENT.rst b/docs/ENVIRONMENT.rst index 12f43d7..41edcbb 100644 --- a/docs/ENVIRONMENT.rst +++ b/docs/ENVIRONMENT.rst @@ -215,7 +215,7 @@ raise them. functioning Electrum clients by default will send pings roughly every 60 seconds. -PEER DISCOVERY +Peer Discovery -------------- In response to the `server.peers.subscribe` RPC call, ElectrumX will diff --git a/docs/HOWTO.rst b/docs/HOWTO.rst index 8f81b4b..8cbdbbc 100644 --- a/docs/HOWTO.rst +++ b/docs/HOWTO.rst @@ -321,6 +321,48 @@ The ETA shown is just a rough guide and in the short term can be quite volatile. It tends to be a little optimistic at first; once you get to height 280,000 is should be fairly accurate. +Creating an self-signed SSL certificate +======================================= + +These instructions are based on those of the `electrum-server` documentation. + +To run an SSL server you need to generate a self-signed certificate +using openssl. Alternatively you could not set **SSL_PORT** in the +environment and not serve over SSL, but this is not recommended. + +Use the sample code below to create a self-signed cert with a +recommended validity of 5 years. You may supply any information for +your sign request to identify your server. They are not currently +checked by the client except for the validity date. When asked for a +challenge password just leave it empty and press enter:: + + $ openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 + $ openssl rsa -passin pass:x -in server.pass.key -out server.key + writing RSA key + $ rm server.pass.key + $ openssl req -new -key server.key -out server.csr + ... + Country Name (2 letter code) [AU]:US + State or Province Name (full name) [Some-State]:California + Common Name (eg, YOUR name) []: electrum-server.tld + ... + A challenge password []: + ... + $ openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt + +The `server.crt` file goes in **SSL_CERTFILE** and `server.key` in +**SSL_KEYFILE** in the server process's environment. + +Starting with Electrum 1.9, the client will learn and locally cache +the SSL certificate for your server upon the first request to prevent +man-in-the middle attacks for all further connections. + +If your certificate is lost or expires on the server side, you will +need to run your server with a different server name and a new +certificate. Therefore it's a good idea to make an offline backup +copy of your certificate and key in case you need to restore them. + + .. _`ENVIRONMENT.rst`: https://github.com/kyuupichan/electrumx/blob/master/docs/ENVIRONMENT.rst .. _`samples/systemd/electrumx.service`: https://github.com/kyuupichan/electrumx/blob/master/samples/systemd/electrumx.service .. _`daemontools`: http://cr.yp.to/daemontools.html diff --git a/server/version.py b/server/version.py index 6bbe9c0..2a6011e 100644 --- a/server/version.py +++ b/server/version.py @@ -1,5 +1,5 @@ # Server name and protocol versions -VERSION = 'ElectrumX 0.11.4' +VERSION = 'ElectrumX 0.99' PROTOCOL_MIN = '1.0' PROTOCOL_MAX = '1.0'