Subject: [bitcoin-dev] An Electrum server using libbitcoin

From: Ivan J. <[email-masked]>
Date: Fri, 09 Apr 2021 12:23:27 +0200

Hi.

I've been working on an Electrum server implementation that uses zmq
and libbitcoin as its backend. I wanted to use the Electrum wallet with
my libbitcoin server and this makes it possible now with (unfinished)
libbitcoin v4.

The code is here: https://github.com/parazyd/obelisk
(Yes, it's named Obelisk because of historical reasons :p)

As the Electrum/ElectrumX protocol is getting some new stuff in
protocol version 1.5, I will keep tracking the protocol and implement
it in Obelisk as it comes.

Eventually, the end-goal is to merge Obelisk into Electrum and simply
use libbitcoin public (or self-hosted) servers directly, without
the need of a boilerplate protocol/server between a client and a
daemon. In current Electrum git, this seems relatively simple to do
(and I personally already have done about 70% of it on my local
code repository), but the problem is that it's a breaking change
and replaces the old protocol, which invalidates all old servers
if/when this change happens. However, I don't doubt that removing
the boilerplate and querying a libbitcoin server directly is a bad
idea at all. I'll see if I can make upstream progress on this once
I get feedback.

In general, regarding Obelisk I'd appreciate some feedback, review,
and a bit of help with certain TODOs in the code. The entire codebase
is around 1000 lines of Python 3 with no external dependecies besides
pyzmq.

Thanks,
Ivan