मुख्य सामग्री पर जाएं

Raspberry Pi 4 पर इथेरियम नोड चलाएं

क्लाइंट
निष्पादन परत
सर्वसम्मति परत
नोड्स
मध्यवर्ती
EthereumOnArm
10 जून 2022
9 मिनट पढ़ें

Ethereum on Arm एक कस्टम Linux इमेज है जो Raspberry Pi को इथेरियम नोड में बदल सकती है।

Raspberry Pi को इथेरियम नोड में बदलने के लिए Ethereum on Arm का उपयोग करने हेतु, निम्नलिखित हार्डवेयर की अनुशंसा की जाती है:

  • Raspberry 4 (मॉडल B 8GB), Odroid M1 या Rock 5B (8GB/16GB RAM) बोर्ड
  • MicroSD कार्ड (न्यूनतम 16 GB क्लास 10)
  • न्यूनतम 2 TB SSD USB 3.0 डिस्क या USB से SATA केस वाली SSD।
  • पावर सप्लाई
  • ईथरनेट केबल
  • पोर्ट फॉरवर्डिंग (अधिक जानकारी के लिए क्लाइंट देखें)
  • हीटसिंक और पंखे वाला केस
  • USB कीबोर्ड, मॉनिटर और HDMI केबल (माइक्रो-HDMI) (वैकल्पिक)

ARM पर इथेरियम क्यों चलाएं?

ARM बोर्ड बहुत किफायती, लचीले और छोटे कंप्यूटर होते हैं। वे इथेरियम नोड चलाने के लिए अच्छे विकल्प हैं क्योंकि उन्हें सस्ते में खरीदा जा सकता है, इस तरह से कॉन्फ़िगर किया जा सकता है कि उनके सभी संसाधन केवल नोड पर केंद्रित हों, जिससे वे कुशल बन जाते हैं, वे कम मात्रा में बिजली की खपत करते हैं और भौतिक रूप से छोटे होते हैं इसलिए वे किसी भी घर में आसानी से फिट हो सकते हैं। नोड्स को चालू करना भी बहुत आसान है क्योंकि Raspberry Pi के MicroSD को बिना किसी सॉफ़्टवेयर को डाउनलोड या बिल्ड किए, बस एक प्रीबिल्ट इमेज के साथ फ्लैश किया जा सकता है।

यह कैसे काम करता है?

Raspberry Pi के मेमोरी कार्ड को एक प्रीबिल्ट इमेज के साथ फ्लैश किया जाता है। इस इमेज में इथेरियम नोड चलाने के लिए आवश्यक सब कुछ होता है। फ्लैश किए गए कार्ड के साथ, उपयोगकर्ता को बस Raspberry Pi को चालू करना होता है। नोड को चलाने के लिए आवश्यक सभी प्रक्रियाएं स्वचालित रूप से शुरू हो जाती हैं। यह इसलिए काम करता है क्योंकि मेमोरी कार्ड में एक Linux-आधारित ऑपरेटिंग सिस्टम (OS) होता है, जिसके ऊपर सिस्टम-स्तरीय प्रक्रियाएं स्वचालित रूप से चलती हैं जो यूनिट को इथेरियम नोड में बदल देती हैं।

इथेरियम को लोकप्रिय Raspberry Pi Linux OS "Raspbian" का उपयोग करके नहीं चलाया जा सकता है क्योंकि Raspbian अभी भी 32-बिट आर्किटेक्चर का उपयोग करता है जिसके कारण इथेरियम उपयोगकर्ताओं को मेमोरी समस्याओं का सामना करना पड़ता है और सर्वसम्मति क्लाइंट 32-बिट बाइनरी का समर्थन नहीं करते हैं। इसे दूर करने के लिए, Ethereum on Arm टीम ने "Armbian" नामक एक नेटिव 64-बिट OS पर माइग्रेट किया।

इमेज सभी आवश्यक चरणों का ध्यान रखती हैं, पर्यावरण स्थापित करने और SSD डिस्क को फ़ॉर्मेट करने से लेकर इथेरियम सॉफ़्टवेयर को स्थापित करने और चलाने के साथ-साथ ब्लॉकचेन सिंकिंग शुरू करने तक।

