Ana içeriğe geç

Raspberry Pi 4'ünüzü sadece MicroSD kartı flaşlayarak bir düğüme nasıl dönüştürebilirsiniz

istemcileryürütüm katmanımutabakat katmanıdüğümler
Orta düzey
EthereumOnArm
Ethereum on ARM(opens in a new tab)
10 Haziran 2022
6 dakikalık okuma minute read

Ethereum on Arm, Raspberry Pi'ı bir Ethereum düğümüne çevirebilecek olan kişiselleştirilmiş bir Linux görüntüsüdür.

Ethereum on Arm'ı kullanarak Raspberry Pi'ı Ethereum düğümüne çevirmek için aşağıdaki donanım önerilir:

  • Raspberry 4 (model B 8GB), Odroid M1 ya da Rock 5B (8GB/16GB RAM) kart
  • MicroSD Kartı (minimum 16 GB Sınıf 10)
  • Minimum 2 TB SSD'li bir USB 3.0 disk veya USB - SATA kasalı bir SSD.
  • Güç kaynağı
  • Ethernet kablosu
  • Bağlantı noktası yönlendirme (daha fazla bilgi için istemcilere bakın)
  • Soğutucusu ve fanı olan bir kasa
  • USB klavye, Monitör ve HDMI kablosu (mikro-HDMI) (İsteğe bağlı)

Neden Ethereum on ARM'ı çalıştıralım?

ARM kartları çok uygun fiyatlı, esnek ve küçük bilgisayarlardır. Ethereum düğümlerini çalıştırmak için iyi seçimlerdir çünkü ucuza satın alınabilirler, tüm kaynakları yalnızca düğüme odaklanacak şekilde yapılandırılabilirler, bu onları verimli kılar, düşük miktarda güç tüketir ve fiziksel olarak küçüktür, böylece herhangi bir eve dikkat çekmeden sığabilirler. Ayrıca, Raspberry Pi'ın MicroSD'si bir yüklemeye ya da yazılım oluşturmaya gerek olmadan basitçe önceden yüklenmiş bir görüntüyle doldurabildiği için düğümlerin kodlarını yazmak aşırı kolaydır.

Nasıl çalışır?

Raspberry Pi'ın bellek kartı önceden oluşturulmuş bir görüntüyle depolanmıştır. Bu görüntü, bir Ethereum düğümünü çalıştırabilmek için gereken her şeyi içerir. Yüklenmiş bir kartla, kullanıcının yapması gereken tek şey Raspberry Pi'ı açmaktır. Düğümü çalıştırmak için gereken her işlem otomatik olarak başlatılır. Bu, bellek kartı Linux tabanlı bir işletim sistemi (OS) içerdiğinden ve bu sistemde birimi bir Ethereum düğümüne dönüştüren sistem seviyesindeki işlemler otomatik olarak çalıştığından işe yarar.

Ethereum, popüler Raspberry Pi Linux OS "Raspbian" kullanılarak çalıştırılamaz, çünkü Raspbian hala 32-bit bir mimari kullanır, bu da Ethereum kullanıcılarının bellek sorunları yaşamasına neden olur ve konsensus istemcileri 32-bit ikili dosyaları desteklemez. Ethereum on Arm ekibi, bunun üstesinden gelmek için yerel bir 64-bit OS olan "Armbian"a geçiş yaptı.

Sürücüler, ortamın kurulmasından ve SSD diskinin biçimlendirilmesinden, Ethereum yazılımını kurup çalıştırmaya ve ayrıca blokzincir senkronizasyonunu başlatmaya kadar gerekli tüm adımların üstesinden gelir.

Yürütüm ve fikir birliği istemcileriyle ilgili not

Ethereum on Arm görüntüsü, hizmet olarak önceden oluşturulmuş yürütüm ve fikir birliği istemcileri içerir. Bir ethereum düğümü senkronize olmak ve çalışmak için iki istemciye de ihtiyaç duyar. Görüntüyü yükleyip depolamanız ve ardından hizmetleri başlatmanız yeterlidir. Bu görüntüye, aşağıdaki yürütüm istemcileri:

  • Geth
  • Nethermind
  • Besu

ve aşağıdaki fikir birliği istemcileri önceden yüklenmiştir:

  • Lighthouse
  • Nimbus
  • Prysm
  • Teku

Çalıştırmak için her birinden bir tanesini seçmelisiniz; tüm yürütüm istemcileri tüm fikir birliği istemcileriyle uyumludur. Açık bir şekilde bir istemci seçmezseniz düğüm, varsayılanlarına geri dönecek (Geth ve Lighthouse) ve bunları kart açıldığında otomatik olarak çalıştıracaktır. Geth'in eşleri bulup bağlanabilmesi için yönlendiricinizin 30303 bağlantı noktasını açmalısınız.

Görüntüyü İndirme

