Genel Bakış
Ethereum düğümü çalıştırmak için herhangi bir sorun yaşamadan çalıştırmak istiyorsanız, iyi bir düğüm istemcisi seçmek önemlidir. Nethermind, en eski ve güvenilir Ethereum düğüm istemcilerinden biridir. Bu kılavuzda, bir Nethermind düğümünü nasıl başlatabileceğimizi görelim.
Nethermind Nedir?
Nethermind, tam bir Ethereum düğümü uygulamasının açık kaynaklı .NET core implementasyonudur. Nethermind, diğer istemcilere kıyasla senkronizasyonu gerçekleştirmek için daha az zaman almasıyla en hızlı Ethereum istemcisi olduğu iddia edilmektedir. İzleme, kararlılık, güvenilirlik ve güvenlik gibi özelliklere sahiptir.
Nethermind, Ethereum Mainnet’in yanı sıra birçok farklı ağı destekler.
Mainnet
Goerli
Rinkeby
Ropsten
Kovan
Gnosis
POA Core
Sokol
Energy Web
Volta
Donanım Gereksinimleri
Genel olarak, daha hızlı giriş/çıkış yapabilen bir düğümün daha hızlı olduğu önerilir. Düğümünüzü bulutta barındırıyorsanız, DigitalOcean’ı tercih etmeniz önerilir.
Düğümünüzü yerel olarak çalıştırmayı planlıyorsanız, güçlü bir SSD tavsiye edilir. Bir HDD’nin senkronizasyon için çok daha uzun süreler gerektireceği ve senkronizasyondan sonra bile ağa ayak uyduramayabileceği unutulmamalıdır. Düğüm başlatıldıktan sonra, tahmini maksimum gereksinim duyulan alan gösterilecektir, ancak bazı blok senkronizasyonları değerlerin üzerine çıkabileceğinden, gösterilen alandan daha fazla alan ayırmak her zaman daha güvenlidir.
Aşağıdaki donanım konfigürasyonları önerilmektedir:
Hızlı senkronizasyon düğümleri için 16GB RAM, 8x CPU ve 300GB disk alanı.
Not: Hızlı senkronizasyon modu varsayılan olarak Pruning özelliğini etkinleştirmemiştir, dolayısıyla 300GB’lık alan kısa süreli kalacaktır ve disk kullanımı günlük olarak birkaç GB artacaktır. Nethermind’in, pruning özellikli mainnet_pruned.cfg, goerli_pruned.cfg vb. şeklinde adlandırılan konfigürasyonları mevcuttur. Pruning özelliği etkinleştirildiğinde, DB sürekli olarak budanacak ve disk alanı dramatik bir şekilde artmayacaktır. Nethermind çekirdek geliştiricileri, mevcut yöntemin bazı bilinen hataları olduğundan, yeni bir Pruning yöntemi üzerinde çalışmaktadır.
Arşiv düğümleri için 64GB RAM (en iyi performans için 128GB) ve 64/128 CPU ile, Ethereum zincir verisi oldukça büyümüştür ve mevcut Ana Ağ Arşiv Veritabanı yaklaşık olarak ~8TB Disk alanı gerektirir. Bu nedenle, düğümün en az bir yıl boyunca çalışması için 12TB’lık disk alanına sahip olmanız önerilir.
Güvenlik Duvarı Yapılandırması
JSON RPC bağlantı noktası ve özel anahtarların korunması için düğümünüzle birlikte bir güvenlik duvarı kullanmanız önerilir. Güvenlik duvarı kurarken, aşağıdaki önlemleri alın.
Port 8545 (veya 8000-9000) JSON RPC bağlantı noktası verdiği yönetici erişimini sağladığı için güvenilir olmayan kaynaklar haricinde herkesten uzak tutulmalıdır. TCP port 30303 (veya 30300-30400) diğer düğümlerin düğümünüzle bağlanmasına izin vermek için açık tutulmalıdır. UDP port 30303 (veya 30300-30400) diğer düğümlerin düğümünüzü bulabilmesi için açık tutulmalıdır.
Nethermind Düğümünü Çalıştırma
Önce Nethermind düğümünü çalıştırma sürecine geçmeden önce, Nethermind’in sunduğu üç senkronizasyon modunu anlayalım.
Hızlı Senkronizasyon
Hızlı senkronizasyon, Nethermind için varsayılan ve en popüler senkronizasyon modudur; hızlı senkronizasyon tamamlandıktan sonra, hesap bakiyesi gibi temel çağrılar için düğümünüzü sorgulayabileceksiniz. Hızlı senkronizasyon, blok zincirinin en son durumunu, başlıkları ve isteğe bağlı olarak gövdeleri ve makbuzları indirecektir.
Beam Senkronizasyonu
Beam senkronizasyonu, hızlı senkronizasyon gibi, ancak beam senkronizasyonu ile birlikte, istemcinin başlamasından birkaç dakika içinde blok zincirini sorgulamaya başlayabilirsiniz. Ancak bu mod, tam bir bilgi sahibi olmadan önerilmez. Beam senkronizasyonu hakkında daha fazla bilgi edinebilirsiniz.
Not: Bu, birçok geliştiricinin iyi bir başarı oranına sahip olmaması nedeniyle önerilmez.
Arşiv Senkronizasyonu
Arşiv senkronizasyonu, en yavaş ve en çok yük tüketen senkronizasyondur, ancak bu senkronizasyon, blok zincirinin tarihsel verilerini ve durumunu doğrudan genesis bloğundan alacaktır. Ana ağ için Arşiv senkronizasyonunun tamamlanması, IO hızına bağlı olarak birkaç hafta sürebilir.
Şimdi işletim sistemi tabanlı Nethermind kurulum sürecine bakalım.
Linux
Paketi ya Nethermind’in indirme sayfasından, GitHub sürüm sayfasından veya wget kullanarak indirebilirsiniz.
$ wget https://github.com/NethermindEth/nethermind/releases/download/1.10.72/nethermind-linux-amd64-1.10.72-e63bcb9-20210524.zip
Ardından bağımlılıkları indirin.
$ sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip -y
Şimdi yeni bir nethermind klasörüne paketi açın.
$ unzip nethermind-linux-amd64-1.10.72-e63bcb9-20210524.zip -d nethermind
Not: Paketin adı ve GitHub bağlantısı, paket sürümüne bağlı olarak değişebilir.
Şimdi nethermind klasörüne gidin.
$ cd nethermind
./Nethermind.Launcher komutunu çalıştırın ve Ethereum düğümünü seçin.
$ ./Nethermind.Launcher
Şimdi düğümünüzün hangi ağda çalışacağını seçin (bu örnekte Ropsten).
Şimdi düğümünüzün hangi ağda çalışacağını seçin (bu örnekte Ropsten).
Şimdi, JSON RPC'nin desteklenip desteklenmeyeceği konusunda bir uyarı alacaksınız. Eğer isterseniz Y tuşuna basın.
Evet'i seçtikten sonra, özel JSON RPC IP'si de ayarlayabilirsiniz.
![]()
Şimdi Ethstats kaydı için sorulacaksınız. Bunun için gerekli bilgileri girebilir veya atlayabilirsiniz.
Şimdi düğüm senkronizasyonuna başlayacak ve yaklaşık olarak şöyle görünmelidir.
macOS
Nethermind’in indirme sayfasından veya GitHub sürümlerinden Darwin paketini indirin.
Ardından, Homebrew kullanarak Mac için bağımlılıkları yükleyin.
$ brew install gmp snappy lz4 zstd
İndirilen paketi açın ve Nethermind.Launcher‘ı çalıştırın. Daha sonra, Linux için gördüğümüz yapılandırma adımlarını takip edebilirsiniz.
Windows
Windows için, Nethermind’in indirme sayfasından veya GitHub sürümlerinden Windows paketini indirin.
Paketi açın ve Nethermind.Launcher.exe‘yi çalıştırın; daha fazla yapılandırma adımı Linux’ta gördüklerimizle aynıdır.
Desteklenen JSON RPC modüller hakkında daha fazla bilgi edinmek için burayı ziyaret edebilirsiniz.
Şimdi, özel bir yapılandırmayla düğümümüzü nasıl çalıştırabileceğimize bakalım. Bunun için, Linux/macOS için ./Nethermind.Runner ve Windows için Nethermind.Runner ile düğümü çalıştırın.
- Tüm yapılandırma seçeneklerinin bir listesini almak için
$ ./Nethermind.Runner –help - Tüm veri düğüm işlemlerini özel bir dizinde depolamak için.
$ ./Nethermind.Runner –datadir <path> - Nethermind’in veritabanı klasörünün yolunu yapılandırmak için.
$ ./Nethermind.Runner –baseDbPath <path> - Günlük seviyesini değiştirmek için, mevcut seçenek: DEBUG, TRACE, INFO, WARN, ERROR.
$ ./Nethermind.Runner –log <option> - Yapılandırma dosyalarının kaynak dizinini değiştirmek için.
$ ./Nethermind.Runner –configsDirectory <path> - Hangi yapılandırma dosyasının kullanılacağını belirlemek için.
$ ./Nethermind.Runner –config <filename>