Kendi Ethereum düğümünüzü başlatın
Son düzenleme: @selcuk45(opens in a new tab), 23 Temmuz 2024
Kendi düğümünüzü çalıştırmak size birçok fayda sağlar, yeni fırsatlar oluşturur ve ekosistemi desteklemeye yardımcı olur. Bu sayfa size kendi düğümünüzü başlatmanız ve Ethereum işlem doğrulamalarına katılmanız için rehber olacaktır.
Birleşimden sonra, bir Ethereum düğümünü çalıştırmak için iki istemcinin gerektiğini unutmayın. Bunlardan biri yürütüm katmanı (EL) istemcisi, diğeri ise fikir birliği katmanı (CL) istemcisidir. Bu sayfa, bir Ethereum düğümünü çalıştırmak için, bu iki istemcinin nasıl kurulacağını, yapılandırılacağını ve bağlanacağını gösterecektir.
Ön Koşullar
Bir Ethereum düğümünün ne olduğunu ve neden bir istemci çalıştırmak isteyebileceğinizi anlamalısınız. Bunlar, Düğümler ve istemciler bölümünde anlatılmıştır.
Eğer düğüm çalıştırma konusunda acemiyseniz veya daha az teknik bir yol arıyorsanız, ilk olarak bir Ethereum düğümü çalıştırmak üzerine kullanıcı dostu öğreticimize göz atmanızı öneririz.
Bir yaklaşım seçme
Düğümünüzü başlatmak için atmanız gereken ilk adım bir yaklaşım seçmek olacaktır. Gereksinimlere ve çeşitli olasılıklara bağlı olarak, istemci uygulamasını (hem yürütüm hem de fikir birliği istemcilerinin), ortamı (donanım, sistem) ve istemci ayarları için parametreleri seçmelisiniz.
Bu sayfa, size bu seçimlerde rehberlik edecek ve Ethereum oluşumunuzu çalıştırmak için en uygun yolu bulmanıza yardım edecektir.
İstemci uygulamalarından seçim yapmak için, tüm Ana Ağ'a hazır yürütüm istemcilerini, fikir birliği istemcilerini görün ve istemci çeşitliliği hakkında bilgi edinin.
İstemcinin gereksinimlerini göz önünde bulundurarak, yazılımı kendi donanımınızda mı yoksa bulutta mı çalıştıracağınıza karar verin.
Ortamı hazırladıktan sonra, seçilmiş istemcileri ya acemi dostu bir arayüzle ya da gelişmiş seçeneklere sahip bir terminalle manuel bir şekilde kurun.
Düğüm çalışırken ve senkronize olurken bunu kullanabilirsiniz ama bakımına dikkat ettiğinizden emin olun.
Ortam ve donanım
Yerel veya bulut
Ethereum istemcileri, tüketici sınıfı bilgisayarlarda çalışabilirler ve madencilik makineleri gibi özel bir donanım gerektirmezler. Bu sebeple, düğümü ihtiyaçlarınıza göre dağıtmak için çeşitli seçenekleriniz vardır. Basitleştirmek gerekirse, fiziksel bir makine üzerinde ve bir bulut sunucusunda çalışan bir düğümü düşünelim:
- Bulut
- Sağlayıcılar yüksek sunucu hizmet zamanı ve statik halka açık IP adresleri sunarlar
- Özel veya sanal bir sunucu almak kendinizinkini yapmaktan daha rahat olabilir
- Eksisi ise üçüncü bir parti olan sunucu sağlayıcısına güvenmeniz gerekmesidir
- Tam düğüm için gereken depolama boyutu sebebiyle, kiralık sunucunun fiyatı yükselebilir
- Kendi donanımınız
- Daha az güven gerektiren ve egemen yaklaşım
- Bir kerelik yatırım
- Önceden yapılandırılmış makine alma seçeneği
- Makineyi fiziksel olarak hazırlamanız, bakımını yapmanız ve potansiyel makine ve ağ arızalarını gidermeniz gerekir
İki seçenek de yukarıda özetlendiği gibi farklı avantajlara sahiptir. Eğer bir bulut çözümü arıyorsanız, birçok geleneksel bulut bilişim sağlayıcısının yanı sıra ayrıca düğüm dağıtımına odaklı hizmetler bulunmaktadır. Barınımlı düğümler hakkında daha fazla seçenek için bir servis olarak düğümleri inceleyin.
Donanım
Ancak sansüre dirençli bir merkeziyetsiz ağ, bulut sağlayıcılarına bağımlı olmamalıdır. Bunun yerine, düğümünüzü kendi yerel donanımınızda çalıştırmanız ekosistem için daha faydalıdır. Tahminler(opens in a new tab), düğümlerin büyük bir kısmının bulutta çalıştığını gösteriyor ve bu da tek hata noktası yaratabilir.
Ethereum istemcileri bilgisayarınızda, dizüstü bilgisayarınızda, sunucunuzda ve hatta tek kartlı bir bilgisayarda bile çalışabilir. İstemcileri kendi bilgisayarınızda çalıştırmak mümkün olsa da sadece düğümünüz için bir makineye sahip olmak, birincil bilgisayarınızın üzerindeki etkiyi azaltırken düğümün performansını ve güvenliğini de önemli ölçüde iyileştirebilir.
Kendi donanımınızı kullanmak çok kolay olabilir. Daha teknik kişiler için gelişmiş kurulumlar olduğu gibi birçok basit seçenek de mevcuttur. Hadi makinenizde Ethereum istemcileri çalıştırmak için gereksinimlere ve araçlara bakalım.
Gereksinimler
Donanım gereksinimleri istemciye göre farklılık gösterir, ancak düğümün yalnızca senkronize kalması gerektiğinden bu gereksinimler genellikle pek yüksek değildir. Bunu madencilikle karıştırmayın; madencilik çok daha fazla bilgi işlem gücü gerektirir. Bununla birlikte, senkronizasyon süresi ve performansı, daha güçlü donanımlarla iyileşir.
Herhangi bir istemciyi kurmadan önce, lütfen bilgisayarınızın onu çalıştırmak için yeterli kaynaklara sahip olduğundan emin olun. Minimum ve önerilen gereksinimleri aşağıda bulabilirsiniz.
Donanımınız için darboğaz çoğunlukla disk alanı olacaktır. Ethereum blok zinciri senkronizasyonunda girdi/çıktı yoğunluğu vardır ve çok fazla alan gerektirir. Senkronizasyon sonrasında bile yüzlerce GB boş alanı kalacak bir katı hal sürücüsü (SSD) kullanmak en iyisidir.
Veritabanının boyutu ve ilk senkronizasyon hızı, seçilmiş istemciye, yapılandırmasına ve senkronizasyon stratejisine bağlıdır.
Ayrıca internet bağlantınızın bir bant genişliği sınırı(opens in a new tab) tarafından sınırlandırılmadığından da emin olun. Başlangıç senkronizasyonu ve ağa yayınlanan veri, kotanızı aşabileceği için sınırsız bağlantı kullanmanız önerilir.
İşletim sistemi
Tüm istemciler ana işletim sistemlerini destekler: Linux, MacOS, Windows. Bu, düğümleri sıradan masaüstü veya sunucu makinelerinde, size en uygun işletim sistemiyle (OS) çalıştırabileceğiniz anlamına gelir. Potansiyel sıkıntılardan ve güvenlik açıklarından kaçınmak için işletim sisteminizin güncel olduğundan emin olun.
Minimum gereksinimler
- 2+ çekirdekli CPU
- 8 GB RAM
- 2 TB SSD
- 10+ MBit/sn bant genişliği
Tavsiye edilen özellikler
- 4+ çekirdekli hızlı CPU
- 16 GB+ RAM
- 2+ TB hızlı SSD
- 25+ MBit/sn bant genişliği
Seçtiğiniz senkronizasyon modu ve istemci alan gereksinimlerini etkileyecektir, ancak her bir istemci için ihtiyaç duyacağınız disk alanını aşağıda tahmin ettik.
İstemci | Disk boyutu (anlık senkronizasyon) | Disk boyutu (tam arşiv) |
---|---|---|
Besu | 800GB+ | 12TB+ |
Erigon | Yok | 2.5TB+ |
Geth | 500GB+ | 12TB+ |
Nethermind | 500GB+ | 12TB+ |
Reth | Yok | 2,2 TB veya fazlası |
- Not: Erigon ve Reth anlık senkronizasyon sunmaz, ancak tam temizleme mümkündür ( Erigon için ~2TB, Reth için ~1,2TB)
Fikir birliği istemcileri için, alan gereksinimi ayrıca istemci uygulaması ve açık olan özelliklere (ör. doğrulayıcı kesici) de bağlıdır ancak genel olarak işaret verisi için gereken ilave bir 200 GB ekleyin. Büyük bir doğrulayıcı sayısı ile bant genişliği yükü de artmaktadır. Bu analizde fikir birliği istemcileri gereksinimleri hakkında detaylar(opens in a new tab) bulabilirsiniz.
Tak-çalıştır çözümler
Kendi donanımınızla bir düğüm çalıştırmak için en kolay seçenek tak-çalıştır kutular kullanmaktır. Satıcılardan önceden yapılandırılmış makineler en basit deneyimi sunar: sipariş et, bağla, çalıştır. Her şey önceden yapılandırılmıştır, açık bir kılavuz ve yazılım gözlemlemek ve kontrol etmek için bir kontrol paneli ile otomatik olarak çalışır.
Tek kartlı bir bilgisayarda Ethereum
Ethereum düğümünü çalıştırmanın kolay ve ucuz bir yolu, ARM mimarisine sahip olan Raspberry Pi bile olsa tek kartlı bir bilgisayar kullanmaktır. ARM'de Ethereum(opens in a new tab) Raspberry Pi ve diğer ARM cihazları için birden fazla yürütme ve fikir birliği istemcisinin çalıştırması kolay görüntüler sağlar.
Bunlar gibi küçük, ucuz ve verimli cihazlar evde düğüm çalıştırmak için idealdir fakat sınırlı performansları olduğunu aklınızda tutun.
Düğümü başlatmak
Asıl istemci kurulumu otomatik başlatıcılarla veya istemci yazılımını direkt şekilde ayarlayarak tamamlanabilir.
Daha az gelişmiş kullanıcılar için, önerilen yaklaşım size kurulumda rehberlik eden ve istemci kurulum sürecini otomatik hale getiren bir başlatıcı kullanılmasıdır. Ancak terminal kullanım deneyiminiz var ise, elle kurulum adımlarını takip etmek kolay olmalıdır.
Kılavuzlu kurulum
Birden fazla kullanıcı dostu proje, istemci kurulum deneyimini geliştirmeyi hedeflemektedir. Bu başlatıcılar otomatik istemci kurulumu ve yapılandırması sunar ve hatta bazıları kılavuzlu bir kurulum ve istemcilerin gözlemi için grafik bir arayüz sunar.
Aşağıda birkaç tıklamayla istemci kurmanıza ve yönetmenize yardımcı olacak birkaç proje bulunmaktadır:
- DappNode(opens in a new tab) - DappNode sadece bir satıcıdan gelecek bir makine ile gelmez. Yazılım, asıl düğüm başlatıcısı ve birçok özelliği olan kontrol merkezi herhangi bir donanımda kullanılabilir.
- eth-docker(opens in a new tab) - Basit ve güvenli kilitlemeye odaklı, Docker ile otomatik kurulum, temel terminal ve Docker bilgisi gerektirir, biraz daha gelişmiş kullanıcılara önerilir.
- Stereum(opens in a new tab) - Uzak bir sunucuya SSH bağlantısı aracılığıyla istemci kurulumu için GUI kurulum kılavuzu, kontrol merkezi ve daha birçok özelliği bulunan bir başlatıcı.
- NiceNode(opens in a new tab) - Bilgisayarınızda bir düğüm çalıştırmak için basit bir kullanıcı deneyimi olan başlatıcı. Sadece istemciler seçin ve birkaç tıkta bunları başlatın. Hâlâ geliştirilmektedir.
- Sedge(opens in a new tab) - CLI sihirbazını kullanarak otomatik olarak bir Docker yapılandırması oluşturan düğüm kurulum aracı. Nethermind tarafından Go ile yazılmıştır.
Manuel istemci kurulumu
Diğer bir seçenek ise istemci yazılımını manuel olarak indirmek, doğrulamak ve yapılandırmaktır. Bazı istemciler bir grafik arayüzü sunsa bile, manuel bir kurulum basit terminal kabiliyeti gerektirir ancak çok daha fazla değişkenlik sağlar.
Önceden de anlatıldığı gibi, kendi Ethereum düğümünüzü kurmak bir fikir birliği ve yürütüm istemcisi çifti çalıştırmayı gerektirecektir. Bazı istemciler diğer türden bir hafif istemci içerebilir ve başka bir yazılıma duymadan eşlenebilir. Ancak, tam güven gerektirmeyen doğrulama iki uygulamayı da gerektirir.
İstemci yazılımını edinme
İlk olarak tercih ettiğiniz yürütüm istemcisi ve fikir birliği istemcisi yazılımını elde etmeniz gerekir.
İşletim sisteminize ve mimarinize uyan bir yürütülebilir uygulama veya bir kurulum paketi indirmeniz yeterlidir. Her zaman indirilen paketlerin imzalarını ve denetim toplamlarını doğrulayın. Bazı istemciler ayrıca daha kolay kurulum ve güncellemeler için depolar veya Docker görüntüleri sağlar. Tüm istemciler açık kaynaklıdır, yani bunları kaynağından da inşa edebilirsiniz. Bu daha gelişmiş bir yöntemdir, ancak bazı durumlarda gerekli olabilir.
Her bir istemcinin kurulumu için yönergeler yukarıdaki istemci listelerinde bağlantısı verilmiş dokümanlarda sağlanmıştır.
İstemcilerin önceden inşa edilmiş dosyalarını veya kurulum yönergelerini bulabileceğiniz çıkarım sürüm notu sayfaları buradadır:
Yürütüm istemcileri
- Besu(opens in a new tab)
- Erigon(opens in a new tab)
- Geth(opens in a new tab)
- Nethermind(opens in a new tab)
- Reth(opens in a new tab)
Ayrıca istemci çeşitliliğinin yürütüm katmanında bir sorun olduğundan da bahsetmeye değer. Okurların azınlık bir yürütüm istemcisi çalıştırması önerilir.
Mutabakat istemcileri
- Lighthouse(opens in a new tab)
- Lodestar(opens in a new tab) (Önceden inşa edilmiş bir kütüphane sağlamaz, ya kaynağından derlenir ya da bir Docker görüntüsü)
- Nimbus(opens in a new tab)
- Prysm(opens in a new tab)
- Teku(opens in a new tab)
İstemci çeşitliliği doğrulayıcılar çalıştıran fikir birliği düğümleri için önemlidir. Eğer doğrulayıcıların çoğunluğu tek bir istemci uygulaması kullanıyorsa, ağ güvenliği risk altındadır. Bundan dolayı azınlık bir istemci seçiminin düşünülmesi önerilir.
Güncel ağ istemci kullanımını görün(opens in a new tab) ve istemci çeşitliliği hakkında dahasını öğrenin.
Yazılımı doğrulamak
İnternetten yazılım indirirken, bütünlüğünün doğrulanması önerilir. Bu adım zorunlu değildir ancak özellikle Ethereum istemcisi gibi önemli bir altyapı parçası için potansiyel saldırı vektörleri ve onlardan nasıl kaçınılacağıyla ilgili farkındalık sahibi olmak önemlidir. Eğer önceden inşa edilmiş bir dosya indirdiyseniz, ona güvenmeniz gerekir ve bir saldırganın çalıştırılabilir dosyayı zararlı bir versiyonuyla değiştirebileceği riskini göze alırsınız.
Geliştiriciler yayınlanmış dosyaları kendi PGP anahtarları ile imzalarlar böylece tam olarak onların oluşturduğu yazılımı çalıştırdığınızı kriptografik olarak doğrulayabilirsiniz. Geliştiriciler tarafından kullanılan herkese açık anahtarları elde etmeniz gerekir, bunlar da istemci yayım sayfalarında veya dokümanlarda bulunur. İstemci yayımını ve imzasını indirdikten sonra örneğin GnuPG(opens in a new tab) gibi bir PGP uygulamasını onları doğrulamak için kullanabilirsiniz. Linux(opens in a new tab) veya Windows/MacOS(opens in a new tab) üzerinde gpg
kullanarak açık kaynak yazılım doğrulama üzerine bir öğreticiye bakın.
Başka bir doğrulama yöntemi ise geliştiriciler tarafından sağlanan karmanın, yani eşsiz kriptografik bir parmak izinin, indirdiğiniz yazılımınki ile uyup uymadığından emin olmaktır. Bu PGP kullanmaktan bile daha kolaydır ve bazı istemciler sadece bu seçeneği sunar. Sadece karma fonksiyonunu indirilen yazılım üzerinde çalıştırın ve sürüm notu sayfasındaki ile karşılaştırın. Örneğin:
1sha256sum teku-22.6.1.tar.gz239b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
İstemci kurulumu
İstemci yazılımını indirdikten, kurduktan veya derledikten sonra, çalıştırmaya hazırsınız. Bu sadece yeterli yapılandırma ile yürütülebileceği anlamına gelir. İstemciler birçok özelliği etkinleştirebilen zengin yapılandırma seçenekleri sunarlar.
Hadi istemci performansını ve veri kullanımını büyük oranda etkileyen seçeneklerle başlayalım. Senkronizasyon modları farklı blok zinciri verileri indirme ve doğrulama yöntemlerini temsil eder. Düğümü başlatmadan önce, hangi ağı ve senkronizasyon modunu kullanacağınıza karar vermelisiniz. Göz önünde bulundurulması gereken en önemli şeyler ise disk alanı ve istemcinin ihtiyaç duyacağı senkronizasyon süresidir. Hangi senkronizasyon modunun varsayılan olduğunu belirlemek için istemcinin dokümanlarına dikkat edin. Eğer size uymazsa, güvenlik düzeyine, mevcut veriye ve maliyete göre başka birini seçin. Senkronizasyon algoritmasının yanı sıra, farklı türdeki eski verilerin budanmasını da ayarlayabilirsiniz. Budama, örneğin son bloklardan erişilemeyen durum ağaç düğümlerini kaldırma gibi eski verilerin silinmesini sağlar.
Bazı diğer yapılandırma seçenekleri, örnek verecek olursak bir ağ seçmek - Ana Ağ veya test ağları, RPC veya WebSockets için HTTP uç noktalarını etkinleştirmek ve benzeridir. Tüm özellikler ve seçenekleri istemcinin dokümanlarında bulabilirsiniz. İstemciyi uyumlu bayraklarla çalıştırarak direkt olarak CLI'de veya yapılandırma dosyasında çeşitli istemci yapılandırmaları belirlenebilir. Her istemci biraz farklıdır; lütfen her zaman yapılandırma seçenekleri hakkında detaylar için resmi dokümanlara veya yardım sayfasına başvurun.
Test etmek amaçlı olarak, istemciyi test ağlarından birinde çalıştırmayı tercih edebilirsiniz. Desteklenen ağları gözden geçirin.
Yürütüm istemcilerinin basit yapılandırma ile çalıştırılma örnekleri sıradaki bölümde görülebilir.
Yürütüm istemcisini başlatmak
Ethereum istemci yazılımını başlatmadan önce, ortamınızın hazır olduğuna dair son bir kontrol yapın. Örneğin, şunlara emin olun:
- Seçilmiş ağ ve senkronizasyon modu hesaba katıldığında yeterli disk alanı olduğuna.
- Bellek ve CPU'nun diğer programlar tarafından durdurulmadığına.
- İşletim sisteminin en güncel sürüme güncellendiğine.
- Sistemin doğru saat ve tarihe ayarlı olduğuna.
- Yönlendiriciniz ve güvenlik duvarınızın, dinleme bağlantı noktalarındaki bağlantıları kabul ettiğine. Varsayılan olarak Ethereum istemcileri, ikisi de varsayılan olarak 30303 üzerinde olan bir dinleyici (TCP) bağlantı noktası ve bir keşif (UDP) bağlantı noktası kullanır.
Her şeyin doğru çalıştığından emin olmak için önce istemcinizi bir test ağında çalıştırın.
Başlangıçta, varsayılan olmayan tüm istemci ayarlarını bildirmeniz gerekir. Tercih yapılandırmalarınızı duyurmak için bayrakları veya yapılandırma dosyasını kullanabilirsiniz. Her bir istemcinin özellik listesi ve yapılandırma söz dizimi farklılık gösterir. Detaylar için istemcinizin dokümanlara bakın.
Yürütüm ve fikir birliği istemcileri Motor API(opens in a new tab)'da belirtilen doğrulanmış bir uç noktası aracılığıyla iletişim kurarlar. Bir fikir birliği istemcisine bağlanmak için yürütüm istemcisinin bilinen bir yolda bir jwtsecret
(opens in a new tab) oluşturması gerekir. Güvenlik ve istikrar sebeplerinden dolayı, istemciler aynı makinede çalışmalıdır ve iki istemci de bu yolu aralarında yerel bir RPC bağlantısını doğrulamak için kullanıldığından bilmelidir. Yürütüm istemcisi ayrıca kimliği doğrulanmış API'lar için bir dinleme bağlantı noktası tanımlamalıdır.
Bu token istemci yazılmı tarafından otomatik olarak oluşturulur ama bazı durumlar kendiniz yapmanız gerekebilir. OpenSSL(opens in a new tab) kullanarak oluşturabilirsiniz:
1openssl rand -hex 32 > jwtsecret
Bir yürütüm istemcisi çalıştırmak
Bu bölüm size yürütüm istemcileri başlatmada rehberlik edecektir. Sadece istemciyi şu ayarlarla başlatacak temel bir yapılandırma örneği olarak görev yapmaktadır:
- Bağlanılacak ağı belirler, bizim örneklerimizde Ana ağ
- Kurulumunuzun ön hazırlığı için test ağlarından birini seçebilirsiniz
- Blok zincir dahil tüm verinin depolanacağı veri klasörünü belirtir
- Yolu gerçek bir versiyonu ile değiştirdiğinizden emin olun, örneğin harici diskinize işaret edecek şekilde
- İstemci ile iletişim için arayüzleri aktif eder
- Fikir birliği istemcisiyle iletişim için JSON-RPC ve Engine API'si içerir
- Doğrulanmış API için
jwtsecret
yolunu belirler- Örnek yolu istemciler tarafından erişilebilecek gerçek bir versiyonu ile değiştirdiğinizden emin olun, ör.
/tmp/jwtsecret
- Örnek yolu istemciler tarafından erişilebilecek gerçek bir versiyonu ile değiştirdiğinizden emin olun, ör.
Bunun temel bir örnek olduğunu aklınızda tutun, diğer tüm ayarlar varsayılana ayarlı olacaktır. Varsayılan değerler, ayarlar ve özellikleri öğrenmek için her bir istemcinin dokümasyonlarına dikkat edin. Gözlem, doğrulayıcı çalıştırmak ve benzeri gibi daha fazla özellik için spesifik istemcinin dokümanlarına başvurun.
Örneklerdeki ters eğik çizgilerin
\
sadece biçimlendirme amaçlı olduğunu unutmayın, yapılandırma bayrakları tek bir satırda belirlenebilir.
Besu'yu Çalıştırmak
Bu örnek Besu'yu Ana Ağda başlatır, blokzincir verisini varsayılan biçimde /data/ethereum
lokasyonunda tutar, JSON RPC ve Motor RPC'yi fikir birliği istemcisini bağlamak için etkinleştirir. Motor API jwtsecret
ile doğrulanmıştır ve sadece localhost
tarafından gelen çağrılara izin verilir.
1besu --network=mainnet \2 --data-path=/data/ethereum \3 --rpc-http-enabled=true \4 --engine-rpc-enabled=true \5 --engine-host-allowlist="*" \6 --engine-jwt-enabled=true \7 --engine-jwt-secret=/path/to/jwtsecret
Besu aynı zamanda birtakım sorular soran ve yapılandırma dosyasını oluşturan bir başlatıcı seçeneği ile beraber gelir. Etkileşimli başlatıcıyı şunu kullanarak çalıştırın:
1besu --Xlauncher
Besu'nun dokümanlarını(opens in a new tab) daha fazla seçenek ve yapılandırma detayları içerir.
Erigon'u Çalıştırmak
Bu örnek Erigon'u Ana Ağda başlatır, blokzincir verisini /data/ethereum
lokasyonunda depolar, JSON RPC'yi etkinleştirir, hangi isim alanlarına izin verildiğini belirler ve jwtsecret
yolu tarafından belirlenen fikir birliği istemcisinin bağlanması için doğrulamayı etkinleştirir.
1erigon --chain mainnet \2 --datadir /data/ethereum \3 --http --http.api=engine,eth,web3,net \4 --authrpc.jwtsecret=/path/to/jwtsecret
Erigon varsayılan olarak 8 GB bir HDD ile tam senkronizasyon gerçekleştirir, bu da 2 TB'den fazla arşiv verisi ortaya çıkartır. datadir
yolunun yeterli alanı olan bir diske işaret ettiğinden emin olun veya farklı veri türlerini kesebilecek --prune
bayrağını inceleyin. Daha fazlasını öğrenmek için Erigon'un --help
komutuna bakın.
Geth'i Çalıştırmak
Bu örnek Geth'i Ana Ağda başlatır, blokzincir verisini /data/ethereum
lokasyonunda depolar, JSON RPC'yi etkinleştirir ve hangi isim alanlarına izin verildiğini belirler. Aynı zamanda jwtsecret
yolu gereken bağlanan fikir birliği istemcisi için doğrulamayı ve hangi bağlantılara izin verildiğini belirlemeyi etkinleştirir, bizim örneğimizde bu sadece localhost
tarafından gelenlerdir.
1geth --mainnet \2 --datadir "/data/ethereum" \3 --http --authrpc.addr localhost \4 --authrpc.vhosts="localhost" \5 --authrpc.port 85516 --authrpc.jwtsecret=/path/to/jwtsecret
Daha fazla yapılandırma seçeneği için dokümanlara(opens in a new tab) bakın ve Geth'i bir fiklir birliği istemcisi ile çalıştırma(opens in a new tab) üzerine daha fazlasını öğrenin.
Nethermind'ı Çalıştırmak
Nethermind çeşitli kurulum seçenekleri(opens in a new tab) sunar. Paket çeşitli dosyalarla gelir, bunlara yapılandırmayı etkileşimli bir şekilde oluşturmanıza yardımcı olacak kılavuzlu kurulumu olan bir Başlatıcı dahildir. Alternatif olarak, çalıştırılabilir dosyanın kendisi olan Çalıştırıcı'yı bulacaksınız ve bunu sadece yapılandırma bayrakları ile çalıştırabilirsiniz. JSON-RPC varsayılan olarak etkindir.
1Nethermind.Runner --config mainnet \2 --datadir /data/ethereum \3 --JsonRpc.JwtSecretFile=/path/to/jwtsecret
Nethermind dokümanları Nethermind'ı bir fikir birliği istemcisi ile çalıştırmak üzerine tam bir kılavuz(opens in a new tab) sunar.
Bir yürütüm istemcisi çekirdek fonksiyonlarını ve seçili uç noktalarını başlatacak ve eşleri aramaya başlayacaktır. İstemci, eşlerini başarılı bir şekilde bulduktan sonra senkronizasyonu başlatır. Yürütüm istemcisi fikir birliği istemcisinden bir bağlantı bekleyecektir. İstemci mevcut duruma başarılı şekilde senkronize edildiğinde mevcut blok zincir verisi mevcut olacaktır.
Reth'i Çalıştırma
Bu örnek Reth'i Ana Ağda, varsayılan depolama lokasyonunu kullanarak başlatır. jwtsecret
yoluyla tanımlanan fikir birliği istemcisine bağlanmak için JSON-RPC ve Engine RPC kimlik doğrulamasını etkinleştirir ve yalnızca localhost
'tan yapılan çağrılara izin verir.
1reth node \2 --authrpc.jwtsecret /path/to/jwtsecret \3 --authrpc.addr 127.0.0.1 \4 --authrpc.port 8551
Varsayılan veri dizinlerine dair daha fazla bilgi edinmek için Reth'i Yapılandırma(opens in a new tab) bölümüne bakın. Reth dokümanları(opens in a new tab), ek seçenekleri ve yapılandırma ayrıntılarını içerir.
Fikir birliği istemcisini başlatmak
Fikir birliği istemcisi yürütüm istemcisi ile yerel bir RPC bağlantısı kurmak için doğru bir port yapılandırması ile başlatılmalıdır. Fikir birliği istemcilerinin bir yapılandırma argümanı olarak açık yürütüm istemcisi portu ile çalıştırılmaları gerekir.
Fikir birliği istemcisi ayrıca aralarındaki RPC bağlantısını doğrulamak için yürütüm istemcisinin jwt-secret
yoluna ihtiyaç duyar. Yukarıdaki yürütüm örneklerine benzer şekilde, her fikir birliği istemcisinn jwt token dosya yolunu argüman olarak alan bir yapılandırma bayrağı bulunur. Bu, yürütüm istemcisine sağlanan jwtsecret
yolu ile tutarlı olmalıdır.
Bir doğrulayıcı çalıştırmayı planlıyorsanız, alıcının Ethereum adresini belirten bir yapılandırma bayrağı eklediğinizden emin olun. Bu doğrulayıcınızın ether ödüllerinin birikeceği yerdir. Her fikir birliği istemcisi, ör. --suggested-fee-recipient=0xabcd1
gibi argüman olarak Ethereum adresi alan bir seçeneğe sahiptir.
Bir test ağı üzerinde İşaret Düğümü başlatırken, kontrol noktası senkronizasyonu(opens in a new tab) için herkese açık bir uç noktası kullanarak senkronizasyon süresinden önemli oranda zaman kazanabilirsiniz.
Bir fikir birliği istemcisi çalıştırmak
Lighthouse'u Çalıştırmak
Lighthouse'u çalıştırmadan önce, nasıl kurulacağı ve yapılandırılacağıyla ilgili dahasını Lighthouse Kitabı(opens in a new tab)'ndan öğrenin.
1lighthouse beacon_node \2 --network mainnet \3 --datadir /data/ethereum \4 --http \5 --execution-endpoint http://127.0.0.1:8551 \6 --execution-jwt /path/to/jwtsecret
Lodestar'ı Çalıştırmak
Lodestar yazılımını derleyerek veya Docker görüntüsünü indirerek kurun. Dahasını dokümanlarda(opens in a new tab) ve daha detaylı kurulum rehberinde(opens in a new tab) öğrenin.
1lodestar beacon \2 --rootDir="/data/ethereum" \3 --network=mainnet \4 --eth1.enabled=true \5 --execution.urls="http://127.0.0.1:8551" \6 --jwt-secret="/path/to/jwtsecret"
Nimbus'u Çalıştırmak
Nimbus hem yürütüm hem de fikir birliği istemcileriyle gelir. En makul hesaplama gücüne sahip olan çeşitli cihazlarda bile çalıştırılabilir. Nimbus'un kendisini ve bağımlılıklarını indirdikten(opens in a new tab) sonra, fiklir birliği istemcisini çalıştırabilirsiniz:
1nimbus_beacon_node \2 --network=mainnet \3 --web3-url=http://127.0.0.1:8551 \4 --rest \5 --jwt-secret="/path/to/jwtsecret"
Prysm'i Çalıştırmak
Prysm kolay otomatik kurulum sağlayan bir betikle gelir. Detaylar Prysm dokümanlarında(opens in a new tab) bulunabilir.
1./prysm.sh beacon-chain \2 --mainnet \3 --datadir /data/ethereum \4 --execution-endpoint=http://localhost:8551 \5 --jwt-secret=/path/to/jwtsecret
Teku'yu Çalıştırmak
1teku --network mainnet \2 --data-path "/data/ethereum" \3 --ee-endpoint http://localhost:8551 \4 --ee-jwt-secret-file "/path/to/jwtsecret"
Bir fikir birliği istemcisi yatırım sözleşmesini okumak ve doğrulayıcıları tespit etmek için yürütüm istemcisine bağlandığında, aynı zamanda diğer İşaret Düğümü eşlerine bağlanır ve başlangıçtan itibaren mutabakat yuvalarını senkronize etmeye başlar. İşaret Düğümü mevcut döneme ulaştığında, İşaret API doğrulayıcınız için kullanılabilir hale gelir. İşaret Düğümü API'ları(opens in a new tab) hakkında dahasını öğrenin.
Doğrulayılar Eklemek
Bir fikir birliği istemcisi, doğrulayıcıların bağlanması için bir İşaret Düğümü işlevi görür. Her fikir birliği istemcisinin ilgili dokümanlarında detaylı şekilde açıklanan kendi doğrulayıcı yazılımı bulunur.
Kendi doğrulayıcınızı çalıştırmak Ethereum ağını desteklemek için en etkili ve güven gerektirmeyen yöntem olan solo hisseleme ön ayak olur. Ancak bunun için 32 ETH'lik bir yatırım gerekir. Kendi düğümünüzde daha az bir miktarlar doğrulayıcı çalıştırmak için, Rocket Pool(opens in a new tab) gibi izin gerektirmeyen düğüm operatörleri olan merkeziyetsiz bir havuz ilginizi çekebilir.
Hisseleme ve doğrulayıcı anahtar üretmeye başlamanın en kolay yolu, kurulumunuzu Holesky'de düğüm çalıştırarak(opens in a new tab) test etmenize izin veren Holesky Test Ağı Hisseleme Başlama Noktası(opens in a new tab)'dır. Ana ağ için hazır olduğunuzda, Ana Ağ Hisseleme Başlama Noktasını(opens in a new tab) kullanarak bu adımları tekrarlayabilirsiniz.
Hisseleme seçeneklerine genel bir bakış için hisseleme sayfasını ziyaret edin.
Düğümü kullanmak
Yürütüm istemcileri, işlemleri göndermek, etkileşim kurmak veya Ethereum ağında akıllı sözleşmeleri çeşitli şekillerde dağıtmak için kullanabileceğiniz RPC API uç noktaları sunar:
- Bunları uyumlu bir protokolle manuel olarak çağırmak (ör.
curl
kullanarak) - Sağlanan bir konsolu eklemek (ör.
geth attach
) - Bunları örnek olarak web3.py(opens in a new tab), ethers(opens in a new tab) gibi web3 kütüphanelerini kullanarak uygulamalara eklemek
Farklı istemciler, RPC uç noktalarının farklı uygulamalarına sahiptir. Ancak her istemciyle kullanabileceğiniz standart bir JSON-RPC bulunmaktadır. Genel bir bakış için JSON-RPC dokümanlarını okuyun. Ethereum ağından bilgiye ihtiyaç duyan uygulamalar bu RPC'yi kullanabilir. Örnek olarak, popüler cüzdan MetaMask büyük gizlilik ve güvenlik faydaları olan kendi RPC uç noktanıza bağlanmanıza(opens in a new tab) olanak verir.
Fikir birliği istemcilerinin tümü, fikir birliği istemcisinin durumunu kontrol etmek veya blokları ve mutabakat verilerini indirmek için kullanılabilecek bir İşaret API'sı(opens in a new tab) sunar. Bunu Curl(opens in a new tab) gibi araçları kullanıp istek göndererek yapar. Bununla ilgili daha fazla bilgiye, her bir fikir birliği istemcisinin dökümanlarından ulaşılabilir.
RPC'ye ulaşma
Yürütüm istemcisi JSON RPC'si için varsayılan port 8545
'tir, ancak yapılandırmada yerel uç noktalarının portlarını değiştirebilirsiniz. Varsayılan olarak, RPC arayüzüne sadece bilgisayarınızın yerel sunucusundan erişilebilir. Eğer bunu uzaktan erişilebilir hale getirmek istiyorsanız, adresi 0.0.0.0
yaparak genel duruma getirebilirsiniz. Bu, onu yerel ağ ve genel IP adresleri üzerinden erişilebilir hale getirecektir. Çoğu durumda yönlendiricinizde port yönlendirmeyi de kurmanız gerekecektir.
İnternete port açmaya dikkatle yaklaşın çünkü bu internetteki herhangi birinin düğümünüzü kontrol etmesine izin verecektir. Kötü amaçlı aktörler, sisteminizi çökertmek için düğümünüze erişim sağlayabilirler veya istemcinizi cüzdan olarak kullanıyorsanız paranızı çalabilirler.
Bu engeli aşmanın bir yolu ise potansiyel olarak zararlı olan RPC yöntemlerinin değiştirilebilmesini engellemektir. Örneğin, Geth ile değiştirilebilir yöntemleri bir bayrakla bildirebilirsiniz: --http.api web3,eth,txpool
.
RPC arayüzüne erişim, sınır katman API'larının geliştirmesi veya Nginx gibi web sunucusu uygulamaları ve onların istemcinizin yerel adres ve portuna bağlanması ile genişletilebilir. Orta bir katman kullanmak ayrıca geliştiricilerin RPC arayüzüne güvenli https
bağlantıları için sertifika kurma kabiliyetini de sağlayabilir.
Bir web sunucusu, proxy veya dışa bakan bir Rest API ayarlamak düğümünüzün RPC uç noktasına erişim sağlamak için tek yol değildir. Herkese açık şekilde erişilebilir bir uç noktası kurmanın gizlilik sağlayan diğer bir yolu ise düğümü kendi Tor(opens in a new tab) onion servisiniz üzerinde çalıştırmaktır. Bu, genel statik bir IP adresi veya açık portlar olmadan yerel ağınızın dışında RPC'ye erişmenizi sağlayacaktır. Ancak bu yapılandırmanın kullanılması RPC uç noktasının sadece tüm uygulamalar tarafından desteklenmeyen Tor ağı aracılığıyla erişilebilir olmasına yol açacaktır ve bağlantı sorunlarına sebep olabilir.
Bunu yapmak için, kendi onion servisinizi(opens in a new tab) kurmanız gerekir. Kendiniz barındırmak için onion servisi kurulumu üzerine dokümanlara(opens in a new tab) inceleyin. Onu RPC portuna proxy'si olan bir web sunucusu ile veya direkt olarak RPC'ye işaret ettirebilirsiniz.
Sonuncu ve iç ağlara erişim sağlamak için en popüler yollardan biri ise VPN bağlantısıdır. Kullanım alanınıza ve düğümünüze ihtiyaç duyan kullanıcı niceliğine göre, güvenli VPN bağlantısı bir seçenek olabilir. OpenVPN(opens in a new tab) endüstri standardı olan SSL/TLS protokolünü kullanan ve OSI katman 2 veya 3 güvenli ağ eklentisini kullanan tam teşekkülü bir SSL VPN'dir; sertifikalar, akıllı kartlar ve/veya kullanıcı adı/şifre bilgileri ile esnek istemci doğrulama yöntemlerini destekler ve VPN sanal arayüzüne uygulanan savunma duvarı kurallarına göre kullanıcı veya gruba özel erişim kontrol politikaları sağlar.
Düğümü çalıştırma
Düğümünüzün düzgün çalıştığından emin olmak için onu düzenli olarak izlemelisiniz. Zaman zaman bakım yapmanız gerekebilir.
Bir düğümü çevrimiçi tutmak
Düğümünüzün her zaman çevrimiçi olması gerekmez, ancak ağ ile senkronize durumda olması için onu olabildiğince çevrimiçi tutmalısınız. Yeniden başlatmak için kapatabilirsiniz ama şunu unutmayın:
- Kapatmak, eğer güncel durum hâlâ sabit diske yazılıyorsa birkaç dakika sürebilir.
- Zorla kapatmalar veritabanına hasar verebilir, bu da tüm düğümü yeniden senkronize etmenizi gerektirir.
- İstemcinizin ağ ile senkronizasyonu bozulacaktır ve yeniden başlattığınızda tekrar senkronize etmeniz gerekecektir. Düğüm kapatıldığı son yerden senkronize olmaya başlasa da, çevrim dışı olduğu süreye göre süreç zaman alabilir.
Bu, fikir birliği katmanı doğrulayıcı düğümleri için geçerli değildir. Düğümünüzü çevrimdışı yapmak ona bağlı olan tüm servisleri etkiler. Eğer hisseleme amacıyla bir düğüm çalıştırıyorsanız kesinti süresini olabildiğince azaltmalısınız.
İstemci hizmetleri oluşturma
İstemcilerinizi başlangıçta otomatik olarak çalıştırmak için bir hizmet oluşturmayı düşünün. Örneğin Linux sunucularında en iyi pratik, ör. systemd
ile istemciyi düzgün bir yapılandırmayla, sınırlı izinleri olan bir kullanıcı altında ve otomatik başlatan bir servis oluşturmak olurdu.
İstemcileri güncellemek
İstemci yazılımınızı en son güvenlik yamaları, özellikler ve EIP'ler ile güncel tutmalısınız. Özellikle sert çatallanmalardan önce, doğru istemci sürümlerini çalıştırdığınızdan emin olun.
Önemli ağ güncellemelerinden önce, EF blogunda(opens in a new tab) bir gönderi yayınlar. Düğümünüz güncellemeye ihtiyaç duyduğunda postanıza bir bildirim almak için bu duyurulara abone olabilirsiniz(opens in a new tab).
İstemcileri güncellemek çok basittir. Her istemcinin dokümanlarında belirli yönergeler vardır, ancak süreç genellikle en güncel sürümü indirmek ve istemciyi yeni çalıştırılabilir dosya ile yeniden başlatmaktır. İstemci kaldığı yerden ancak uygulanan güncellemelerle devam etmelidir.
Her istemci uygulamasının, eşler arası protokolde kullanılan insan tarafından okunabilir bir sürüm dizesi vardır, ancak buna komut satırından da erişilebilir. Bu sürüm dizesi, kullanıcıların doğru sürümü çalıştırıp çalıştırmadıklarını kontrol etmelerini sağlar ve belirli istemcilerin ağ üzerindeki dağılımını ölçmekle ilgilenen blok arayıcılarına ve diğer analitik araçlara izin verir. Sürüm dizileri hakkında daha fazla bilgi için lütfen bireysel istemci dokümanlarına bakın.
Ek hizmetler çalıştırma
Kendi düğümünüzü çalıştırmak Ethereum istemci RPC'sine doğrudan erişim gerektiren hizmetleri kullanmanızı sağlar. Bunlar Katman 2 çözümleri, cüzdan arka uçları, blok arayıcıları, geliştirici araçları ve diğer Ethereum altyapıları gibi Ethereum üzerinde inşa edilmiş servislerdir.
Düğümü izleme
Düğümünüzü düzgün şekilde gözlemlemek istiyorsanız, metrik toplamayı gözden geçirin. İstemciler, düğümünüz hakkında kapsamlı veri alabilmeniz için metrik uç noktaları sunar. Grafana(opens in a new tab) gibi uygulamalarda görselleştirmelere ve tablolara dökebileceğiniz veri tabanları oluşturmak için InfluxDB(opens in a new tab) veya Prometheus(opens in a new tab) gibi araçlar kullanın. Bu yazılımları kullanmak için birçok farklı kurulum ve düğümünüzle ağı tamamen görselleştirebilmek için farklı Grafana gösterge panelleri bulunmaktadır. Örnek olarak, Geth'i gözlemleme hakkındaki öğreticiye bakın.
Gözetlemenize dahil olarak, makinenizin performansına da dikkat etmeyi unutmayın. Düğümünüzün başlangıç senkronizasyonu esnasında istemci yazılımı CPU ve RAM üzerinde ağırlık yapabilir. Grafana'ya ek olarak, işletim sisteminizin sunduğu htop
veya uptime
gibi araçları da kullanabilirsiniz.
Daha fazla bilgi
- Ethereum Hisseleme Kılavuzları(opens in a new tab) - Somer Esat, sık güncellenir
- Kılavuz | Ana ağda Ethereum hisselemek için bir doğrulayıcı nasıl kurulur(opens in a new tab) – CoinCashew, düzenli güncellenir
- Test ağlarında doğrulayıcı çalıştırma üzerine ETHStaker kılavuzları(opens in a new tab) – ETHStaker, düzenli güncellenir
- Düğüm operatörleri için Birleşim SSS(opens in a new tab) - Temmuz 2022
- Tam doğrulanmış bir Ethereum düğümü olmak için gereken donanımın analizi(opens in a new tab) – Albert Palau, 24 Eylül 2018
- Ethereum Tam Düğümlerini Çalıştırmak: Pek Motivasyonu Olmayanlar İçin Kılavuz(opens in a new tab) – Justin Leroux, 7 Kasım 2019
- Ethereum Ana Ağı'nda Hyperledger Besu Düğümünü Çalıştırma: Faydaları, Gereksinimleri ve Kurulum(opens in a new tab) – Felipe Faraggi, 7 Mayıs 2020
- İzleme Yığını ile Nethermind Ethereum İstemcisini Dağıtma(opens in a new tab) – Nethermind.eth, 8 Temmuz 2020