Giter Site home page Giter Site logo

electrumsv's Introduction

Board Status \ Help translate ElectrumSV online Build status on Azure Pipelines \

ElectrumSV - Lightweight Bitcoin SV client

Licence: MIT
Maintainers: Neil Booth, Roger Taylor, AustEcon
Project Lead: Roger Taylor
Language: Python (requires Python 3.9 later than 3.9.13. 3.10 and 3.11 not officially supported)
Homepage: https://electrumsv.io/

Getting started on Linux/MacOS

ElectrumSV is a Python-based application forked from Electrum Core.

If you are running from the Github repository, you are advised to use the latest release branch, which at this time is releases/1.3. The develop branch is used for the latest development changes and is not guaranteed to be as stable, or to have guaranteed long term support for some of the more advanced features we may have added and later remove. The master branch is frozen, out of date and will be overwritten by develop evenutally.

Ensuring you have at least Python 3.9.13

The ElectrumSV builds are created using Python 3.9.13 because these are the last release for Python 3.9 that the Python development team do binary releases for. This is the minimum allowed version of Python to use, we explicitly rule out running against earlier versions and we cannot guarantee later versions like 3.10 and 3.11 will work reliably due to breaking changes by the Python language developers.

You need to ensure you have Python 3.9.13 or later, the following command should look like this:

$ python3 --version
Python 3.9.16

You can use pyenv to install Python 3.9.16. First install pyenv:

curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

Edit your .bashrc file as described, and then ensure the changes are put into effect:

$ source ~/.profile

Now you can install Python 3.9.16 using pyenv:

$ pyenv install 3.9.16

If you encounter errors during that process, you can refer to the pyenv common problems.

At this point, you can make Python 3.9.16 the default Python on your computer:

$ pyenv global 3.9.16

And you can check that your python3 version is indeed 3.9.16, by confirming the following command now looks like this:

$ python3 --version
Python 3.9.16

Ensuring you have at least Sqlite 3.31.1

ElectrumSV MacOS and Windows builds come with at least Sqlite version 3.31.1, but there are no Linux builds, and both Linux and MacOS users may wish to upgrade or make available the Sqlite version on their computer.

MacOS:

$ brew upgrade sqlite3
$ python3 -c "import sqlite3; print(sqlite3.sqlite_version)"
3.31.1

Linux:

$ python3 -m pip install -U pysqlite3-binary
$ python3 -c "import pysqlite3; print(pysqlite3.sqlite_version)"
3.31.1

You may see a different version displayed than 3.31.1, but as long as it is higher, this is fine.

Installing other dependencies

If you are running ElectrumSV from source, first install the dependencies:

MacOS:

brew install pyqt5
pip3 install --user -r contrib/deterministic-build/macos-py3.9-requirements-electrumsv.txt

Linux:

sudo apt-get install python3-pyqt5
pip3 install wheel
pip3 install cython==0.29.36
pip3 install --user -r contrib/deterministic-build/linux-py3.9-requirements-electrumsv.txt

Your should now be able to run ElectrumSV:

MacOS:

python3 electrum-sv

Linux:

python3 electrum-sv

You can also install ElectrumSV on your system. In order to do so, run the following command:

pip3 install . --no-dependencies

Problem Solving

If you choose to use Linux, you introduce complexity and uncertainty into the process. It is not possible to know all the unique choices you have made regarding it. The following tips may help work around problems you encounter.

Errors relating to "wheels"

If you encounter problems referring to wheels, make sure you have installed the wheel package:

pip3 install --user wheel

Errors relating to "libusb" installing the pip3 requirements

Install the following:

sudo apt-get install libusb-1.0.0-dev libudev-dev

Errors relating to "Python.h"

If you encounter problems referring to "Python.h", first check your Python version:

python3 --version

If it says "3.9", then install the following:

sudo apt install python3.9-dev

If it says a later version of Python, you should be able to figure out what to do.

Scanning QR codes

If you need to enable QR code scanning functionality, install the following:

sudo apt-get install zbar-tools

Getting started on Windows