निष्पादन और सर्वसम्मति क्लाइंट पर ध्यान दें

Ethereum on Arm इमेज में सेवाओं के रूप में प्रीबिल्ट निष्पादन और सर्वसम्मति क्लाइंट शामिल हैं। एक इथेरियम नोड के लिए दोनों क्लाइंट का सिंकिंग और चलना आवश्यक है। आपको केवल इमेज को डाउनलोड और फ्लैश करना है और फिर सेवाएं शुरू करनी हैं। इमेज निम्नलिखित निष्पादन क्लाइंट के साथ प्रीलोडेड है:

  • Geth
  • नेदरमाइंड
  • बेसु

और निम्नलिखित सर्वसम्मति क्लाइंट:

  • लाइटहाउस
  • निम्बस
  • प्रिज़्म
  • टेकु

आपको चलाने के लिए प्रत्येक में से एक को चुनना चाहिए - सभी निष्पादन क्लाइंट सभी सर्वसम्मति क्लाइंट के साथ संगत हैं। यदि आप स्पष्ट रूप से किसी क्लाइंट का चयन नहीं करते हैं, तो नोड अपने डिफ़ॉल्ट - Geth और लाइटहाउस - पर वापस आ जाएगा और बोर्ड के चालू होने पर उन्हें स्वचालित रूप से चलाएगा। आपको अपने राउटर पर पोर्ट 30303 खोलना होगा ताकि Geth साथियों को ढूंढ सके और उनसे जुड़ सके।

इमेज डाउनलोड करना

Raspberry Pi 4 इथेरियम इमेज एक "प्लग एंड प्ले" इमेज है जो स्वचालित रूप से निष्पादन और सर्वसम्मति क्लाइंट दोनों को स्थापित और सेट करती है, उन्हें एक-दूसरे से बात करने और इथेरियम नेटवर्क से जुड़ने के लिए कॉन्फ़िगर करती है। उपयोगकर्ता को बस एक सरल कमांड का उपयोग करके उनकी प्रक्रियाएं शुरू करनी होती हैं।

Ethereum on Arm (opens in a new tab) से Raspberry Pi इमेज डाउनलोड करें और SHA256 हैश को सत्यापित करें:

# डाउनलोड की गई इमेज वाली डायरेक्टरी से
shasum -a 256 ethonarm_22.04.00.img.zip
# हैश का आउटपुट यह होना चाहिए: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444f

ध्यान दें कि Rock 5B और Odroid M1 बोर्ड के लिए इमेज Ethereum-on-Arm के डाउनलोड पेज (opens in a new tab) पर उपलब्ध हैं।

MicroSD को फ्लैश करना

Raspberry Pi के लिए उपयोग किए जाने वाले MicroSD कार्ड को पहले डेस्कटॉप या लैपटॉप में डाला जाना चाहिए ताकि इसे फ्लैश किया जा सके। फिर, निम्नलिखित टर्मिनल कमांड डाउनलोड की गई इमेज को SD कार्ड पर फ्लैश करेंगे:

# MicroSD कार्ड का नाम जांचें
sudo fdisk -l

>> sdxxx

नाम सही होना वास्तव में महत्वपूर्ण है क्योंकि अगले कमांड में dd शामिल है जो इमेज को उस पर धकेलने से पहले कार्ड की मौजूदा सामग्री को पूरी तरह से मिटा देता है। जारी रखने के लिए, ज़िप की गई इमेज वाली डायरेक्टरी पर नेविगेट करें:

# इमेज को अनज़िप और फ्लैश करें
unzip ethonarm_22.04.00.img.zip
sudo dd bs=1M if=ethonarm_22.04.00.img of=/dev/<sdxx> conv=fdatasync status=progress

कार्ड अब फ्लैश हो गया है, इसलिए इसे Raspberry Pi में डाला जा सकता है।

नोड शुरू करें

