Die Entwicklung für Midnight auf Windows ist eine Herausforderung – zumindest, wenn man sie direkt angeht. Die offiziellen Midnight-Tools wie der Compact-Compiler und der Proof-Server sind als Linux-Binärdateien konzipiert. Ohne eine native Linux-Umgebung scheitert der Start meist schon an den Grundvoraussetzungen.
Doch es gibt eine elegante Lösung: Windows Subsystem for Linux 2 (WSL2). Diese Funktion verwandelt Windows in einen vollwertigen Entwicklungsrechner mit Ubuntu-Terminal, Zugriff auf alle Linux-Tools und stabiler Laufzeitumgebung. Genau diese Basis nutzen wir, um Midnight-Projekte effizient zu entwickeln. Der folgende Leitfaden fasst die wichtigsten Schritte zusammen – inklusive der oft übersehenen Fallstricke und optimalen Konfigurationen.
WSL2 aktivieren: Der erste und wichtigste Schritt
Bevor es an die eigentliche Entwicklung geht, muss WSL2 auf dem System installiert werden. Microsoft stellt dafür eine offizielle Anleitung bereit, die alle notwendigen Schritte detailliert beschreibt. Folgen Sie dieser Anleitung, um WSL2 zu installieren und eine Ubuntu-Distribution auf Ihrem System zu starten.
Nach der Installation öffnen Sie das Ubuntu-Terminal über das Startmenü. Beim ersten Start werden Sie aufgefordert, einen Linux-Benutzernamen und ein Passwort zu vergeben. Beachten Sie: Bei der Passworteingabe erscheint keine visuelle Rückmeldung. Das ist normal – Linux verbirgt die Eingabe standardmäßig aus Sicherheitsgründen.
WSL2-Details überprüfen und bei Bedarf anpassen
Stellen Sie sicher, dass WSL2 tatsächlich aktiv ist. Öffnen Sie PowerShell und führen Sie folgenden Befehl aus:
wsl --list --verboseIn der Ausgabe sollte Ubuntu mit der Version 2 aufgeführt sein. Falls stattdessen Version 1 angezeigt wird, setzen Sie WSL2 als Standardversion:
wsl --set-default-version 2Arbeitsspeicher-Konfiguration: Warum 1 GB nicht ausreicht
Ein oft unterschätzter Faktor ist die Speicherzuweisung von WSL2. Standardmäßig erhält die virtuelle Maschine nur 1 GB Arbeitsspeicher – ein Wert, der für die meisten Entwicklungsszenarien bereits knapp bemessen ist. Für Midnight-Projekte, insbesondere den Proof-Server, der Zero-Knowledge-Beweise generiert, ist diese Konfiguration jedoch völlig unzureichend.
Der Proof-Server benötigt mindestens 4 GB RAM, um stabil zu laufen. Wird dieser Wert unterschritten, kommt es zu Abstürzen ohne offensichtliche Fehlermeldungen. Die Lösung: Die Speicherkonfiguration manuell anpassen.
Erstellen Sie eine Konfigurationsdatei namens .wslconfig im Benutzerverzeichnis von Windows. Öffnen Sie dazu PowerShell und geben Sie folgenden Befehl ein:
notepad "$env:USERPROFILE\.wslconfig"Fügen Sie anschließend folgende Zeilen in die Datei ein:
[wsl2]
memory=8GB
processors=4
swap=3GB
localhostForwarding=trueHinweis: Bei Systemen mit weniger als 16 GB RAM sollten Sie die Werte entsprechend reduzieren. Als absolute Untergrenze für Midnight-Projekte gilt jedoch memory=4GB. Nach dem Speichern der Datei starten Sie WSL2 neu:
wsl --shutdownAnschließend öffnen Sie Ubuntu erneut aus dem Startmenü, um die neue Konfiguration zu aktivieren.
Grundlegende Tools installieren: curl, Git und Node.js 22
Bevor Sie mit der Entwicklung beginnen, müssen die essenziellen Tools installiert werden. Starten Sie mit curl, dem universellen Werkzeug zum Herunterladen von Dateien:
sudo apt update && sudo apt install -y curlAls Nächstes folgt Git für die Versionsverwaltung und das Klonen von Repositories:
sudo apt install -y gitDie wichtigste Abhängigkeit ist jedoch Node.js in Version 22 oder höher. Midnight ist auf diese Version ausgelegt, und ältere oder neuere Versionen können zu Inkompatibilitäten führen. Installieren Sie Node.js über nvm (Node Version Manager), um zukünftige Konflikte zu vermeiden:
curl -o- | bash
source ~/.bashrc
nvm install 22
nvm use 22Wichtig: Nutzer der Shell zsh müssen ~/.bashrc durch ~/.zshrc ersetzen. Überprüfen Sie die Installation mit:
node --version
npm --versionDocker Engine einrichten: Der Proof-Server läuft als Container
Der Midnight-Proof-Server wird als Docker-Container ausgeführt. Daher ist die Installation von Docker Engine innerhalb von WSL2 zwingend erforderlich. Verwenden Sie dabei nicht Docker Desktop – es wird nicht in der WSL-Umgebung unterstützt.
Fügen Sie zunächst das Docker-Repository hinzu:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs:
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt updateInstallieren Sie anschließend die Docker-Pakete:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginDamit Docker ohne sudo-Befehle genutzt werden kann, fügen Sie Ihren Benutzer der Docker-Gruppe hinzu und starten den Daemon neu:
sudo usermod -aG docker $USER
newgrp docker
sudo service docker startTesten Sie die Installation mit:
docker run hello-worldCompact-Toolchain installieren: Die Grundlage für Midnight-Projekte
Die Compact-Toolchain ist das Herzstück der Midnight-Entwicklung. Installieren Sie sie mit folgendem Befehl:
curl --proto '=https' --tlsv1.2 -LsSf | shFügen Sie anschließend das Toolchain-Verzeichnis zur PATH-Umgebungsvariable hinzu:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFür zsh-Nutzer lautet der Befehl:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcÜberprüfen Sie die Installation mit:
compact --versionProjektstart mit create-mn-app: Schnell und strukturiert
Mit dem offiziellen Tool create-mn-app von Midnight lässt sich ein neues Projekt in wenigen Schritten einrichten. Das Tool generiert eine vollständige Projektstruktur inklusive Wallet-Skripten, Vertragsquellcode und Kompilierungskonfiguration:
npx create-mn-app mein-midnight-projekt
cd mein-midnight-projektAnschließend kann die Entwicklung mit den vorbereiteten Skripten beginnen. Der Proof-Server lässt sich nun mit:
yarn devstarten – vorausgesetzt, alle vorherigen Schritte wurden korrekt ausgeführt.
Fazit: WSL2 als zuverlässige Basis für Midnight-Entwickler
Windows-Nutzer müssen nicht auf Midnight-Entwicklung verzichten. Mit WSL2 steht eine leistungsstarke, stabile und einfach zu konfigurierende Linux-Umgebung zur Verfügung, die alle Anforderungen erfüllt. Die hier beschriebene Konfiguration deckt die kritischen Punkte ab – von der Speicherzuweisung bis zur Toolchain-Installation. Wer diese Schritte befolgt, vermeidet typische Fehlerquellen und kann sich auf die eigentliche Entwicklung konzentrieren.
Die Zukunft der Midnight-Entwicklung auf Windows sieht vielversprechend aus. Mit der wachsenden Community und den kontinuierlichen Verbesserungen von WSL2 werden auch komplexere Szenarien zunehmend einfacher umsetzbar sein.
KI-Zusammenfassung
Windows üzerinde Midnight geliştirmesi yapmak için WSL2 kurulumundan Node.js’e, Docker’dan Compact derleyicisine kadar adım adım ilerleyin. En iyi performansı elde etmek için bellek ayarlarını doğru şekilde yapılandırın.