What changed in Electrum-BSV 1.3.13?
2021/05/03 04:00 pm
This article covers the release of Electrum-BSV 1.3.13, and some of the more important changes that have been made since Electrum-BSV 1.3.12.
We have not been making smaller releases like this. Most of the work is devoted to a larger update that prepares Electrum-BSV for many of the exciting things you might see coming in the Bitcoin Association roadmap! However, a couple of the changes in this release are important enough to warrant setting aside the larger updates for now and getting a smaller one out.
What has changed in this release?
The main changes in this release have been listed below. If you don't want to know the details, just read the titles. If you want to find out about smaller fixes, you can check the release notes in the Github repository.
Restored scaling testnet access
This means that this release and later ones will be compatible with the STN into the future.
In order to reduce the startup time before it can be used Electrum-BSV uses checkpoints for the different blockchains. Unlike other blockchains, the scaling testnet (STN) blockchain gets periodically reset and this means any checkpoint we have for it becomes invalid. Any Electrum-BSV release (and this would include any from 1.3.12 and earlier) with an invalid checkpoint will never be able to connect to the STN ever again.
At this point having a checkpoint for the STN seems like a bad idea, and so the checkpoint has been removed. This will mean that any releases downloaded from 1.3.13 onward should always be compatible with the STN.
In order to access the STN you also need a working server. The Electrum-BSV run server has some hard to debug technical issues, which have led to it falling offline for a while now. However Kayvan from satoshi.io
has been running his own server which he has kindly agreed to let Electrum-BSV users use, and it is now built into Electrum-BSV as the default.
Fixed transaction caching
Users who accessed tonnes of transactions or large ones would get errors using the wallet.
A while ago now, we identified a bottleneck with the wallet database in that different systems would ask for a transaction for perhaps some small part of data, and we would end up seeing them significantly slowed down reading that transaction from the database. In order to remove this bottleneck we added a transaction cache, and the problem went away.
We have one gracious user who encountered the problem just under a year ago, and who used our error reporting functionality to let us know. Without a reproduction case, it was not clear what the cause was and since only one user reported it (we would get significantly higher numbers of reports if it were a common problem) it was kind of ignored. However Aaron67 on the Atlantistic slack recently reported that he was creating very large transactions and was getting it as well. It turns out there was a typo in the original transaction cache code that has been there since it was first written, and with it being fixed in this release this year old bug should now be resolved.
While it is unlikely that any problem remains, given the nature of the typo and the observed errors, if anyone does experience problems with the cache they can disable it by setting the maximum size to 0. The screenshot above of the Wallet section of the Preferences dialog, contains the setting that needs to be changed.
Loading transactions from files and accepted file extensions
Affects user who saved transactions as JSON and had to use the .txn extension.
One of the things you can do with Electrum-BSV is load a transaction. You might do this because you have some random transaction you want to look at, or you might do it because you are a cosigner in a multi-signature account and need to sign your part. Perhaps you might have some other reason not mentioned here. Unfortunately, we had a filter so that the only files the file open dialog that we presented to allow you to select the transaction you wanted to load were those with the extension .txn. You could work around it and rename your transaction to have that extension if it did not already, but now we give the file open dialog a selection of filters including *.txn, *.json, *.txt and the open *.*.