Raspberry Pi में SD कार्ड डालने के बाद, ईथरनेट केबल और SSD कनेक्ट करें और फिर पावर चालू करें। OS बूट होगा और स्वचालित रूप से उन पूर्व-कॉन्फ़िगर किए गए कार्यों को करना शुरू कर देगा जो Raspberry Pi को इथेरियम नोड में बदलते हैं, जिसमें क्लाइंट सॉफ़्टवेयर को स्थापित करना और बनाना शामिल है। इसमें संभवतः 10-15 मिनट लगेंगे।

एक बार सब कुछ स्थापित और कॉन्फ़िगर हो जाने के बाद, ssh कनेक्शन के माध्यम से डिवाइस में लॉग इन करें या यदि बोर्ड से मॉनिटर और कीबोर्ड जुड़ा हुआ है तो सीधे टर्मिनल का उपयोग करें। लॉग इन करने के लिए ethereum खाते का उपयोग करें, क्योंकि इसमें नोड शुरू करने के लिए आवश्यक अनुमतियां हैं।

User: ethereum
Password: ethereum

डिफ़ॉल्ट निष्पादन क्लाइंट, Geth, स्वचालित रूप से शुरू हो जाएगा। आप निम्नलिखित टर्मिनल कमांड का उपयोग करके लॉग की जांच करके इसकी पुष्टि कर सकते हैं:

sudo journalctl -u geth -f

सर्वसम्मति क्लाइंट को स्पष्ट रूप से शुरू करने की आवश्यकता होती है। ऐसा करने के लिए, पहले अपने राउटर पर पोर्ट 9000 खोलें ताकि लाइटहाउस साथियों को ढूंढ सके और उनसे जुड़ सके। फिर लाइटहाउस सेवा को सक्षम करें और शुरू करें:

sudo systemctl enable lighthouse-beacon
sudo systemctl start lighthouse-beacon

लॉग का उपयोग करके क्लाइंट की जांच करें:

sudo journalctl -u lighthouse-beacon

ध्यान दें कि सर्वसम्मति क्लाइंट कुछ ही मिनटों में सिंकिंग कर लेगा क्योंकि यह जाँच-बिंदु सिंकिंग का उपयोग करता है। निष्पादन क्लाइंट में अधिक समय लगेगा - संभवतः कई घंटे, और यह तब तक शुरू नहीं होगा जब तक कि सर्वसम्मति क्लाइंट पहले से ही सिंकिंग समाप्त नहीं कर लेता (ऐसा इसलिए है क्योंकि निष्पादन क्लाइंट को सिंकिंग करने के लिए एक लक्ष्य की आवश्यकता होती है, जो सिंकिंग किया गया सर्वसम्मति क्लाइंट प्रदान करता है)।

Geth और लाइटहाउस सेवाओं के चलने और सिंकिंग होने के साथ, आपका Raspberry Pi अब एक इथेरियम नोड है! Geth के JavaScript कंसोल का उपयोग करके इथेरियम नेटवर्क के साथ बातचीत करना सबसे आम है, जिसे पोर्ट 8545 पर Geth क्लाइंट से जोड़ा जा सकता है। Curl जैसे अनुरोध टूल का उपयोग करके JSON ऑब्जेक्ट के रूप में स्वरूपित कमांड सबमिट करना भी संभव है। Geth दस्तावेज़ (opens in a new tab) में और देखें।

Geth को Grafana डैशबोर्ड पर मेट्रिक्स रिपोर्ट करने के लिए पूर्व-कॉन्फ़िगर किया गया है जिसे ब्राउज़र में देखा जा सकता है। अधिक उन्नत उपयोगकर्ता ipaddress:3000 पर नेविगेट करके, user: admin और passwd: ethereum पास करके अपने नोड के स्वास्थ्य की निगरानी के लिए इस सुविधा का उपयोग करना चाह सकते हैं।

सत्यापक

