LearnBitcoin

Bitcoin Dev Archive 2021

An Electrum server using libbitcoin

1 message, 9 Apr 2021. Started by Ivan J..

Ivan J.

Permalink Original thread on gnusha.org

Ivan J. permalink original

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