Raspberry Pi Ethereum görüntüsü, yürütüm ve fikir birliği istemcilerini otomatik olarak yükleyip ayarlayan ve onları birbiriyle konuşmaları ve Ethereum ağına bağlanmaları için yapılandıran "tak ve çalıştır" tipi bir görüntüdür. Kullanıcının tek yapması gereken basit bir komut kullanarak işlemlerini başlatmaktır.

Ethereum on Arm(opens in a new tab)'dan Raspberry Pi görüntüsünü indirin ve SHA256 karmasını doğrulayın:

1# From directory containing the downloaded image
2shasum -a 256 ethonarm_22.04.00.img.zip
3# Hash should output: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444f

Rock 5B ve Odroid M1 kartlarının görüntülerinin Ethereum-on-Arm'ın indirmeler sayfasında(opens in a new tab) mevcut olduğunu unutmayın.

MicroSD'yi yükleme

Raspberry Pi için kullanılacak MicroSD kartın yüklenebilmesi için öncelikle bir masaüstü veya dizüstü bilgisayara takılması gerekir. Ardından aşağıdaki terminal komutları, indirilen görüntüyü SD karta aktaracaktır:

1# check the MicroSD card name
2sudo fdisk -l
3
4>> sdxxx

İsmin doğru olması gerçekten önemlidir, çünkü bir sonraki komut, resmi üzerine göndermeden önce kartın mevcut içeriğini tamamen silen dd'yi içerir. Devam etmek için sıkıştırılmış resmi içeren dizine gidin:

1# unzip and flash image
2unzip ethonarm_22.04.00.img.zip
3sudo dd bs=1M if=ethonarm_22.04.00.img of=/dev/<sdxx> conv=fdatasync status=progress

Kart şimdi yanıp sönüyor, böylece Raspberry Pi'a takılabilir.

Düğümü başlatma

Raspberry Pi'a takılı SD kart ile ethernet kablosunu ve SSD'yi bağlayın ve ardından gücü açın. İşletim sistemi açılır ve Raspberry Pi'ı bir Ethereum düğümüne dönüştüren, istemci yazılımının yüklenmesi ve oluşturulması da dahil olmak üzere önceden yapılandırılmış görevler otomatik olarak gerçekleştirilir. Bu, muhtemelen 10-15 dakika sürecektir.

Her şey kurulduktan ve yapılandırıldıktan sonra, bir ssh bağlantısı aracılığıyla veya panoya bir monitör ve klavye takılıysa doğrudan terminali kullanarak cihazda oturum açın. Düğümü başlatmak için gerekli izinlere sahip olduğundan, oturum açmak için ethereum hesabını kullanın.

1User: ethereum
2Password: ethereum

Varsayılan yürütüm istemcisi Geth, otomatik olarak başlayacaktır. Bunu, aşağıdaki terminal komutları ile günlükleri kontrol ederek onaylayabilirsiniz:

1sudo journalctl -u geth -f

Fikir birliği istemcisi ayrı olarak başlatılmalıdır. Bunu yapmak için yönlendiricinizin 9000 bağlantı noktasını açın ve Ligthouse'un bulup eşlere bağlayabilmesini sağlayın. Sonra da lighthouse hizmetini etkinleştirip başlatın:

1sudo systemctl enable lighthouse-beacon
2sudo systemctl start lighthouse-beacon

Günlükleri kullanarak istemciyi kontrol edin:

1sudo journalctl -u lighthouse-beacon

Kontrol noktası senkronizasyonunu kullandığı için fikir birliği istemcisinin de birkaç dakika içinde senkronize olacağını unutmayın. Yürütüm istemcisi biraz daha fazla, muhtemelen birkaç saat zaman alacak ve fikir birliği istemcisi senkronizasyonunu bitirmediği sürece başlamayacaktır (bunun nedeni, yürütüm istemcisinin senkronize olacağı bir hedefe ihtiyaç duyması ve bunu da fikir birliği istemcisinin sağlıyor olmasıdır).

Geth ve Lighthouse hizmetleri senkronize ve çalışır durumdaysa, Raspberry Pi'ınız artık bir Ethereum düğümüdür! En yaygın yöntem, 8545 bağlantı noktasında Geth istemcisine iliştirilebilen Geth Javascript konsolunu kullanarak Ethereum ile etkileşime girmektir. JSON nesneleri şeklinde biçimlendirilmiş komutları Curl gibi bir istek aracı kullanarak göndermek de mümkündür. Geth dokümanlarında(opens in a new tab) daha fazla bilgiye ulaşın.

Geth, metrikleri tarayıcıda görüntülenebilen Grafana paneline rapor etmek üzere önceden yapılandırılmıştır. Daha ileri seviye kullanıcılar bu özelliği, ipaddress:3000 adresine gidip user: admin ve passwd: ethereum öğelerini geçirmek yoluyla düğümlerinin sağlığını izlemek için kullanmak isteyebilirler.

Doğrulayıcılar

