Electrum X
Tijd: 15 minuten en 7 dagen wachten op synchronisatie/indexering
Met behulp van Electrum X kun je gebruik maken van het Electrum protocol. Dit protocol laat wallets en andere software met nodes communiceren. Op andere plekken in de guide kun je tools en wallets die via het Electrum protocol communiceren direct aansluiten op je node. Een functionaliteit die de privacy bevordert. Zo kun je de BTC RPC Explorer ook aansluiten op je eigen Electrum X server. Als je dan in het vervolg informatie over je transacties of adressen van jezelf opzoekt, zal niemand dat kunnen zien. Zo kan niemand transacties aan jou linken en geniet je meer privacy.
Het kan zo'n 7 dagen duren voordat Electrum X volledig geïndexeerd en bruikbaar is. Tot die tijd kan je er niks mee.

Installatie

Zorg dat je in de home directory zit.
1
cd ~
Copied!
Installeer de volgende packages op je Raspberry.
1
sudo apt install python3-pip build-essential libc6-dev libncurses5-dev libncursesw5-dev libreadline-dev libleveldb-dev
Copied!
Door middel van pip kun je een Python-specifieke package installeren die nodig is voor Electrum X.
1
sudo pip3 install plyvel
Copied!
Clone de broncode voor Electrum X.
1
git clone https://github.com/spesmilo/electrumx
Copied!
Navigeer de zojuist geclonede map in.
1
cd electrumx
Copied!
Pak de laatste versie.
1
git checkout 1.16.0
Copied!
Installeer tot slot Electrum X.
1
sudo python3 setup.py install
Copied!

Configuratie

Net als met alle andere tools in deze guide kun je ook Electrum X op een bepaalde manier configureren. Allereerst zorgen we voor een locatie waar de database van Electrum X opgeslagen wordt. Daarna maken we met behulp van openssl sleutels aan. Tot slot stellen we Electrum X in met behulp van een configuratie bestand.
Maak een .electrumx map in de home directory met daarin weer een db map.
1
mkdir ~/.electrumx
2
3
mkdir ~/.electrumx/db
Copied!
Ga de map in.
1
cd ~/.electrumx
Copied!
Voer de volgende drie openssl commando's uit voor het aanmaken van een een stel sleutels en certificaten. Tijdens dit proces zul je wat informatie moeten invoeren, maar dat zie je vanzelf.
1
openssl genrsa -out server.key 2048
2
openssl req -new -key server.key -out server.csr
3
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt
Copied!
De laatste stap van het configureren betreft het aanmaken van het configuratie bestand. Maak een bestand aan.
1
nano ~/.electrumx/electrumx.conf
Copied!
Zet daar de volgende tekst in.
1
NET=mainnet
2
COIN=Bitcoin
3
CACHE_MB=500
4
DB_ENGINE=leveldb
5
DB_DIRECTORY=/home/ubuntu/.electrumx/db
6
DAEMON_URL=http://USERNAME:[email protected]
7
SSL_CERTFILE=/home/ubuntu/.electrumx/server.crt
8
SSL_KEYFILE=/home/ubuntu/.electrumx/server.key
9
SERVICES=tcp://:50001,ssl://:50002,wss://:50004,rpc://
Copied!
Voordat je het opslaat moet je een tweetal aanpassingen maken. Vul op de plekken USERNAME en PASSWORD de gebruikersnaam-wachtwoord combinatie die je hebt aangemaakt in het authenticatie deel van de Bitcoin Core configuratie. Zodra alles goed staat kun je het bestand opslaan met Ctrl + X en bevestigen met Y.

Firewall en router

In principe kun je BTC RPC Explorer direct aansluiten op Electrum X. Hier hoef je geen ports voor open te zetten, aangezien lokale connectie (dus van de Pi naar de Pi) altijd worden toegestaan. Wil je echter gebruik maken van Electrum X in een app zoals BlueWallet, dan dien je de volgende commando's uit te voeren om twee ports open te zetten.
1
sudo ufw allow 50001
2
sudo ufw allow 50002
Copied!
Wil je van buiten je netwerk Electrum X als backend gebruiken, dan moet je dezelfde ports open gooien op je router en doorlussen naar je Pi.

Automatiseren

Electrum X wil je altijd op de achtergrond hebben draaien. Daarom gaan we het opstarten automatiseren middels een service. Maak een service aan.
1
sudo nano /etc/systemd/system/electrumx.service
Copied!
Zet daar de volgende tekst in.
1
[Unit]
2
Description=Electrum X Server
3
Requires=bitcoind.service
4
After=network.target
5
6
[Service]
7
User=ubuntu
8
EnvironmentFile=/home/ubuntu/.electrumx/electrumx.conf
9
ExecStart=/usr/local/bin/electrumx_server
10
Restart=always
11
TimeoutSec=120
12
RestartSec=30
13
14
[Install]
15
WantedBy=multi-user.target
Copied!
Sla het op met Ctrl + X en bevestigen met Y.
Enable en start de service met deze twee commando's:
1
sudo systemctl enable electrumx
2
3
sudo systemctl start electrumx
Copied!
Na ongeveer een minuutje opstarten kun je aan Electrum X wat informatie opvragen.
1
electrumx_rpc getinfo
Copied!
Als je output lijkt op het onderstaande ben je klaar!
1
{
2
"coin": "Bitcoin",
3
"daemon": "127.0.0.1:8332/",
4
"daemon height": 662952,
5
"db height": 662952,
6
"db_flush_count": 5797,
7
"groups": 0,
8
"history cache": "0 lookups 0 hits 0 entries",
9
"merkle cache": "0 lookups 0 hits 0 entries",
10
"peers": {
11
"bad": 14,
12
"good": 83,
13
"never": 14,
14
"stale": 7,
15
"total": 118
16
},
17
"pid": 12650,
18
"request counts": {
19
"blockchain.block.header": 1,
20
"blockchain.headers.subscribe": 560,
21
"getinfo": 1,
22
"server.features": 560,
23
"server.peers.subscribe": 560,
24
"server.version": 560
25
},
26
"request total": 2242,
27
"sessions": {
28
"count": 1,
29
"count with subs": 0,
30
"errors": 0,
31
"logged": 0,
32
"pending requests": 1,
33
"subs": 0
34
},
35
"tx hashes cache": "0 lookups 0 hits 0 entries",
36
"txs sent": 0,
37
"uptime": "21d 01h 08m",
38
"version": "ElectrumX 1.16.0"
39
}
Copied!

Updaten

Stop de Electrum X service.
1
sudo systemctl stop electrumx
Copied!
Ga naar de applicatie directory.
1
cd ~/electrumx
Copied!
Update de repository met de laatste wijzigingen via Git.
1
git fetch --all
Copied!
Toon de laatste versie/tag/release.
1
git describe --tags `git rev-list --tags --max-count=1`
Copied!
Haal de wijzigingen op van de laatste versie.
1
git checkout <OUTPUT VAN DE VORIGE STAP> # bijvoorbeeld 1.16.0
Copied!
Installeer de software.
1
sudo python3 setup.py install
Copied!
Start de Electrum X service.
1
sudo systemctl start electrumx
Copied!
Electrum X is nu bijgewerkt!
Last modified 1d ago