Electrum Server: Deine Wallet mit deiner Node verbinden
Du hast einen Full Node aufgesetzt. Er verifiziert jeden Block und jede Transaktion. Aber deine Wallet nutzt ihn noch nicht. Warum? Weil die meisten Wallets nicht direkt mit Bitcoin Core kommunizieren — sie sprechen das Electrum-Protokoll. Dafür brauchst du eine Brücke: einen Electrum Server.
Das Problem: Light-Wallets und fremde Server
Wenn du Sparrow, BlueWallet, Electrum Desktop oder eine andere Light-Wallet öffnest, verbindet sie sich mit einem Electrum-Server im Internet. Dieser Server indexiert die gesamte Timechain und beantwortet Anfragen wie: “Welche Transaktionen gehören zu Adresse X?”
Das funktioniert — aber mit einem Preis:
sequenceDiagram
participant W as Sparrow Wallet
participant E as Fremder Electrum Server
participant N as Bitcoin Netzwerk
W->>E: "Transaktionen für xpub...?"
Note over E: Server kennt jetzt:
- Deinen Extended Public Key
- ALLE deine Adressen
- Deinen Gesamtsaldo
- Deine IP-Adresse
E->>N: Fragt Daten ab
N-->>E: Rohdaten
E-->>W: Salden & Historie
Der fremde Server sieht nicht nur einzelne Adressen — er sieht deinen Extended Public Key (xpub). Damit kann er alle deine vergangenen, aktuellen und zukünftigen Adressen ableiten. Er kennt deinen vollständigen Bitcoin-Besitz.
Deine Wallet an einen fremden Electrum Server anzuschließen ist das Äquivalent dazu, einem Fremden deine kompletten Kontoauszüge zu geben. Plus deine IP-Adresse. Plus die Information, dass du Bitcoin besitzt.
Warum reicht der Full Node allein nicht?
Bitcoin Core hat eine eigene Wallet, die direkt mit dem Node kommuniziert. Aber sie ist bewusst minimalistisch — keine Coin Control, kein Label-Management, keine Hardware-Wallet-Unterstützung. Die meisten Nutzer bevorzugen spezialisierte Wallets wie Sparrow. Und die sprechen Electrum-Protokoll.
Die Lösung: Eigener Electrum Server
Ein eigener Electrum Server läuft lokal neben deinem Full Node. Er:
- Indexiert die gesamte Timechain (erstellt einen durchsuchbaren Index aller Adressen und Transaktionen)
- Beantwortet Anfragen deiner Wallet über das Electrum-Protokoll
- Leakt nichts — die Kommunikation bleibt auf deinem Gerät
sequenceDiagram
participant W as Sparrow Wallet
participant E as Dein Electrum Server
participant N as Dein Full Node
W->>E: "Transaktionen für xpub...?"
E->>N: Fragt lokale Daten ab (RPC)
N-->>E: Verifizierte Daten
E-->>W: Salden & Historie
Note over W,N: Alles läuft lokal.
Kein Dritter involviert.
Electrs vs. Fulcrum
Es gibt zwei etablierte Implementierungen. Beide tun dasselbe, unterscheiden sich aber in Ressourcenbedarf und Performance:
| Eigenschaft | Electrs | Fulcrum |
|---|---|---|
| Sprache | Rust | C++ |
| Indexgröße | ~30–50 GB | ~100–130 GB |
| RAM-Bedarf | ~1–2 GB | ~4–8 GB |
| Initiale Indexierung | 8–24 Stunden (auf SSD) | 4–12 Stunden (auf SSD) |
| Abfrage-Performance | Gut | Sehr schnell |
| Ideal für | Raspberry Pi, ressourcenknappe Systeme | Desktop, Server mit mehr Platz |
| Wartung | Minimal | Minimal |
| Verbreitung | Sehr verbreitet (Umbrel, RaspiBlitz) | Zunehmend beliebt |
Empfehlung: Wenn du einen Raspberry Pi oder ein System mit wenig Speicher nutzt, nimm Electrs. Wenn du einen Desktop oder Mini-PC mit ausreichend SSD-Platz hast, bietet Fulcrum schnellere Abfragen.
Electrs einrichten
Voraussetzungen
- Bitcoin Core vollständig synchronisiert (IBD abgeschlossen)
- RPC in
bitcoin.confaktiviert (server=1,rpcuser,rpcpassword) - Rust-Toolchain installiert (für den Build)
- ~50 GB zusätzlicher Speicherplatz
Installation
# Repository klonen
git clone https://github.com/romanz/electrs
cd electrs
# Bauen (Release-Modus für Performance)
cargo build --locked --release
# Binary verschieben
sudo cp target/release/electrs /usr/local/bin/Konfiguration
Erstelle die Datei ~/.electrs/config.toml:
# Verbindung zu Bitcoin Core
daemon_rpc_addr = "127.0.0.1:8332"
daemon_p2p_addr = "127.0.0.1:8333"
# RPC-Zugangsdaten (wie in bitcoin.conf)
auth = "dein_benutzername:dein_passwort"
# Electrum-Port (Standard: 50001)
electrum_rpc_addr = "127.0.0.1:50001"
# Datenverzeichnis für den Index
db_dir = "/data/electrs"
# Logging
log_filters = "INFO"
# Netzwerk
network = "bitcoin"Starten und indexieren
# Erster Start — die Indexierung beginnt
electrs --conf ~/.electrs/config.toml
# Fortschritt beobachten: Electrs zeigt Block-Nummer und Geschwindigkeit
# [INFO] indexing block 800000 (1234 blocks/s)
Die initiale Indexierung dauert je nach Hardware 8–24 Stunden. Danach hält Electrs den Index automatisch aktuell.
Als Systemd-Service einrichten
# /etc/systemd/system/electrs.service
[Unit]
Description=Electrs Electrum Server
After=bitcoind.service
Requires=bitcoind.service
[Service]
ExecStart=/usr/local/bin/electrs --conf /home/deinuser/.electrs/config.toml
User=deinuser
Group=deinuser
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.targetsudo systemctl enable electrs
sudo systemctl start electrsFulcrum einrichten (Alternative)
Installation
# Release herunterladen (aktuellste Version prüfen)
wget https://github.com/cculianu/Fulcrum/releases/download/v1.11.1/Fulcrum-1.11.1-x86_64-linux.tar.gz
# GPG-Signatur prüfen (wie bei Bitcoin Core!)
# Entpacken
tar xzf Fulcrum-1.11.1-x86_64-linux.tar.gz
sudo cp Fulcrum-1.11.1-x86_64-linux/Fulcrum /usr/local/bin/Konfiguration
# /etc/fulcrum.conf
datadir = /data/fulcrum
bitcoind = 127.0.0.1:8332
rpcuser = dein_benutzername
rpcpassword = dein_passwort
# Electrum-Port
tcp = 127.0.0.1:50001
# Optionale SSL-Verschlüsselung
# ssl = 0.0.0.0:50002
# cert = /path/to/cert.pem
# key = /path/to/key.pemSparrow Wallet verbinden
Jetzt kommt der entscheidende Moment: Deine Wallet mit deinem Electrum Server verbinden.
In Sparrow
- File → Preferences → Server
- Wähle Private Electrum Server
- URL:
127.0.0.1 - Port:
50001 - SSL: Aus (lokal nicht nötig)
- Test Connection — sollte “Connected” zeigen
Ab sofort fragt Sparrow deinen eigenen Node — kein Dritter sieht deine Adressen.
Über Tor (Remote-Zugriff)
Wenn dein Node zuhause läuft und du Sparrow auf einem Laptop unterwegs nutzt, verbinde über Tor:
- Richte auf dem Node einen Tor Hidden Service ein:
# /etc/tor/torrc
HiddenServiceDir /var/lib/tor/electrs/
HiddenServicePort 50001 127.0.0.1:50001
-
Starte Tor neu:
sudo systemctl restart tor -
Lies die Onion-Adresse:
sudo cat /var/lib/tor/electrs/hostname -
In Sparrow: Trage die
.onion-Adresse ein und aktiviere “Use Proxy” (127.0.0.1:9050)
Verbinde Sparrow mit deinem Electrum Server und öffne eine bestehende Wallet. Beobachte im Electrs-Log, wie dein Server die Anfragen bearbeitet. Vergleiche die angezeigte Balance mit einem Block-Explorer — sie sollte identisch sein. Der Unterschied: Diesmal hat kein fremder Server deine Adressen gesehen.
Andere Wallets verbinden
Das Electrum-Protokoll ist ein offener Standard. Neben Sparrow unterstützen unter anderem:
| Wallet | Eigenen Server eintragen | Plattform |
|---|---|---|
| Sparrow | Ja (Preferences → Server) | Desktop |
| Electrum Desktop | Ja (Tools → Network) | Desktop |
| BlueWallet | Ja (Settings → Lightning/Electrum) | Mobile |
| Envoy | Ja (Settings → Node) | Mobile |
| Nunchuk | Ja (Settings → Network) | Desktop/Mobile |
Jede Wallet, die du mit deinem eigenen Electrum Server verbindest, profitiert von der gleichen Privatsphäre und Verifizierung. Ein Server reicht für all deine Wallets.
Troubleshooting
| Problem | Ursache | Lösung |
|---|---|---|
| “Connection refused” | Electrs läuft nicht oder falscher Port | systemctl status electrs, Port in Config prüfen |
| Indexierung extrem langsam | HDD statt SSD | SSD verwenden — HDD ist bei der Indexierung um Faktor 10–50 langsamer |
| Sparrow zeigt keine Transaktionen | Index noch nicht fertig | Indexierungsfortschritt im Log prüfen |
| Hoher RAM-Verbrauch (Fulcrum) | Normal bei großem Index | RAM auf ≥ 8 GB aufstocken oder zu Electrs wechseln |
| Bitcoin Core nicht erreichbar | RPC falsch konfiguriert | rpcuser/rpcpassword in bitcoin.conf und Electrs-Config vergleichen |
Weiterführend
- Warum eine eigene Node? — Das Warum hinter dem Electrum Server
- Lightning Node — Nächste Stufe: Eigene Lightning-Infrastruktur
- Grundlagen der Bitcoin-Privatsphäre — Was Chain-Analyse-Firmen mit geleakten Adressen anfangen
- Verifizierung und Open Source — Auch Electrs/Fulcrum solltest du vor der Installation verifizieren
Diskussion via Nostr
Kommentare werden über das dezentrale Nostr-Netzwerk geladen. Du brauchst eine Nostr-Identität und eine Browser-Extension wie nos2x oder Alby.