Ana içeriğe geç

Bu sayfanın güncellenmesine yardım edin

🌏

Bu sayfanın yeni bir sürümü vardır ancak şu anda yalnızca İngilizce'dir. Son sürümü çevirmemize yardımcı ol.

Sayfayı çevir
İngilizce'yi gör

Burada hata yok!🐛

Bu sayfa tercüme edilmiyor. Bu sayfayı şimdilik kasıtlı olarak İngilizce bıraktık.

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
📚r/ethereum(opens in a new tab)
📆7 Mayıs 2020
⏱️7 dakikalık okuma

Kısacası: Raspberry Pi 4'ünüzü flaşlayın, bir ethernet kablosu takın, SSD diskini bağlayın ve Raspberry Pi 4'ü yürütüm katmanını veya mutabakat katmanını (İşaret Zinciri/doğrulayıcı) çalıştıran tam bir Ethereum düğümüne dönüştürmek için cihazı çalıştırın

Ethereum yükseltmeleri hakkında bilgi edinin

Önce biraz arka plan bilgisi verelim. Bildiğiniz gibi, Raspbian işletim sistemi hâlâ 32 bit [2] (en azından kullanıcı alanı) üzerinde olduğundan, [1]Raspberry Pi 4 görüntüsüyle ilgili bazı bellek sorunlarıyla karşılaşıyoruz. Resmi işletim sistemine bağlı kalmayı tercih ederken, bu sorunları çözmek için yerel 64 bit işletim sistemine geçmemiz gerektiği sonucuna vardık

Ayrıca, mutabakat istemcileri 32 bit ikili dosyaları desteklemez, bu nedenle Raspbian kullanmak, Raspberry Pi 4'ün bir mutabakat katmanı düğümü çalıştırmasını (ve stake etme olasılığını) hariç tutar.

Bu nedenle, birkaç testten sonra şimdi Ubuntu 20.04 64bit [3] tabanlı 2 farklı sürücü yayınlıyoruz: yürütüm katmanı ve mutabakat katmanı sürümleri.

Temel olarak, her ikisi de aynı sürücüdür ve Raspbian tabanlı sürücülerin aynı özelliklerini içerir. Ancak varsayılan olarak yürütüm katmanı veya mutabakat katmanı yazılımlarını çalıştırmak için ayarlanmıştır.

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 blok zinciri senkronizasyonunu başlatmaya kadar gerekli tüm adımların üstesinden gelir.

Ana özellikler

  • Ubuntu 20.04 64bit temelli
  • Otomatik USB disk bölümleme ve formatlama
  • Armbian çalışmasına dayalı takas belleği (ZRAM çekirdek modülü + bir takas dosyası) ekler[7]
  • MAC hash değerine dayalı olarak ana bilgisayar adını "ethnode-e2a3e6fe" gibi bir şeyle değiştirir
  • Yazılımı bir systemd hizmeti olarak çalıştırır ve Blok Zincirini senkronize etmeye başlar
  • Ethereum yazılımını kurmak ve yükseltmek için bir APT deposu içerir
  • Grafana/Prometheus'a dayalı bir izleme gösterge paneli içerir

Mevcut yazılım

Her iki sürücü de aynı paketleri içerir: Aralarındaki tek fark, yürütüm sürümünün varsayılan olarak Geth'i çalıştırması ve mutabakat sürümünün varsayılan olarak Prysm işaret zincirini çalıştırmasıdır.

Yürütüm istemcileri

  • Geth [8]: 1.9.13 (resmi ikili)
  • Parity [9]: 2.7.2 (çapraz derlenmiş)
  • Nethermind [10]: 1.8.28 (çapraz derlenmiş)
  • Hyperledger Besu [11]: 1.4.4 (derlenmiş)

Mutabakat istemcileri

  • Prysm [12]: 1.0.0-alpha6 (resmi ikili)
  • Lighthouse [13]: 0.1.1 (derlenmiş)