The easiest way to run ElectrumSV on Windows, is to obtain an executable for the latest version from our website. This Git repository has a build-hashes.txt which should contain SHA-256 hashes for all our downloads. You can confirm that you have downloaded a valid file, by comparing it's SHA-256 hash to the hash we provide for the same file name.

You can also run from the Git repository directly, which is useful if you wish to customise or help us develop ElectrumSV.

You need to be sure that you are using a version of Python either 3.9.13 or higher. And that the version you are using has a version of Sqlite either 3.31.1 or higher. If you are for instance using a version of Python 3.8 that has a lower version of Sqlite, then update your Python 3.8 installation.

To run ElectrumSV from its top-level directory, first install the core dependencies:

py -3.9 -m pip install --user -r contrib/deterministic-build/win64-py3.9-requirements-electrumsv.txt

Then invoke it as so:

py -3.9 electrum-sv

You can also install ElectrumSV on your system. This will download and install most dependencies used by ElectrumSV. This is useful if you with to use the electrumsv Python library, perhaps for Bitcoin application development using ElectrumSV as a wallet server.

In order to do so, run these commands:

pip3 install . --no-dependencies

Extra development notes

Check out the code from Github:

git clone https://github.com/ElectrumSV/ElectrumSV
cd ElectrumSV

Run the pip installs (this should install dependencies):

pip3 install .

Create translations (optional):

sudo apt-get install python-requests gettext
./contrib/make_locale

Running unit tests (with the pytest package):

pytest electrumsv/tests

Running pylint:

pylint --rcfile=.pylintrc electrum-sv electrumsv

Running mypy:

mypy --config-file mypy.ini --python-version 3.9

Builds

Builds are created automatically for Git commits through the Azure Pipelines CI services which Microsoft and Github kindly make available to us.

The easiest way for you to create builds is to fork the project, and to link it to Azure Pipelines and they should also happen automatically. If you wish to look at the specific code that handles a given part of the build process, these will be referenced below for the various operating systems. To see how these are engaged, refer to the Azure Pipelines YAML files.

Source Archives

Run the following to create the release archives under dist/:

./contrib/make_source_archives.py

Mac OS X / macOS

See contrib/osx/.

Windows

See contrib/build-wine/.

electrumsv's People

Contributors

akshayaurora avatar austecon avatar azure-pipelines[bot] avatar bauerj avatar blinkystitt avatar cculianu avatar chrisglass avatar dabura667 avatar danconnolly avatar darrindaigle avatar ecdsa avatar fluffypony avatar fyookball avatar genjix avatar jhoenicke avatar jimboman77 avatar lzsaver avatar m0mchil avatar marceloneil avatar markblundeberg avatar mhsmith avatar mkramlich avatar neocogent avatar ovidiusoft avatar rofl0r avatar romanz avatar rt121212121 avatar sombernight avatar stefaang avatar wozz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

electrumsv's Issues

TypeError: do_sign() got multiple values for argument 'password'

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "/home/roy/Descargas/lectrumSV-1.0.0/electrumsv/gui/qt/main_window.py", line 1515, in request_password
    return func(self, *args, **kwargs)

TypeError: do_sign() got multiple values for argument 'password'

Reporter

This issue was reported by 4 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] Linux-4.15.0-43-generic-x86_64-with-Ubuntu-18.04-bionic Unknown es_MX
1.0.0 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] Linux-4.15.0-43-generic-x86_64-with-Ubuntu-18.04-bionic Unknown es_MX
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN
1.0.0 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] Linux-4.15.0-44-generic-x86_64-with-Ubuntu-18.04-bionic Unknown es_MX

Additional Information

sign a message, having 5 electrumsv instances open.


Error when connecting Ledger device with Electrum SV wallet

I downloaded Electrum SV and wanted to use it to access by BSV on my Ledger hardware wallet. I open the wallet, create a new standard wallet, then select use hardware device. It sees the ledger, but says "An unnamed Ledger [Ledger, initialzed, hid]". I select that then get this error " 'NoneType' object has no attribute 'handler' ". I have reinstalled the SV wallet and my ledger apps multiple times. Everything is updated including my computer. I'm using a Mac air. I tried both USB ports, and 2 separate Ledger devices. Thanks for any help.

