diff --git a/server/controller.py b/server/controller.py index e14291a..76aa455 100644 --- a/server/controller.py +++ b/server/controller.py @@ -22,7 +22,7 @@ from lib.jsonrpc import JSONRPC, RPCError, RequestBase from lib.hash import sha256, double_sha256, hash_to_str, hex_str_to_hash import lib.util as util from server.block_processor import BlockProcessor -from server.daemon import Daemon +from server.daemon import Daemon, DaemonError from server.irc import IRC from server.session import LocalRPC, ElectrumX from server.mempool import MemPool diff --git a/server/daemon.py b/server/daemon.py index 4099958..8aacb9f 100644 --- a/server/daemon.py +++ b/server/daemon.py @@ -70,7 +70,10 @@ class Daemon(util.LoggedClass): async with self.workqueue_semaphore: url = self.urls[self.url_index] async with aiohttp.post(url, data=data) as resp: - if resp.status == 200: + # If bitcoind can't find a tx, for some reason + # it returns 500 but fills out the JSON. + # Should still return 200 IMO. + if resp.status in (200, 500): if self.prior_msg: self.logger.info('connection restored') result = processor(await resp.json())