Licence: MIT Licence
Author: Thomas Voegtlin
BLK Port Maintainers: lateminer & BlackcoinDev
Language: Python (>= 3.10)
Homepage: https://blackcoin.org/
(If you've come here looking to simply run Electrum-BLK, you may download it here.)
Electrum-BLK itself is pure Python, and so are most of the required dependencies, but not everything. The following sections describe how to run from source, but here is a TL;DR:
$ sudo apt-get install libsecp256k1-dev
$ ELECTRUM_ECC_DONT_COMPILE=1 python3 -m pip install --user ".[gui,crypto]"
If you want to use the Qt interface, install the Qt dependencies:
$ sudo apt-get install python3-pyqt6
For elliptic curve operations, libsecp256k1 is a required dependency.
If you "pip install" Electrum, by default libsecp will get compiled locally,
as part of the electrum-ecc
dependency. This can be opted-out of,
by setting the ELECTRUM_ECC_DONT_COMPILE=1
environment variable.
For the compilation to work, besides a C compiler, you need at least:
$ sudo apt-get install automake libtool
If you opt out of the compilation, you need to provide libsecp in another way, e.g.:
$ sudo apt-get install libsecp256k1-dev
Due to the need for fast symmetric ciphers, cryptography is required. Install from your package manager (or from pip):
$ sudo apt-get install python3-cryptography
For fast blockchain verification, scrypt is required. Install from your package manager (or from pip):
$ sudo apt-get install python3-scrypt
If you would like hardware wallet support, see this.
If you downloaded the official package (tar.gz), you can run Electrum-BLK from its root directory without installing it on your system; all the pure python dependencies are included in the 'packages' directory. To run Electrum-BLK from its root directory, just do:
$ ./run_electrum
You can also install Electrum-BLK on your system, by running this command:
$ sudo apt-get install python3-setuptools python3-pip
$ python3 -m pip install --user .
This will download and install the Python dependencies used by
Electrum-BLK instead of using the 'packages' directory.
It will also place an executable named electrum-blk
in ~/.local/bin
,
so make sure that is on your PATH
variable.
(For OS-specific instructions, see here for Windows, and for macOS)
Check out the code from GitHub:
$ git clone https://github.com/CoinBlack/electrum-blk.git
$ cd electrum-blk
$ git submodule update --init
Run install (this should install dependencies):
$ python3 -m pip install --user -e .
Create translations (optional):
$ sudo apt-get install python3-requests gettext qttools5-dev-tools
$ ./contrib/pull_locale
Finally, to start Electrum-BLK:
$ ./run_electrum
Run unit tests with pytest
:
$ pytest tests -v
To run a single file, specify it directly like this:
$ pytest tests/test_bitcoin.py -v
Any help testing the software, reporting or fixing bugs, reviewing pull requests and recent changes, writing tests, or helping with outstanding issues is very welcome. Implementing new features, or improving/refactoring the codebase, is of course also welcome, but to avoid wasted effort, especially for larger changes, we encourage discussing these in Discord first.
Communication about Electrum-BLK development is happening in Discord,
in the #electrum-blk
channel.
Most communication concerning Electrum development, aside from GitHub,
happens on IRC, in the #electrum
channel on Libera Chat. The easiest way to participate on IRC is
with the web client, web.libera.chat.