tprotocol/server.banner: Fetch libbitcoin server version for info. - obelisk - Electrum server using libbitcoin as its backend HTML git clone https://git.parazyd.org/obelisk DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit bc14baed27380fe6140fc25cb18f951ad942b33f DIR parent 90a851773b817fdc4d19bcd2d1bc72c4e8905c8d HTML Author: parazyd <parazyd@dyne.org> Date: Mon, 19 Apr 2021 12:35:46 +0200 protocol/server.banner: Fetch libbitcoin server version for info. Diffstat: M obelisk/protocol.py | 8 +++++++- M obelisk/zeromq.py | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) --- DIR diff --git a/obelisk/protocol.py b/obelisk/protocol.py t@@ -644,7 +644,13 @@ class ElectrumProtocol(asyncio.Protocol): # pylint: disable=R0904,R0902 """Method: server.banner Return a banner to be shown in the Electrum console. """ - return {"result": BANNER} + _, bsversion = await self.bx.server_version() + banner = "%s\nobelisk version: %s\nlibbitcoin-server version: %s" % ( + BANNER, + VERSION, + bsversion.decode(), + ) + return {"result": banner} async def donation_address(self, writer, query): # pylint: disable=W0613 """Method: server.donation_address DIR diff --git a/obelisk/zeromq.py b/obelisk/zeromq.py t@@ -296,6 +296,14 @@ class Client: assert response.request_id == request.id_ return response.error_code, response.data + async def server_version(self): + """Get the libbitcoin-server version""" + command = b"server.version" + error_code, data = await self._simple_request(command, b"") + if error_code: + return error_code, None + return error_code, data + async def fetch_last_height(self): """Fetch the blockchain tip and return integer height""" command = b"blockchain.fetch_last_height"