AttributeError: 'NoneType' object has no attribute 'connect_chunk'

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\util.py", line 587, in run_with_except_hook
  File "electrumsv\network.py", line 1229, in run
  File "electrumsv\network.py", line 1203, in wait_on_sockets
  File "electrumsv\network.py", line 664, in process_responses
  File "electrumsv\network.py", line 607, in process_response
  File "electrumsv\network.py", line 943, in on_block_headers

AttributeError: 'NoneType' object has no attribute 'connect_chunk'

Reporter

This issue was reported by 3 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17763 Unknown en_AU
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-8.1-6.3.9600 Unknown pt_BR
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.14393 Unknown en_US

Additional Information

The reporting user(s) did not provide additional information.

2of3 multisig tx with 1 sig can't be loaded

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/gui/qt/main_window.py", line 2507, in do_process_from_text
    self.show_transaction(tx)
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/gui/qt/main_window.py", line 886, in show_transaction
    tx_dialog = TxDialog(tx, self, tx_desc, prompt_if_unsaved)
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/gui/qt/transaction_dialog.py", line 130, in __init__
    self.update()
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/gui/qt/transaction_dialog.py", line 224, in update
    (self.wallet.can_sign(self.tx) or bool(self.main_window.tx_external_keypairs))
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/wallet.py", line 1269, in can_sign
    if k.can_sign(tx):
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/keystore.py", line 87, in can_sign
    return bool(self.get_tx_derivations(tx))
  File "/usr/local/lib/python3.6/dist-packages/ElectrumSV-1.0.0-py3.6.egg/electrumsv/keystore.py", line 75, in get_tx_derivations
    if x_signatures[k] is not None:

IndexError: list index out of range

Reporter

This issue was reported by 1 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] Linux-4.15.0-43-generic-x86_64-with-Ubuntu-18.04-bionic Unknown es_MX

Additional Information

The reporting user(s) did not provide additional information.

AttributeError: can't set attribute

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\gui\qt\main_window.py", line 2507, in do_process_from_text
  File "electrumsv\gui\qt\main_window.py", line 886, in show_transaction
  File "electrumsv\gui\qt\transaction_dialog.py", line 130, in __init__
  File "electrumsv\gui\qt\transaction_dialog.py", line 231, in update

AttributeError: can't set attribute

Reporter

This issue was reported by 3 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown en_US
1.0.0 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] Linux-4.15.0-44-generic-x86_64-with-Ubuntu-18.04-bionic Unknown es_MX
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown en_US

Additional Information

The reporting user(s) did not provide additional information.

Trezor broken when sending a transaction

I have the Portable Windows version.
I opened a new wallet using "use a hardware wallet (Trezor). It found and opened the 5 BCH I had in my 1st trezor wallet. (For the record it did NOT find my 7 other BCH Trezor wallet files.) But anyway, I send in some BSV from another already split wallet I had (Poloniex). So then I open up a brand new BSV wallet and try and send in the full 5+ balance.

I get the following error message:

'Plugin' object has no attribute 'types'

Would appreciate some help. Also, I wondered if it was a legacy address thing, so I also tried sending it to a BSV "Cash Addr" I have in Coinomi. No luck there either. Same error.

Error when starting

Using xubuntu 16.04 & ElectrumSV-1.0.0.tar.gz from electrumsv.io site.
I get this error when trying to start it.