Ethereum çerçevesi

  • Swarm [14]: 0.5.7 (resmi ikili)
  • Raiden Network [15]: 0.200.0~rc1 (resmi ikili)
  • IPFS [16]: 0.5.0 (resmi ikili)
  • Statusd [17]: 0.52.3 (derlenmiş)
  • Vipnode [18]: 2.3.3 (resmi ikili)

Kurulum rehberi ve kullanım

  • Raspberry 4 (model B) - 4GB
  • MicroSD Kartı (minimum 16 GB Class 10)
  • SSD USB 3.0 diski (depolama bölümüne bakın)
  • Güç kaynağı
  • Ethernet kablosu
  • 30303 Port yönlendirme (yürütüm katmanı) ve 13000 port yönlendirme (mutabakat katmanı)[4]
  • Soğutucu ve fanlı bir kasa (isteğe bağlıdır ancak şiddetle tavsiye edilir)
  • USB klavye, Monitör ve HDMI kablosu (mikro HDMI) (isteğe bağlı)

Depolama

Ethereum istemcilerini çalıştırmak için bir SSD'ye ihtiyacınız olacak (SSD sürücüsü olmadan Ethereum blok zincirini senkronize etme şansınız kesinlikle yoktur). İki seçenek bulunmaktadır:

  • Samsung T5 Portable SSD gibi bir taşınabilir USB SSD diski kullanın.
  • SSD Diskli bir USB 3.0 External Hard Drive Case kullanın. Biz, bir Inateck 2.5 Hard Drive Enclosure FE2011 kullandık. Özellikle JMicron (JMS567 veya JMS578) veya ASMedia (ASM1153E) olmak üzere UAS uyumlu çipli bir kasa satın aldığınızdan emin olun.

Her iki durumda da, düşük kaliteli SSD diskleri almaktan kaçının çünkü bu, düğümünüzün önemli bir bileşenidir ve performansı (ve senkronizasyon sürelerini) büyük ölçüde etkileyebilir.

Diski bir USB 3.0 portuna (mavi) takmanız gerektiğini unutmayın

Sürücü indirme ve kurulumu

1. Yürütüm ve mutabakat katmanı sürücülerini indirin

Yürütüm katmanı sürücüsünü indir(opens in a new tab)

sha256 7fa9370d13857dd6abcc8fde637c7a9a7e3a66b307d5c28b0c0d29a09c73c55c

Mutabakat katmanı sürücüsünü indir(opens in a new tab)

sha256 74c0c15b708720e5ae5cac324f1afded6316537fb17166109326755232cd316e

2. Sürücüyü flaşlayın

MicroSD'yi Masaüstünüze/Dizüstü bilgisayarınıza takın ve dosyayı indirin (örneğin yürütüm katmanı):

wget https://ethraspbian.com/downloads/ubuntu-20.04-preinstalled-server-arm64+raspi-eth1.img.zip

Not: Eğer komut satırı ile rahat değilseniz veya Windows çalıştırıyorsanız, Etcher(opens in a new tab) kullanabilirsiniz

Bir terminal açın ve çalışan MicroSD cihaz adınızı kontrol edin:

sudo fdisk -l

mmcblk0 veya sdd adında bir cihaz görmelisiniz. Sürücüyü unzip'leyin ve flaşlayın:

unzip ubuntu-20.04-preinstalled-server-arm64+raspi-eth1.img.zip
sudo dd bs=1M if=ubuntu-20.04-preinstalled-server-arm64+raspi-eth1.img of=/dev/mmcblk0 && sync

3. MicroSD'yi Raspberry Pi 4'e takın. Bir Ethernet kablosu bağlayın ve USB SSD diskini takın (mavi bir port kullandığınızdan emin olun).

4. Cihazı çalıştırın

Ubuntu İşletim Sistemi bir dakikadan daha kısa sürede açılacaktır ancak komut dosyasının cihazı bir Ethereum düğümüne dönüştürmek ve Raspberry'yi yeniden başlatmak için gerekli görevleri gerçekleştirmesine izin vermek için yaklaşık 10 dakika beklemeniz gerekecek.

