From 23b121e7991b00e3e7968b4bd08d8f520ba56e70 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sun, 30 Jul 2017 21:38:51 +0900 Subject: [PATCH 1/4] Prepare 1.0.15 --- README.rst | 8 ++++++++ server/version.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index a56362f..f0550c6 100644 --- a/README.rst +++ b/README.rst @@ -133,6 +133,14 @@ Roadmap ChangeLog ========= +Version 1.0.15 +-------------- + +- split server networks faster if a fork is detected +- minor speedup +- add Vertcoin support (erasmospunk) +- update Faircoin (thokon00) + Version 1.0.14 -------------- diff --git a/server/version.py b/server/version.py index 9826a62..c0277f7 100644 --- a/server/version.py +++ b/server/version.py @@ -1,5 +1,5 @@ # Server name and protocol versions -VERSION = 'ElectrumX 1.0.14' +VERSION = 'ElectrumX 1.0.15' PROTOCOL_MIN = '1.0' PROTOCOL_MAX = '1.0' From ecad494f282e3f845f91deb6f5b68bfe2fe1e45e Mon Sep 17 00:00:00 2001 From: cryptcoin-junkey Date: Wed, 2 Aug 2017 15:32:16 +0900 Subject: [PATCH 2/4] Add Monacoin. (#210) Signed-off-by: Cryptcoin Junkey --- lib/coins.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/coins.py b/lib/coins.py index 9af5271..7d410ad 100644 --- a/lib/coins.py +++ b/lib/coins.py @@ -873,3 +873,22 @@ class Vertcoin(Coin): TX_PER_BLOCK = 3 RPC_PORT = 5888 REORG_LIMIT = 1000 + + +class Monacoin(Coin): + NAME = "Monacoin" + SHORTNAME = "MONA" + NET = "mainnet" + XPUB_VERBYTES = bytes.fromhex("0488B21E") + XPRV_VERBYTES = bytes.fromhex("0488ADE4") + P2PKH_VERBYTE = bytes.fromhex("32") + P2SH_VERBYTES = [bytes.fromhex("37"), bytes.fromhex("05")] + WIF_BYTE = bytes.fromhex("B2") + GENESIS_HASH = ('ff9f1c0116d19de7c9963845e129f9ed' + '1bfc0b376eb54fd7afa42e0d418c8bb6') + DESERIALIZER = DeserializerSegWit + TX_COUNT = 2568580 + TX_COUNT_HEIGHT = 1029766 + TX_PER_BLOCK = 2 + RPC_PORT = 9402 + REORG_LIMIT = 1000 From 28764936c4d3e0d540dd9fbae888a8c212641e41 Mon Sep 17 00:00:00 2001 From: Justin Turner Arthur Date: Wed, 2 Aug 2017 01:55:44 -0500 Subject: [PATCH 3/4] Remove semicolons and a couple unused variables. (#212) --- lib/coins.py | 2 +- query.py | 1 - server/db.py | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/coins.py b/lib/coins.py index 7d410ad..ff17550 100644 --- a/lib/coins.py +++ b/lib/coins.py @@ -815,7 +815,7 @@ class Blackcoin(Coin): if version > 6: return super().header_hash(header) else: - return cls.HEADER_HASH(header); + return cls.HEADER_HASH(header) class Peercoin(Coin): diff --git a/query.py b/query.py index 995ce7b..2e9668d 100755 --- a/query.py +++ b/query.py @@ -56,7 +56,6 @@ def main(): print('Address: ', addr) hashX = coin.address_to_hashX(addr) - n = None for n, (tx_hash, height) in enumerate(bp.get_history(hashX, limit)): print('History #{:d}: hash: {} height: {:d}' .format(n + 1, hash_to_str(tx_hash), height)) diff --git a/server/db.py b/server/db.py index ef6963f..1ba4e01 100644 --- a/server/db.py +++ b/server/db.py @@ -571,7 +571,7 @@ class DB(util.LoggedClass): if nrows > 4: self.log_info('hashX {} is large: {:,d} entries across {:,d} rows' .format(hash_to_str(hashX), len(full_hist) // 4, - nrows)); + nrows)) # Find what history needs to be written, and what keys need to # be deleted. Start by assuming all keys are to be deleted, @@ -660,7 +660,6 @@ class DB(util.LoggedClass): limit = 50 * 1000 * 1000 while self.comp_cursor != -1: - locked = self.semaphore.locked if self.semaphore.locked: self.log_info('compact_history: waiting on semaphore...') with await self.semaphore: From 92ba67037f9d0205ae1e1b6ac8fd3206220a46ca Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Wed, 2 Aug 2017 16:54:58 +0900 Subject: [PATCH 4/4] Use None instead of localhost See #211. Some don't have localhost mapped, and we should also bind to IPv6 interfaces. Thanks to gaoyaxing24 for testing. --- server/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/controller.py b/server/controller.py index ec536aa..01255ab 100644 --- a/server/controller.py +++ b/server/controller.py @@ -198,7 +198,7 @@ class Controller(util.LoggedClass): async def main_loop(self): '''Controller main loop.''' if self.env.rpc_port is not None: - await self.start_server('RPC', 'localhost', self.env.rpc_port) + await self.start_server('RPC', None, self.env.rpc_port) self.ensure_future(self.bp.main_loop()) self.ensure_future(self.wait_for_bp_catchup())