./electrum-sv Traceback (most recent call last): File "./electrum-sv", line 40, in <module> from electrumsv.network import Network File "/home/ElectrumSV-1.0.0/ElectrumSV-1.0.0/electrumsv/network.py", line 1496 logging.warning(f'server TxID {their_txid} differs from ' ^ SyntaxError: invalid syntax

FileNotFoundError: [Errno 2] No such file or directory: 'H:/Bitcion-BSV/Wallet Data/Electro-Cash-Wallets\\BSV-Main-A.tmp.3536'

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\util.py", line 504, in run_with_except_hook
  File "electrumsv\network.py", line 1097, in run
  File "electrumsv\network.py", line 1092, in wait_on_sockets
  File "electrumsv\network.py", line 685, in _process_responses
  File "electrumsv\network.py", line 633, in _process_response
  File "electrumsv\verifier.py", line 133, in verify_merkle
  File "electrumsv\wallet.py", line 302, in save_verified_tx
  File "electrumsv\util.py", line 188, in <lambda>
  File "electrumsv\util.py", line 184, in do_profile
  File "electrumsv\storage.py", line 178, in write
  File "electrumsv\storage.py", line 196, in _write

FileNotFoundError: [Errno 2] No such file or directory: 'H:/Bitcion-BSV/Wallet Data/Electro-Cash-Wallets\\BSV-Main-A.tmp.3536'

Reporter

This issue was reported by 30 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.1.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown en_ZA
1.1.1 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17763 Unknown en_GB
1.1.2 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown en_US
1.2.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown pl_PL
1.2.1 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown de_DE
1.2.2 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown tr_TR
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown zh_CN
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.3 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_AU
1.2.3 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_AU
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown it_IT
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown de_AT
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_CA
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown zh_TW
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown zh_TW
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown zh_TW
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17763 Unknown en_US
1.2.5 3.6.4 (default, Dec 5 2019, 00:10:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] Darwin-18.7.0-x86_64-i386-64bit Unknown
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_AU
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown en_US
1.2.5 3.6.4 (default, Dec 5 2019, 00:10:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] Darwin-19.4.0-x86_64-i386-64bit Unknown
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.19041 Unknown en_GB
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.18362 Unknown es_ES
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.19041 Unknown en_US
1.2.4 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.19041 Unknown en_US
1.2.5 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.22621 Unknown zh_CN

Additional Information

Electrum froze while browsing with multiple wallets open


Remove labelsync extension

Labels should be stored on-chain.

More generally, most wallet metadata should be stored on-chain, but this issue is only for labels.

ValueError: 'cash' is not in list

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\gui\qt\main_window.py", line 2979, in settings_dialog

ValueError: 'cash' is not in list

Reporter

This issue was reported by 3 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN

Additional Information

Use config fail


ElectrumSV not opening in macos

Nothing happens when opening, no window, no entry in Activity Monitor.
I had the same problem with previous versions and also with of Electron Cash (up to version 3.3.5)

I have also tested Electrum-XZC, and found that 3.0.5a7 is first version that fixed this.

My macos version: 10.12.6

Flesh out check for updates

There is currently no differentiation between unstable releases and stable releases. We need to have the update detection only offer stable releases as an update to stable releases, but factor in unstable releases somehow. The following is a loose initial breakdown of the possible cases.

If the user has disabled update notifications, then this does not apply.

We will most likely want to add in opt-in notification for unstable releases.

The user is on an unstable release

They are on an unstable release (e.g. 10.1.0b1).

  • They opt to get notified of unstable releases. They might get notified of any change in updates above the last stable release (e.g. 10.0.1), but only unstable ones after their current release. The use case is possibly that they have a problem with the last stable release to the level they had to move to the next unstable one to get around it, but when the hotfix stable release is made, they may wish to know about it and move back to it.
  • They opt not to get notified of unstable releases. They get notified of stable releases following the last stable release (e.g. 10.0.1) but no visual indication. They get notified of stable releases following the unstable release they are on, and visual indication.

The user is on a stable release

They might be in one of the following situations:

  • They opt to get notified of unstable releases, but the releases do not factor into the visual indication of warning and urgent, shown in the update toolbar. And they get notified of stable releases, which do show a visual indication and notify on startup.
  • They opt to not get notified of unstable releases, but they do get get notified of stable releases, which do show a visual indication and notify on startup.

ZeroDivisionError: division by zero

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "C:\electrum-sv\electrumsv\gui\qt\coinsplitting_tab.py", line 57, in _on_split_button_clicked
    1/0

ZeroDivisionError: division by zero

Reporter

This issue was reported by 2 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] Windows-10-10.0.17134-SP0 Unknown en_NZ
1.3.0a1 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] Windows-10-10.0.17763-SP0 Unknown en_NZ

Additional Information

This is a faked test report.


SyntaxError when running.

So, I got the latest version and installed dependencies, running setup.py went fine but I got this when running it. This is from the tarball on the site.

