Windows kullanıcısı olarak Midnight üzerinde geliştirme yapmak istiyorsanız, ilk fark etmeniz gereken şey: Midnight’in aracı zinciri — Compact derleyicisi, kanıt sunucusu ve diğer bileşenler — Linux ikili dosyalarıdır. Bu dosyalar doğrudan Windows üzerinde çalışmaz. Neyse ki, Microsoft’un sunduğu WSL2 (Windows Subsystem for Linux) çözümüyle Windows içinde gerçek bir Linux ortamına sahip olabilirsiniz. Bu sayede Ubuntu terminaline erişim, Linux geliştirme araçlarını kullanabilme ve Midnight projelerinizi istikrarlı bir şekilde yürütme imkanı elde edersiniz.
Ben de Midnight geliştirme ortamımı tamamen WSL2 üzerine kurdum ve bu süreci adım adım belgeledim. İşte karşılaştığım püf noktaları ve sıkıntı yaşadığım kısımlar da dahil olmak üzere detaylı bir rehber.
WSL2’nin Etkinleştirilmesi: Temel Adımlar
Midnight geliştirmesi için WSL2’yi kullanmadan önce, sisteminizde WSL2’nin etkin olduğundan emin olmanız gerekiyor. Microsoft’un resmi belgelerini takip ederek başlayabilirsiniz. WSL2’nin kurulumunu tamamladıktan ve Ubuntu’yu başlattıktan sonra bu rehbere geri dönebilirsiniz.
WSL2’nin etkin olduğunu doğrulamak için PowerShell’i açın ve aşağıdaki komutu çalıştırın:
wsl --list --verboseEğer listede Ubuntu ve karşısında Version 2 yazıyorsa, sisteminiz doğru şekilde yapılandırılmış demektir. Eğer Version 1 yazıyorsa, varsayılan sürümü WSL2 olarak değiştirmek için aşağıdaki komutu kullanın:
wsl --set-default-version 2Bellek Ayarlaması: Göz Ardı Edilmemesi Gereken Kritik Adım
Bu adımı atlamamanız son derece önemli. WSL2’nin varsayılan bellek ayarı yalnızca 1GB’dır. Midnight’in kanıt sunucusu, ZK kanıtlarını oluştururken en az 4GB belleğe ihtiyaç duyar. Bellek ayarını yapmazsanız, kanıt sunucusu çalışmaya başlar ancak sessizce çökebilir ya da ortada bir hata mesajı olmaksızın başarısız olabilir. Bu durumu ben de kendi deneyimimde yaşadım.
Bellek ayarını yapabilmek için Windows kullanıcı dizininizde yer alan .wslconfig adlı bir dosya oluşturmanız gerekiyor. PowerShell’i açın ve aşağıdaki komutu çalıştırın:
notepad "$env:USERPROFILE\.wslconfig"Açılan dosyaya aşağıdaki yapılandırmayı ekleyin:
[wsl2]
memory=8GB
processors=4
swap=3GB
localhostForwarding=trueEğer sisteminizde 16GB’dan daha az RAM bulunuyorsa, bellek değerini buna göre ayarlayın. Midnight geliştirmesi için minimum önerilen bellek miktarı memory=4GB şeklindedir. Değişiklikleri kaydedip WSL’yi yeniden başlatmak için aşağıdaki komutu çalıştırın:
wsl --shutdownArdından Ubuntu’yu yeniden başlatın.
Temel Geliştirme Araçlarının Kurulumu
Midnight projelerinizi geliştirmeye başlamadan önce, bazı temel araçların sisteminizde bulunması gerekiyor. İlk olarak curl komutunun kurulu olduğundan emin olun:
sudo apt update
sudo apt install -y curlArdından versiyon kontrolü için git’i kurun:
sudo apt install -y gitNode.js 22’nin Kurulumu: Sürüm Uyumu Önemli
Midnight, Node.js 22 veya daha yeni bir sürümünü gerektiriyor. Node.js’i kurarken, Windows’a doğrudan yüklemek yerine nvm (Node Version Manager) kullanmanız önerilir. Aksi takdirde, gelecekte versiyon çatışmalarıyla karşılaşabilirsiniz.
Node.js 22’yi kurmak için aşağıdaki komutları sırasıyla çalıştırın:
curl -o- | bash
source ~/.bashrc
nvm install 22
nvm use 22Kurulumun başarılı olup olmadığını doğrulamak için:
node --version
npm --versionNot: Eğerzshkullanıyorsanız,.bashrcdosyasını.zshrcolarak değiştirin. Ayrıca,create-mn-appve Midnight SDK’nın en son Node.js 22 versiyonuyla doğrulandığını unutmayın. Daha yeni bir ana versiyon kullanmak teknik olarak mümkün olsa da, uyumsuzluk riski taşıyabilir. En güncel desteklenen aralık için Midnight belgelerine göz atabilirsiniz.
Docker Engine’in WSL2 Üzerine Kurulumu
Midnight’in kanıt sunucusu, Docker konteynerleri üzerinden çalışıyor. Bu nedenle, Docker Engine’i Windows üzerinde değil, WSL2 içinde kurmanız gerekiyor — Docker Desktop kullanmamaya dikkat edin.
Docker’ın APT deposunu yapılandırmak için aşağıdaki komutları sırasıyla çalıştırın:
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.ascArdından Docker deposunu ekleyin:
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
EOFDocker paketlerini kurun:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginDocker grubuna kullanıcınızı ekleyerek sudo kullanmadan çalıştırmayı sağlayın:
sudo usermod -aG docker $USER
newgrp dockerDocker servisini başlatın:
sudo service docker startKurulumun başarılı olup olmadığını doğrulamak için:
sudo docker run hello-worldCompact Derleyicisinin Kurulumu
Compact derleyicisini kurmak için aşağıdaki komutu çalıştırın:
curl --proto '=https' --tlsv1.2 -LsSf | shDerleyiciyi PATH değişkenine ekleyin:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcNot:zshkullanıcıları için.bashrcyerine.zshrcdosyası kullanın.
Kurulumun başarılı olup olmadığını kontrol etmek için:
compact --versionProje Oluşturma: create-mn-app ile Başlangıç
Midnight ekibi, proje oluşturmayı kolaylaştıran create-mn-app adlı bir araç sunuyor. Bu araç sayesinde cüzdan komut dosyaları, sözleşme kaynak kodları ve derleme yapılandırması gibi tüm proje yapısını otomatik olarak oluşturabilirsiniz.
Projeyi başlatmak için aşağıdaki komutu çalıştırın:
npx create-mn-app proje-adıBu komut, projelerinizin temel yapısını oluşturacak ve Midnight geliştirmesine hızlı bir başlangıç yapmanızı sağlayacaktır.
Midnight’in Linux tabanlı araçlarını Windows üzerinde kullanmak artık daha kolay. WSL2’nin sunduğu esneklik ve güçlü geliştirme ortamı sayesinde, Midnight projelerinizi sorunsuzca hayata geçirebilirsiniz. Bu rehberde yer alan adımları takip ederek, hem zaman kazanın hem de geliştirme sürecinizin her aşamasını kontrol altında tutun. Gelecekte Midnight’in yeni özellikleriyle birlikte bu rehberi güncellemeye devam edeceğiz, böylece her zaman en güncel bilgilere ulaşabilirsiniz.
Yapay zeka özeti
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.