mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-19 12:54:19 +01:00
145 lines
4.3 KiB
Markdown
145 lines
4.3 KiB
Markdown
# Install Electrum with support for ColdCard, Trezor and Ledger connected to your own Electrum Personal Server
|
|
|
|
* make sure the system is up-to-date
|
|
```
|
|
sudo apt-get update
|
|
sudo apt-get upgrade
|
|
sudo apt install git-all
|
|
```
|
|
## download, verify, install Electrum
|
|
|
|
https://electrum.org/#download
|
|
|
|
* Download package:
|
|
|
|
` $ wget https://download.electrum.org/3.3.4/Electrum-3.3.4.tar.gz`
|
|
|
|
* Verify Electrum's downloaded source code
|
|
|
|
At this stage, we are ready to verify Electrum's source code. The source code is signed by Thomas Voegtlin (https://electrum.org).
|
|
Let's import his public key:
|
|
|
|
`$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2BD5824B7F9470E6`
|
|
```
|
|
gpg: key 2BD5824B7F9470E6: public key "Thomas Voegtlin (https://electrum.org) " imported
|
|
gpg: no ultimately trusted keys found
|
|
gpg: Total number processed: 1
|
|
gpg: imported: 1
|
|
```
|
|
* Confirm a correct key import and proceed to verify the downloaded file with the help of the signature file:
|
|
|
|
`$ wget https://download.electrum.org/3.3.4/Electrum-3.3.4.tar.gz.asc`
|
|
|
|
`$ gpg --verify Electrum-3.3.4.tar.gz.asc`
|
|
```
|
|
gpg: Signature made Tue 12 Dec 2017 17:06:09 AEDT
|
|
gpg: using RSA key 2BD5824B7F9470E6
|
|
gpg: Good signature from "Thomas Voegtlin (https://electrum.org) " [unknown]
|
|
gpg: aka "ThomasV " [unknown]
|
|
gpg: aka "Thomas Voegtlin " [unknown]
|
|
gpg: WARNING: This key is not certified with a trusted signature!
|
|
gpg: There is no indication that the signature belongs to the owner.
|
|
Primary key fingerprint: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6
|
|
```
|
|
|
|
* Note gpg: Good signature on Line 3. All seems to be in order!
|
|
* Install Electrum
|
|
|
|
To install Electrum bitcoin wallet, we first need to preform an installation of all prerequisites:
|
|
|
|
Install dependencies:
|
|
|
|
|
|
`sudo apt-get install python3-setuptools python3-pyqt5 python3-pip`
|
|
|
|
Install Electrum using the command:
|
|
|
|
`python3 -m pip install --user Electrum-3.3.4.tar.gz[fast]`
|
|
|
|
`cd Electrum-3.3.4`
|
|
|
|
## (optional) zbar to read QR codes with the camera
|
|
`sudo apt-get install zbar-tools`
|
|
|
|
## (optional) install and activate a virtual environment
|
|
`apt-get install python3-venv`
|
|
|
|
`python3 -m venv venv`
|
|
|
|
`source venv/bin/activate`
|
|
|
|
---
|
|
|
|
## ColdCard for Electrum
|
|
```
|
|
sudo apt-get install python-dev libusb-1.0-0-dev libudev-dev
|
|
sudo pip install --upgrade setuptools
|
|
sudo pip install hidapi pyqt5 "ckcc-protocol[cli]"
|
|
```
|
|
add the udev rules
|
|
```
|
|
cd /etc/udev/rules.d/
|
|
sudo wget https://raw.githubusercontent.com/Coldcard/ckcc-protocol/master/51-coinkite.rules
|
|
sudo udevadm control --reload-rules && sudo udevadm trigger
|
|
```
|
|
|
|
## Trezor for Electrum
|
|
```
|
|
sudo apt-get install python3-dev python3-pip cython3 libusb-1.0-0-dev libudev-dev
|
|
sudo pip3 install --upgrade setuptools
|
|
pip3 install trezor
|
|
sudo pip3 install trezor[hidapi]
|
|
```
|
|
Add the udev rules:
|
|
```
|
|
cd /etc/udev/rules.d
|
|
sudo wget https://raw.githubusercontent.com/trezor/trezor-common/master/udev/51-trezor.rules`
|
|
|
|
sudo cp udev/*.rules /etc/udev/rules.d/
|
|
sudo udevadm trigger
|
|
sudo udevadm control -- reload-rules
|
|
sudo groupadd plugdev
|
|
sudo usermod -aG plugdev `whoami`
|
|
```
|
|
|
|
## Ledger for Electrum
|
|
```
|
|
apt-get install libudev-dev libusb-1.0-0-dev
|
|
ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so
|
|
sudo pip3 install btchip-python
|
|
wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash
|
|
```
|
|
https://support.ledger.com/hc/en-us/articles/115005165269-What-if-Ledger-Wallet-is-not-recognized-on-Linux-
|
|
|
|
## Documentation on how to add udev rules in Linux:
|
|
|
|
https://github.com/bitcoin-core/HWI/tree/master/udev
|
|
https://github.com/spesmilo/electrum-docs/blob/master/hardware-linux.rst
|
|
|
|
---
|
|
|
|
## Electrum Personal Server
|
|
|
|
Follow Stadicus`s guide:
|
|
https://github.com/Stadicus/RaspiBolt/blob/master/raspibolt_64_electrum.md
|
|
|
|
some permissions I needed to fix:
|
|
|
|
>ssh admin@Raspibolt
|
|
|
|
>sudo su - bitcoin
|
|
|
|
>ls -la
|
|
|
|
`drwx------ 6 bitcoin bitcoin 4096 Jan 2 23:55 .local`
|
|
|
|
>chmod 755 .local
|
|
|
|
`drwxr-xr-x 6 bitcoin bitcoin 4096 Jan 2 23:55 .local`
|
|
|
|
monitor the log:
|
|
>tail -f /tmp/electrumpersonalserver.log
|
|
|
|
restrict Electrum to use your own EPS, point it to the LAN IP of your Raspibolt
|
|
>python3 run_electrum --oneserver --server [RaspiBolt.IP]:50002:s
|