Traceback (most recent call last):
File "./electrum-sv", line 47, in
from electrumsv import daemon
File "/home/shifted/ElectrumSV-1.0.0/electrumsv/daemon.py", line 32, in
import jsonrpclib
File "/usr/local/lib/python3.6/dist-packages/jsonrpclib/init.py", line 5, in
from jsonrpclib.jsonrpc import Server, MultiCall, Fault
File "/usr/local/lib/python3.6/dist-packages/jsonrpclib/jsonrpc.py", line 50, in
from xmlrpclib import Transport as XMLTransport
File "/usr/local/lib/python3.6/dist-packages/xmlrpclib.py", line 169
MAXINT = 2L**31-1
^
SyntaxError: invalid syntax

Trezor still broken in Newest Release 1.1

SO THE CURRENT ONGOING PROBLEM is that I actually have eight (8) wallets on my Trezor, and even back with 1.0 it just read Wallet 1. Good news, as mentioned above is that Wallet 1 is now split and cleaned out. But I cannot get Electrum 1.1 (or old 1.0) to recognize any of those other 7 wallets. They are not passphrased. I just have the one seed, and a pin.

It just doesn't find them. I have tried everything I can think of, and tried every menu. Can't find any documentation. Help. Here is my problem.... I have just wasted another full day on this.

Your website says, A range of hardware wallets are supported including KeepKey, Ledger and TREZOR.

I don't care if you have bugs, but you state it works, nad it doesn't,a nd it never has as far as I can tell.

A few minor usability-related changes

Some simple testing by a non-technical user has resulted in a few bullet points of changes being required in order to make the wallet more user-friendly and remove confusion.

RuntimeError: directory C:\Users\Albert Clivillé\AppData\Roaming\ElectrumSV\wallets\$clivi m does not exist

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\gui\qt\installwizard.py", line 287, in on_filename
  File "electrumsv\storage.py", line 72, in __init__

RuntimeError: directory C:\Users\Albert Clivillé\AppData\Roaming\ElectrumSV\wallets\$clivi m does not exist

Reporter

This issue was reported by 2 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown es_ES
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.14393 Unknown en_US

Additional Information

The reporting user(s) did not provide additional information.

Python package installation incorrectly installs data files

Reported by @SomberNight.

Python packaging supports two data inclusion mechanisms, package_data and data_files. Package data is data included inside the Python package, which for us is the top-level module electrumsv. Data files is where you want to install files, which may be inside the package, alongside it or somewhere nearby, in either an external location (/var, /etc, and so on) or relative to the installation directory.

Research results in claims that package_data and data_files are hard to get right, and it is enough and recommended to just ensure the data files are included in the MANIFEST.in file (which the graft electrumsv will do), and instead set include_package_data=True.

Rethink how we run pylint on a CI build

It's easy to commit a change that causes pylint errors and fails a CI build, and it's too slow to run on a commit locally rejecting the change otherwise. We've discussed it and pylint errors should not fail a build, unless it is a PR build. Instead they should be notifications or warnings, ideally we'd send an email during the build process as it's detected or something similar.

TypeError: unsupported operand type(s) for /: 'ElectrumWindow' and 'int'

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "TEST\Bitcoin\electrum-sv2\electrumsv\gui\qt\main_window.py", line 188, in on_tab_changed
    self.coinsplitting_tab.update_layout()
  File "TEST\Bitcoin\electrum-sv2\electrumsv\gui\qt\coinsplitting_tab.py", line 281, in update_layout
    window = self.window()/2

TypeError: unsupported operand type(s) for /: 'ElectrumWindow' and 'int'

Reporter

This issue was reported by 1 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.1.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] Windows-10-10.0.17134-SP0 Unknown en_NZ

Additional Information

The reporting user(s) did not provide additional information.

Check dependency versions on application startup

This prevents the user from encountering problems because they have a dependency so avoid the missing import problem, but the dependency does not necessarily work correctly. It is most likely that it will occur for people running from source, if it occurs.

The change for this was reverted because @bakketun reported that it did not work on packages that were included with the Linux builds, and seemed to be unable to see them.