Sürücüye bağlı olarak şunları çalıştıracaksınız:

  • Yürütüm istemcisi: Blok zincirini senkronize eden varsayılan istemci olarak Geth
  • Mutabakat istemcisi: İşaret zincirini senkronize eden varsayılan istemci olarak Prysm (Goerli testnet)

5. Giriş yapın

SSH üzerinden veya konsolu kullanarak oturum açabilirsiniz (bağlı bir monitörünüz ve klavyeniz varsa)

User: ethereum
Password: ethereum

İlk girişte şifreyi değiştirmeniz istenecek, bu yüzden iki kez giriş yapmanız gerekecek.

6. Prysm işaret zinciri çalıştırıyorsanız 13000 ve Geth için 30303 portunu açın. Bunu nasıl yapacağınızı bilmiyorsanız, yönlendirici modeliniz ile birlikte “port yönlendirme” kelimelerini google'layın.

7. Konsol çıktısı alın

Yazarak arka planda neler olduğunu görebilirsiniz:

sudo tail -f /var/log/syslog

Tebrikler. Artık Raspberry Pi 4'ünüzde tam bir Ethereum düğümü çalıştırıyorsunuz.

İşaret zincirini senkronize etmek

Şimdi blok zincirinin senkronize edilmesini beklemeniz gerekiyor. Yürütüm katmanı söz konusu olduğunda, bu birkaç faktöre bağlı olarak birkaç gün sürebilir, ancak yaklaşık 5-7 güne kadar bekleyebilirsiniz.

Mutabakat katmanı Goerli test ağını çalıştırıyorsanız, 1-2 günlük İşaret zinciri senkronizasyon süresi bekleyebilirsiniz. Stake sürecini başlatmak için doğrulayıcıyı daha sonra kurmanız gerekeceğini unutmayın. Mutabakat katmanı doğrulayıcı nasıl çalıştırılır

İzleme gösterge panoları

Bu ilk sürüm için, düğümü ve istemci verilerini (Geth ve Besu) izlemek için Prometheus[5]/Grafana [6] temelli 3 izleme gösterge panosu ekledik. Web tarayıcınız üzerinden erişebilirsiniz:

URL: http://your_raspberrypi_IP:3000
User: admin
Password: ethereum

İstemcileri değiştirme

Tüm istemciler bir systemd hizmeti olarak çalışır. Sistem, bir sorun ortaya çıkarsa süreci otomatik olarak yeniden başlatacağı için bu önemlidir.

Geth ve Prysm işaret zinciri varsayılan olarak çalışır (ne senkronize ettiğinize, yürütüm katmanına veya mutabakat katmanına bağlı olarak), bu nedenle, diğer istemcilere geçmek istiyorsanız (örneğin Geth'ten Nethermind'e), önce Geth'i durdurup devre dışı bırakmanız ve ardından diğer istemciyi etkinleştirip başlatmanız gerekir:

sudo systemctl stop geth && sudo systemctl disable geth

Her yürütüm istemcisini etkinleştirme ve başlatma komutları:

sudo systemctl enable besu && sudo systemctl start besu
sudo systemctl enable nethermind && sudo systemctl start nethermind
sudo systemctl enable parity && sudo systemctl start parity

Mutabakat istemcileri:

sudo systemctl stop prysm-beacon && sudo systemctl disable prysm-beacon
sudo systemctl start lighthouse && sudo systemctl enable lighthouse

Parametreleri değiştirme

İstemcilerin yapılandırma dosyaları /etc/ethereum/ dizininde bulunur. Değişikliklerin etkili olması için bu dosyaları düzenleyebilir ve systemd hizmetini yeniden başlatabilirsiniz. Tek istisna, ayrıca burada bulunan bir Mainnet yapılandırma dosyasına sahip olan Nethermind'dır:

