BTG Electrum Wallet Development Update

Hi, Community,

Sorry for not sharing more information earlier.

We’re preparing a running Topic regarding the Electrum implementation to keep everyone up-to-date. The new Topic will track work items and our progress, and will be posted here on the Forum in the next few days.

Meanwhile, I’ll give a quick status update. Or, really, I’d like to answer the most frequently asked question:

Q: Why is it not ready yet?

A: This is partly because we had to re-prioritize some development tasks in early 2018; priorities shifted and we needed to consolidate our resources on them. As a result, we were a little bit delayed with implementing Electrum.

The other part of the answer stems from the nature of BTG as a full fork of Bitcoin. Unlike a simple airdrop, we forked the full BTC blockchain and preserve the full transaction history. Adapting Electrum to BTG is a bit trickier than one might think - the existing implementation is deeply tied to BTC, and we have to carefully change a lot of blockchain-related code to deal with multiple header formats as well as transaction algorithms. (Remember, to protect people and both blockchains, we introduced new address formats and replay-attack protection, both of which affect the headers.)

Our version of Electrum wallet needs to read and understand pre-fork and post-fork blocks and addresses, and requires changes both on the Server side and the Client side. This is much more complex and requires more care than an airdrop that discards Bitcoin’s entire history.

In our defense, we’d like to remind people that a Roadmap is an ETA - an Estimated Time of Arrival - and not a committed deadline. We do try to deliver on time but sometimes, on the way from here to there, a cow appears in the road and you have to deal with it. :wink:

So what’s the status?

The good news is that block header syncing is finally done and tested: the new Electrum wallet can successfully sync pre- and post-fork headers with the Electrum server. We’ve knocked out a difficult prerequisite, and are now working on the transaction signing.

You can always check our official BTG Electrum repository, but bear in mind that they usually don’t contain the very latest status as we implement by using forks and submitting pull requests. (This ensures that only one person has write access to such critical repositories and we always have a review of the changes.)

The “Electrum Development Status” Topic will be posted here on the Forum within the next days, so stay tuned.

7 Likes

Just for handy reference, the status Topic was posted here:
https://forum.bitcoingold.org/t/btg-electrum-wallet-development-fork-progress/