This guide briefly explains how to set up your hardware wallet to work with Electrum on Linux.
Note: If you’re using the Electrum AppImage, you can skip the first two steps. The AppImage already includes all necessary dependencies and Python libraries.
Dependencies
All hardware wallets require hidapi
. To build this library, you’ll need:
Ubuntu:
sudo apt-get install libusb-1.0-0-dev libudev-dev
Fedora:
sudo dnf install libusb-devel systemd-devel
Arch Linux / Manjaro:
sudo pacman -S libusb systemd
openSUSE:
sudo zypper install libusb-1_0-devel systemd-devel
Debian:
sudo apt-get install libusb-1.0-0-dev libudev-dev
CentOS:
sudo yum install libusbx-devel systemd-devel
(Package names may be different for other distributions.)
Python libraries
Next, you’ll need a specific Python package for your hardware wallet. This is typically a library provided by the device manufacturer.
For the most current list of required packages and their versions, check the requirements-hw.txt file in the Electrum source code.
Trezor
python3 -m pip install trezor[hidapi]
For more details, refer to python-trezor.
Ledger
python3 -m pip install hidapi btchip-python ecdsa ledger-bitcoin
For more details, refer to LedgerHQ/app-bitcoin-new and LedgerHQ/btchip-python.
KeepKey
python3 -m pip install keepkey
For more details, refer to python-keepkey.
Digital Bitbox
The Digital Bitbox only needs hidapi
.
python3 -m pip install hidapi
BitBox02
python3 -m pip install bitbox02
For more details, refer to python-bitbox02.
Archos Safe-T
python3 -m pip install safet
For more details, refer to python-safet.
Coldcard
python3 -m pip install ckcc-protocol
For more details, refer to ckcc-protocol.
Jade
python3 -m pip install pyserial cbor2
For more details, refer to jadepy.
3. udev rules
You will need to configure udev rules. See electrum/contrib/udev
4. Done
That’s it! Electrum should now detect your device.