/etc/nethermind/configs/mainnet.cfg

Blok zinciri istemcilerinin verileri, Ethereum ana hesabında aşağıdaki şekilde saklanır (dizin adından önceki noktaya dikkat edin):

Yürütüm katmanı

/home/ethereum/.geth
/home/ethereum/.parity
/home/ethereum/.besu
/home/ethereum/.nethermind

Mutabakat katmanı

/home/ethereum/.eth2
/home/ethereum/.eth2validators
/home/ethereum/.lighthouse

Nethermind ve Hyperledger Besu

Bu 2 harika yürütüm istemcisi, Geth ve Parity'ye harika bir alternatif hâline geldi. Ağdaki çeşitlilik ne kadar fazlaysa o kadar iyidir, bu yüzden onları deneyebilir ve ağ sağlığına katkıda bulunabilirsiniz.

Her ikisinin de daha fazla teste ihtiyacı var, bu yüzden onlarla deney yapmaktan çekinmeyin ve geri bildiriminizi gönderin.

Mutabakat doğrulayıcı nasıl çalıştırılır (stake etmek)

Goerli test ağı işaret zinciri senkronize edildikten sonra aynı cihazda bir doğrulayıcı çalıştırabilirsiniz. Bu katılım adımlarını(opens in a new tab) takip etmeniz gerekecek.

İlk sefer için, “doğrulayıcı” ikili dosyasını çalıştırarak manuel olarak bir hesap oluşturmanız ve bir şifre belirlemeniz gerekir. Bu adımı tamamladıktan sonra parolayı /etc/ethereum/prysm-validator.conf dizinine ekleyebilir ve doğrulayıcıyı bir systemd hizmeti olarak başlatabilirsiniz.

Geri bildirim faydalı olur

Bu cihazın devasa kullanıcı tabanının ağ üzerinde çok olumlu bir etkisi olabileceğini bildiğimizden dolayı Raspberry Pi 4'ü tam bir Ethereum düğümü olarak kurmak için çok uğraştık.

Lütfen bunun Ubuntu 20.04 temelli ilk sürücü olduğunu dikkate alın, bu nedenle bazı hatalar olabilir. Eğer varsa, GitHub(opens in a new tab) üzerinde bir konu açın veya bize Twitter(opens in a new tab) üzerinden ulaşın.

Referanslar

  1. geth, SIGSEGV ile sürekli çöküyor(opens in a new tab)
  2. https://github.com/diglos/ethereumonarm(opens in a new tab)
  3. https://ubuntu.com/download/raspberry-pi(opens in a new tab)
  4. https://wikipedia.org/wiki/Port_forwarding(opens in a new tab)
  5. https://prometheus.io(opens in a new tab)
  6. https://grafana.com(opens in a new tab)
  7. https://forum.armbian.com/topic/5565-zram-vs-swap/(opens in a new tab)
  8. https://geth.ethereum.org(opens in a new tab)
  9. https://github.com/openethereum/openethereum(opens in a new tab) * OpenEthereum'un kullanımdan kaldırıldığını(opens in a new tab) ve artık sürdürülmediğini unutmayın. Dikkatli kullanın ve tercihen başka bir istemci uygulamasına geçin.
  10. https://nethermind.io(opens in a new tab)
  11. https://www.hyperledger.org/projects/besu(opens in a new tab)
  12. https://github.com/prysmaticlabs/prysm(opens in a new tab)
  13. https://lighthouse.sigmaprime.io(opens in a new tab)
  14. https://ethersphere.github.io/swarm-home(opens in a new tab)
  15. https://raiden.network(opens in a new tab)
  16. https://ipfs.io(opens in a new tab)
  17. https://status.im(opens in a new tab)
  18. https://vipnode.org(opens in a new tab)
Son düzenleme: , Invalid DateTime
Sayfayı düzenle
(opens in a new tab)

Bu sayfa yararlı oldu mu?