Node betreiben
Doichain Core installieren, konfigurieren und prüfen, als statische Binärdatei, mit Docker oder als kompletter Stack.
Eine eigene Node ist die zuverlässigste Quelle für Daten der Doichain und Voraussetzung für Börsen, Pools und eigene Indexer. Die Kette ist klein: Eine Synchronisation ab Genesis dauert auf aktueller Hardware nur wenige Minuten.
Hardware
| Ressource | Empfehlung |
|---|---|
| CPU | 2 Kerne |
| RAM | 4 GB (mindestens 2 GB) |
| Speicher | 20 GB SSD (Kette rund 5 GB inklusive Indizes) |
| Netzwerk | stabile ausgehende Verbindungen auf Port 8338 |
Variante 1: statische Binärdateien
VER=v31.1.6
BASE=https://github.com/Doichain/doichain-core/releases/download/$VER
curl -LO $BASE/doichaind-$VER-x86_64-linux-static
curl -LO $BASE/doichain-cli-$VER-x86_64-linux-static
curl -LO $BASE/SHA256SUMS
curl -LO $BASE/SHA256SUMS.asc
gpg --recv-keys 52A21926E3F274AA1F2D9CDA9BA0ED44F14E8118
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
install -m 755 doichaind-$VER-x86_64-linux-static /usr/local/bin/doichaind
install -m 755 doichain-cli-$VER-x86_64-linux-static /usr/local/bin/doichain-cli
Die Dateien gibt es auch im Download-Bereich, gespiegelt auf dem Server von DOI Labs.
Variante 2: Docker
docker run -d --name doichain \
-e RPC_PASSWORD='ein-starkes-passwort' \
-v /srv/doichain:/root/.doichain \
-p 8338:8338 doichain/core:v31.1.6
Das Image schreibt die doichain.conf beim ersten Start aus den Umgebungsvariablen RPC_PASSWORD (Pflicht), RPC_ALLOW_IP und EXTERNAL_IP. Es veröffentlicht nur den P2P-Port, der RPC-Port bleibt im Docker-Netz. Zusätzliche Argumente gehen über DOICHAIN_EXTRA_ARGS.
Variante 3: kompletter Stack
doichain-install startet per Docker Compose Doichain Core, ElectrumX 2.0, einen Merged-Mining-p2pool und einen gekürzten Bitcoin-Node. Voraussetzung sind Docker Engine 20.10 und Compose 2.17 oder neuer. Der ElectrumX-Index entsteht aus leeren Volumes in rund 22 Minuten.
Konfiguration
# ~/.doichain/doichain.conf
server=1
txindex=1
rpcuser=<benutzer>
rpcpassword=<starkes passwort>
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
listen=1
port=8338
maxconnections=40
# Fixed Seeds, falls die DNS-Seeds nichts liefern
addnode=94.130.57.196:8338
addnode=116.203.99.217:8338
addnode=128.140.44.20:8338
addnode=195.201.129.97:8338
addnode=88.99.189.178:8338
addnode=128.140.7.173:8338
addnode=65.108.176.156:8338
addnode=88.99.175.240:8338
# feste Gebührenrate, es gibt keinen Gebührenmarkt
minrelaytxfee=0.001
paytxfee=0.001
txindex=1 ist nötig, wenn beliebige Transaktionen per getrawtransaction abfragbar sein sollen. Doichain Core 31 nutzt Descriptor-Wallets (SQLite). Alte Berkeley-DB-Wallets werden einmalig mit migratewallet übernommen.
Pflicht: die Startprüfung
doichain-cli getblockchaininfo | grep -E '"chain"|initialblockdownload'
doichain-cli getblockhash 431018
# erwartet: 71d50ff12b090561cc918ddb560334b4350758c7eace3f058dd332fb112f4b67
Ein anderer Hash bedeutet: Die Node steht auf der Altkette. Node stoppen, Datenverzeichnis löschen, mit v31.1.6 neu synchronisieren. Keine Releases der Reihen 0.20.x oder 0.16.x verwenden und kein Datenverzeichnis, das je damit synchronisiert war. Hintergrund unter Das Upgrade vom September 2026.
Weitere Plausibilitätsprüfungen:
- Höhe innerhalb weniger Blöcke von
https://doi-explorer.le-space.de/api/getblockcount getnetworkinfozeigt/Satoshi:31.1.x/(der User-Agent ist in der Reihe 31.1 noch nicht umbenannt)
Überwachung
- Alarm, wenn sich
getblockhash 431018ändert - Alarm, wenn 90 Minuten kein neuer Block kommt
getnetworkhashpsundgetdifficultyverfolgen: Ein sprunghafter Anstieg oder Abfall deutet auf einen großen Miner, der kommt oder geht- Releases und Issues beobachten, Konsensänderungen werden dort angekündigt
RPC
Die Schnittstelle entspricht Bitcoin Core 31. Doichain-spezifisch sind name_show, name_history, name_list, name_scan, name_pending, name_new, name_firstupdate, name_update und name_doi. Unterschiede, die Werkzeuge für den Altclient brechen können:
scriptPubKeyenthält ein einzelnes Feldaddress, das alte Arrayaddresses[]gibt es nicht mehr (spk.address ?? spk.addresses?.[0])- Namens-Outputs tragen ein zusätzliches Objekt
nameOp getblockmit Verbosity 2 liefert die AuxPoW-Daten im Objektauxpowbumpfeeverweigert Transaktionen mit Namens-Outputs
Quellen
- Technische Integrationsspezifikation 2026.1, Abschnitt 3
- github.com/Doichain/doichain-install
Fehler gefunden oder etwas fehlt? In der Redaktion bearbeiten oder anDoichain@le-space.de melden.