PermissionError: [WinError 5] 拒绝访问。: 'C:\\WINDOWS\\system32\\electrum_sv_data\\certs\\sv1.hsmiths.com.temp' -> 'C:\\WINDOWS\\system32\\electrum_sv_data\\certs\\sv1.hsmiths.com'

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\util.py", line 587, in run_with_except_hook
  File "electrumsv\interface.py", line 232, in run
  File "electrumsv\interface.py", line 227, in get_socket

PermissionError: [WinError 5] 拒绝访问。: 'C:\\WINDOWS\\system32\\electrum_sv_data\\certs\\sv1.hsmiths.com.temp' -> 'C:\\WINDOWS\\system32\\electrum_sv_data\\certs\\sv1.hsmiths.com'

Reporter

This issue was reported by 5 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown zh_CN
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown en_US
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown en_GB
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17134 Unknown en_US

Additional Information

Opening wallet


Bug reported by RT that's hard to reproduce

Traceback (most recent call last):
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\gui\qt\main_window.py", line 2881, in closeEvent
self.clean_up()
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\gui\qt\main_window.py", line 2922, in clean_up
self.app.close_window(self)
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\gui\qt\app.py", line 144, in close_window
app_state.daemon.stop_wallet_at_path(window.wallet.storage.path)
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\daemon.py", line 244, in stop_wallet_at_path
wallet.stop()
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\wallet.py", line 1097, in stop
self.network.remove_wallet(self)
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\network.py", line 1196, in remove_wallet
app_state.async_.spawn(self.wallet_jobs.put, ('remove', wallet))
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\async_.py", line 101, in spawn
future.add_done_callback(partial(self.collect, on_done))
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\concurrent\futures_base.py", line 403, in add_done_callback
fn(self)
File "C:\RMT\VCS\GIT\Bitcoin\electrum-sv2\electrumsv\async
.py", line 88, in _collect
self.futures.remove(future)
KeyError: <Future at 0x1e8e0fd0550 state=finished returned NoneType>

Remove default value from config.get

config.get takes a default value. This is nasty - it means any code throughout the codebase wanting to get a config value has to supply a default (and they are likely inconsistent).
Instead, if should raise an error if the key doesn’t exist. And when loading the config, we should have a single function that goes through all the keys and sets them to a default value if missing. Then it’s all in one place.

QR code incompatibility

Receiveing address qrcode for electrumsv is working on these mobile wallets, todate.
Handcash-not reading
Centbee-not reading
Edge-yes is reading
Ps. Weeks ago sent pre-fork coin from cold to the Edge wallet for splitting, worked great

AssertionError:

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\util.py", line 587, in run_with_except_hook
  File "electrumsv\network.py", line 1229, in run
  File "electrumsv\network.py", line 1203, in wait_on_sockets
  File "electrumsv\network.py", line 664, in process_responses
  File "electrumsv\network.py", line 607, in process_response
  File "electrumsv\network.py", line 944, in on_block_headers
  File "electrumsv\blockchain.py", line 566, in connect_chunk
  File "electrumsv\blockchain.py", line 187, in get_header_at_height

AssertionError: 

Reporter

This issue was reported by 2 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown zh_CN
1.0.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-7-6.1.7601-SP1 Unknown en_GB

Additional Information

The reporting user(s) did not provide additional information.

Donation address can't be legacy address.

Applies to version 1.0.0

If the electrum server has a legacy address for donations in the electrumx.conf file an error is produced if you select the 'Donate to Server' item in the 'Help' drop down menu.

The error message is:

Invalid Bitcoincash URI:
Invalid base 58 checksum for xxxxxxxxxxxxxxxxx

UnboundLocalError: local variable 'public_key' referenced before assignment

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

  File "electrumsv\gui\qt\main_window.py", line 2423, in <lambda>
  File "electrumsv\gui\qt\main_window.py", line 2393, in do_encrypt

UnboundLocalError: local variable 'public_key' referenced before assignment

Reporter

This issue was reported by 1 user(s):

ElectrumSV Version Python Version Operating System Wallet Type Locale
1.1.0 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] Windows-10-10.0.17763 Unknown zh_CN

Additional Information

The reporting user(s) did not provide additional information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.