सर्वसम्मति क्लाइंट में वैकल्पिक रूप से एक सत्यापक भी जोड़ा जा सकता है। सत्यापक सॉफ़्टवेयर आपके नोड को सर्वसम्मति में सक्रिय रूप से भाग लेने की अनुमति देता है और नेटवर्क को क्रिप्टो-आर्थिक सुरक्षा प्रदान करता है। आपको इस काम के लिए ETH में इनाम मिलता है। सत्यापक चलाने के लिए, आपके पास पहले 32 ETH होने चाहिए, जिन्हें जमा अनुबंध में जमा किया जाना चाहिए। जमा लॉन्चपैड (opens in a new tab) पर चरण-दर-चरण मार्गदर्शिका का पालन करके किया जा सकता है। इसे डेस्कटॉप/लैपटॉप पर करें, लेकिन कुंजियां उत्पन्न न करें — यह सीधे Raspberry Pi पर किया जा सकता है।

Raspberry Pi पर एक टर्मिनल खोलें और जमा कुंजियां उत्पन्न करने के लिए निम्नलिखित कमांड चलाएं:

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

(या एयरगैप्ड मशीन पर चलाने के लिए staking-deposit-cli (opens in a new tab) डाउनलोड करें, और deposit new-mnemnonic कमांड चलाएं)

निमोनिक वाक्यांश को सुरक्षित रखें! उपरोक्त कमांड ने नोड के कीस्टोर में दो फाइलें उत्पन्न कीं: सत्यापक कुंजियां और एक जमा डेटा फ़ाइल। जमा डेटा को लॉन्चपैड में अपलोड करने की आवश्यकता है, इसलिए इसे Raspberry Pi से डेस्कटॉप/लैपटॉप पर कॉपी किया जाना चाहिए। यह ssh कनेक्शन या किसी अन्य कॉपी/पेस्ट विधि का उपयोग करके किया जा सकता है।

एक बार जब जमा डेटा फ़ाइल लॉन्चपैड चलाने वाले कंप्यूटर पर उपलब्ध हो जाती है, तो इसे लॉन्चपैड स्क्रीन पर + पर खींचा और छोड़ा जा सकता है। जमा अनुबंध में लेन-देन भेजने के लिए स्क्रीन पर दिए गए निर्देशों का पालन करें।

वापस Raspberry Pi पर, एक सत्यापक शुरू किया जा सकता है। इसके लिए सत्यापक कुंजियों को आयात करने, पुरस्कार एकत्र करने के लिए पता सेट करने और फिर पूर्व-कॉन्फ़िगर की गई सत्यापक प्रक्रिया शुरू करने की आवश्यकता होती है। नीचे दिया गया उदाहरण लाइटहाउस के लिए है—अन्य सर्वसम्मति क्लाइंट के लिए निर्देश Ethereum on Arm दस्तावेज़ (opens in a new tab) पर उपलब्ध हैं:

# सत्यापक कुंजियों को आयात करें
lighthouse account validator import --directory=/home/ethereum/validator_keys

# इनाम का पता सेट करें
sudo sed -i 's/<ETH_ADDRESS>' /etc/ethereum/lighthouse-validator.conf

# सत्यापक शुरू करें
sudo systemctl start lighthouse-validator

बधाई हो, अब आपके पास Raspberry Pi पर एक पूर्ण इथेरियम नोड और सत्यापक चल रहा है!

अधिक विवरण

इस पृष्ठ ने Raspberry Pi का उपयोग करके Geth-लाइटहाउस नोड और सत्यापक स्थापित करने के तरीके का अवलोकन दिया। अधिक विस्तृत निर्देश Ethereum-on-Arm वेबसाइट (opens in a new tab) पर उपलब्ध हैं।

प्रतिक्रिया की सराहना की जाती है

हम जानते हैं कि Raspberry Pi का एक विशाल उपयोगकर्ता आधार है जो इथेरियम नेटवर्क के स्वास्थ्य पर बहुत सकारात्मक प्रभाव डाल सकता है। कृपया इस ट्यूटोरियल के विवरण में गहराई से जाएं, टेस्टनेट पर चलाने का प्रयास करें, Ethereum on Arm GitHub देखें, प्रतिक्रिया दें, समस्याएं (issues) और पुल अनुरोध (pull requests) उठाएं और तकनीक और दस्तावेज़ीकरण को आगे बढ़ाने में मदद करें!

संदर्भ

  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://docs.ethswarm.org/ (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)