Go to file
Calin Culianu 397f43c848
Remove ElectrumX-based servers from servers.json
This is because they don't correctly index addresses from txns with
CashTokens in them, thus users connected to these servers may end up not
seeing all of their CashTokens.  So we must definitely not ship a
servers.json with these servers included, until somebody updates
ElectrumX to correctly index CashTokens (which may never happen).
2023-08-12 06:44:25 +03:00
.github/workflows Tests: Add 3.12.0-beta.4 to Tox test matrix 2023-07-25 15:56:03 +07:00
android Update Copyright date to 2023 2023-05-21 10:56:40 +03:00
contrib Merge pull request #2671 from EchterAgo/build_vs_installer_checksum 2023-07-25 12:17:11 +03:00
electroncash Remove ElectrumX-based servers from servers.json 2023-08-12 06:44:25 +03:00
electroncash_gui [backport] fix more DeprecationWarnings 2023-07-26 20:11:50 +07:00
electroncash_plugins Add support for Cash token in Satochip 2023-05-30 08:28:04 +01:00
icons Mint screen: Reworked a few things 2023-05-13 14:49:21 -05:00
ios Updated ios/README.rst 2021-12-08 10:18:36 -06:00
pubkeys update my (Mark Lundeberg's) pgp key 2019-12-05 12:12:29 -08:00
scripts Upgrade to protocol 1.4 2018-07-21 23:03:19 +08:00
snap [Qt] Rename icons_rc.py -> icons.py, add icons.py to repository (#1097) 2019-01-07 18:09:39 +02:00
.dockerignore Update Android Docker build 2020-10-31 14:13:35 +00:00
.editorconfig Add .editorconfig file 2020-01-29 20:52:44 +07:00
.gitignore Run tox in github action (#2508) 2022-11-23 08:38:49 -06:00
.gitmodules Tor: Update to version with some patches 2021-02-04 23:00:54 +07:00
AUTHORS Bumped version to 4.0.8 for dev, updated RELEASE-NOTES 2019-06-22 23:43:49 +03:00
LICENCE Relicensing 2016-02-24 10:20:30 +01:00
MANIFEST.in Add requirements-web3.txt to MANIFEST.in 2022-05-09 21:04:52 +03:00
README.rst Add GH Action pip-audit 2023-02-10 18:13:11 +01:00
RELEASE-NOTES Bump version to 4.3.1, and update RELEASE NOTES 2023-05-19 20:36:54 -05:00
electron-cash Interface: Use check_hostname instead of match_hostname 2023-07-25 15:56:07 +07:00
electron-cash.conf.sample typo 2017-12-02 21:56:59 +09:00
electron-cash.desktop CashAccounts: Added parsing & integration of cashacct: URIs (#1547) 2019-07-26 04:06:55 +03:00
electron-env Fix for electron-env on BSD and other unix. 2019-08-03 10:34:06 +03:00
electron.icns Qt: Updated icon to use the new one proposed and agreed 2019-07-21 00:07:56 +03:00
icons.qrc Mint screen: Reworked a few things 2023-05-13 14:49:21 -05:00
org.electroncash.ElectronCash.appdata.xml CashAccounts: Added parsing & integration of cashacct: URIs (#1547) 2019-07-26 04:06:55 +03:00
pylintrc Add pylintrc 2020-01-05 17:12:48 +07:00
setup.py Setup: Replace imp module with importlib 2023-07-19 21:40:17 +07:00
tox.ini Add python 3.11 to tox 2023-02-10 23:17:01 +01:00


Electron Cash - Lightweight Bitcoin Cash client =====================================

Licence: MIT Licence
Author: Electron Cash Developers
Language: Python
Homepage: https://electroncash.org/

Help translate Electron Cash online

GitHub Actions Tests

GitHub Actions Build

GitHub Actions Python Audit

Getting started

Note: If running from source, Python 3.7 or above is required to run Electron Cash. If your system lacks Python 3.7, you have other options, such as the AppImage / binary releases or running from source using pyenv (see section Running from source on old Linux below).

macOS: It is recommended that macOS users run the binary .dmg as that's simpler to use and has everything included. Otherwise, if you want to run from source, see section Running from source on macOS below.

Electron Cash is a pure python application forked from Electrum. If you want to use the Qt interface, install the Qt dependencies:

sudo apt-get install python3-pyqt5 python3-pyqt5.qtsvg

If you downloaded the official package (tar.gz), you can run Electron Cash from its root directory (called Electron Cash), without installing it on your system; all the python dependencies are included in the 'packages' directory. To run Electron Cash from its root directory, just do:


You can also install Electron Cash on your system, by running this command:

sudo apt-get install python3-setuptools
python3 setup.py install

Compile the icons file for Qt (normally you can skip this step, run this command if icons are missing):

sudo apt-get install pyqt5-dev-tools
pyrrc5 icons.qrc -o electroncash_gui/qt/icons.py

This will download and install the Python dependencies used by Electron Cash, instead of using the 'packages' directory.

If you cloned the git repository, you need to compile extra files before you can run Electron Cash. Read the next section, "Development Version".

Hardware Wallet - Ledger Nano S

Electron Cash natively support Ledger Nano S hardware wallet. If you plan to use you need an additional dependency, namely btchip. To install it run this command:

sudo pip3 install btchip-python

If you still have problems connecting to your Nano S please have a look at this troubleshooting section on Ledger website.

Development version

Check your python version >= 3.7, and install pyqt5, as instructed above in the Getting started section above or Running from source on old Linux section below.

If you are on macOS, see the Running from source on macOS section below.

Check out the code from Github:

git clone https://github.com/Electron-Cash/Electron-Cash
cd Electron-Cash

Install the python dependencies:

pip3 install -r contrib/requirements/requirements.txt --user

Create translations (optional):

sudo apt-get install python-requests gettext

Compile libsecp256k1 (optional, yet highly recommended):

sudo apt-get install libtool automake

For plugin development, see the plugin documentation.

Running unit tests (very optional, advanced users only):

pip install tox

Tox will take care of building a faux installation environment, and ensure that the mapped import paths work correctly.

Running from source on old Linux

If your Linux distribution has a different version of python 3 (such as python 3.5 in Debian 9), it is recommended to do a user dir install with pyenv. This allows Electron Cash to run completely independently of your system configuration.

  1. Install pyenv in your user account. Follow the printed instructions about updating your environment variables and .bashrc, and restart your shell to ensure that they are loaded.
  2. Run pyenv install 3.11.1. This will download and compile that version of python, storing it under .pyenv in your home directory.
  3. cd into the Electron Cash directory. Run pyenv local 3.11.1 which inserts a file .python-version into the current directory.
  4. While still in this directory, run pip install pyqt5.
  5. If you are installing from the source file (.tar.gz or .zip) then you are ready and you may run ./electron-cash. If you are using the git version, then continue by following the Development version instructions above.

Running from source on macOS

You need to install either MacPorts or HomeBrew. Follow the instructions on either site for installing (Xcode from Apple's developer site is required for either).

  1. After installing either HomeBrew or MacPorts, clone this repository and switch to the directory: git clone https://github.com/Electron-Cash/Electron-Cash && cd Electron-Cash
  2. Install python 3.7 or later. For brew: brew install python3 or if using MacPorts: sudo port install python311
  3. Install PyQt5: python3 -m pip install --user pyqt5
  4. Install Electron Cash requirements: python3 -m pip install --user -r contrib/requirements/requirements.txt
  5. Compile libsecp256k1 (optional, yet highly recommended): ./contrib/make_secp. This requires GNU tools and automake, install with brew: brew install coreutils automake or if using MacPorts: sudo port install coreutils automake
  6. At this point you should be able to just run the sources: ./electron-cash

Creating Binaries

Linux AppImage & Source Tarball --------------

See contrib/build-linux/README.md.

Mac OS X / macOS --------

See contrib/osx/.


See contrib/build-wine/.


See android/.


See ios/.