Fikir birliği istemcisine isteğe bağlı olarak bir doğrulayıcı da eklenebilir. Doğrulayıcı yazılımı, düğümünüzün mutabakata aktif olarak katılmasına olanak tanır ve ağa kriptoekonomik güvenlik sağlar. Bu iş için ETH bazında ödüllendirilirsiniz. Bir doğrulayıcıyı çalıştırmak için öncelikle yatırma sözleşmesine yatırmak üzere 32 ETH'ye sahip olmanız gerekir. Bu, uzun süreli bir bağlılık gerektirir; bu ETH'yi çekmek henüz mümkün değildir!. Yatırma işlemi, Başlama noktası(opens in a new tab)'ndaki adım-adım rehberi takip edilerek yapılabilir. Bunu bir masaüstü/dizüstü bilgisayarda yapın ancak anahtar oluşturmayın; bu, doğrudan Raspberry Pi üzerinde yapılabilir.

Raspberry Pi'da bir terminal açın ve para yatırma anahtarlarını oluşturmak için aşağıdaki komutu çalıştırın:

1sudo apt-get update
2sudo apt-get install staking-deposit-cli
3cd && deposit new-mnemonic --num_validators 1

Anımsatıcı ifadeyi güvende tutun! Yukarıdaki komut, düğümün anahtar deposunda iki dosya oluşturmuştur: doğrulayıcı anahtarlar ve bir yatırma veri dosyası. Yatırma verilerinin başlatma paneline yüklenmesi gerekir, bu nedenle Raspberry Pi'dan masaüstü/dizüstü bilgisayara kopyalanmalıdır. Bu, bir ssh bağlantısı veya başka bir kopyala/yapıştır yöntemi kullanılarak yapılabilir.

Yatırılan veri dosyası, başlatma panelini çalıştıran bilgisayarda mevcut olduğunda, başlatma paneli ekranındaki + üzerine sürüklenip bırakılabilir. Yatırma sözleşmesine işlem göndermek için ekrandaki talimatları izleyin.

Raspberry Pi'a geri dönecek olursak, bir doğrulayıcı başlatılabilir. Bu, doğrulayıcı anahtarlarının içe aktarılmasını, ödülleri toplamak için adresin ayarlanmasını ve ardından önceden yapılandırılmış doğrulama sürecinin başlatılmasını gerektirir. Aşağıdaki örnek Lighthouse içindir; diğer fikir birliği istemcileri için talimatlar Ethereum on Arm dokümanları(opens in a new tab)'nda bulunabilir:

1# import the validator keys
2lighthouse account validator import --directory=/home/ethereum/validator_keys
3
4# set the reward address
5sudo sed -i 's/<ETH_ADDRESS>' /etc/ethereum/lighthouse-validator.conf
6
7# start the validator
8sudo systemctl start lighthouse-validator

Tebrikler, artık Raspberry Pi üzerinde çalışan tam bir Ethereum düğümünüz ve doğrulayıcınız var!

Daha fazla ayrıntı

Bu sayfa, Raspberry Pi kullanarak Geth-Lighthouse düğümünü ve doğrulayıcısını nasıl kuracağınız hakkında genel bir görünüm sunmuştur. Daha detaylı açıklama Ethereum-on-Arm web sitesinde(opens in a new tab) mevcuttur.

Geribildirimleriniz bizi memnun eder

Raspberry Pi'ın, Ethereum ağının sağlığı üzerinde çok olumlu bir etkisi olabilecek büyük bir kullanıcı tabanına sahip olduğunu biliyoruz. Lütfen bu öğreticideki ayrıntıları inceleyin, test ağlarında çalıştırmayı deneyin, Github'da Ethereum on Arm'a göz atın, geribildirimde bulunun, sorunları ve çekme isteklerini dile getirin, teknolojiyi ve dokümanları geliştirmeye yardımcı olun!

Referanslar

  1. https://ubuntu.com/download/raspberry-pi(opens in a new tab)
  2. https://wikipedia.org/wiki/Port_forwarding(opens in a new tab)
  3. https://prometheus.io(opens in a new tab)
  4. https://grafana.com(opens in a new tab)
  5. https://forum.armbian.com/topic/5565-zram-vs-swap/(opens in a new tab)
  6. https://geth.ethereum.org(opens in a new tab)
  7. https://nethermind.io(opens in a new tab)
  8. https://www.hyperledger.org/projects/besu(opens in a new tab)
  9. https://github.com/prysmaticlabs/prysm(opens in a new tab)
  10. https://lighthouse.sigmaprime.io(opens in a new tab)
  11. https://ethersphere.github.io/swarm-home(opens in a new tab)
  12. https://raiden.network(opens in a new tab)
  13. https://ipfs.io(opens in a new tab)
  14. https://status.im(opens in a new tab)
  15. https://vipnode.org(opens in a new tab)

Son düzenleme: @nixorokish(opens in a new tab), 23 Kasım 2023

Bu rehber yararlı oldu mu?