Raspberry Pi 4 پر Ethereum نوڈ چلائیں
ایتھیریم آن آرم ایک کسٹم Linux امیج ہے جو Raspberry Pi کو ایتھیریم نوڈ میں تبدیل کر سکتا ہے۔
ایتھیریم آن آرم کا استعمال کرتے ہوئے Raspberry Pi کو ایتھیریم نوڈ میں تبدیل کرنے کے لیے، درج ذیل ہارڈویئر کی سفارش کی جاتی ہے:
- Raspberry 4 (model B 8GB)، Odroid M1 یا Rock 5B (8GB/16GB RAM) بورڈ
- مائیکرو ایس ڈی کارڈ (کم از کم 16 GB Class 10)
- کم از کم 2 TB SSD USB 3.0 ڈیسک یا USB to SATA کیس کے ساتھ ایک SSD۔
- پاور سپلائی
- ایتھرنیٹ کیبل
- پورٹ فارورڈنگ (مزید معلومات کے لیے کلائنٹس دیکھیں)
- ہیٹ سنک اور پنکھے کے ساتھ ایک کیس
- USB کی بورڈ، مانیٹر اور HDMI کیبل (micro-HDMI) (اختیاری)
ARM پر ایتھیریم کیوں چلائیں؟
ARM بورڈز بہت سستے، لچکدار، اور چھوٹے کمپیوٹرز ہیں۔ یہ ایتھیریم نوڈز چلانے کے لیے بہترین انتخاب ہیں کیونکہ انہیں سستے داموں خریدا جا سکتا ہے، اس طرح کنفیگر کیا جا سکتا ہے کہ ان کے تمام وسائل صرف نوڈ پر مرکوز ہوں، جس سے وہ موثر بنتے ہیں، وہ کم بجلی استعمال کرتے ہیں اور جسمانی طور پر چھوٹے ہوتے ہیں اس لیے وہ کسی بھی گھر میں آسانی سے فٹ ہو سکتے ہیں۔ نوڈز کو شروع کرنا بھی بہت آسان ہے کیونکہ Raspberry Pi کے مائیکرو ایس ڈی کو آسانی سے پہلے سے بنے ہوئے امیج کے ساتھ فلیش کیا جا سکتا ہے، جس میں کوئی سافٹ ویئر ڈاؤن لوڈ کرنے یا بنانے کی ضرورت نہیں ہوتی۔
یہ کیسے کام کرتا ہے؟
Raspberry Pi کے میموری کارڈ کو پہلے سے بنے ہوئے امیج کے ساتھ فلیش کیا جاتا ہے۔ اس امیج میں ایتھیریم نوڈ چلانے کے لیے درکار ہر چیز موجود ہوتی ہے۔ فلیش شدہ کارڈ کے ساتھ، صارف کو صرف Raspberry Pi کو آن کرنے کی ضرورت ہوتی ہے۔ نوڈ چلانے کے لیے درکار تمام عمل خود بخود شروع ہو جاتے ہیں۔ یہ اس لیے کام کرتا ہے کیونکہ میموری کارڈ میں Linux پر مبنی آپریٹنگ سسٹم (OS) ہوتا ہے جس کے اوپر سسٹم لیول کے عمل خود بخود چلتے ہیں جو یونٹ کو ایتھیریم نوڈ میں تبدیل کر دیتے ہیں۔
ایتھیریم کو مقبول Raspberry Pi Linux OS "Raspbian" کا استعمال کرتے ہوئے نہیں چلایا جا سکتا کیونکہ Raspbian اب بھی 32-bit آرکیٹیکچر استعمال کرتا ہے جس کی وجہ سے ایتھیریم صارفین کو میموری کے مسائل کا سامنا کرنا پڑتا ہے اور اتفاقِ رائے کا کلائنٹ 32-bit بائنریز کو سپورٹ نہیں کرتے۔ اس پر قابو پانے کے لیے، ایتھیریم آن آرم ٹیم نے "Armbian" نامی مقامی 64-bit OS پر منتقلی کی۔
امیجز تمام ضروری اقدامات کا خیال رکھتے ہیں، ماحول کو ترتیب دینے اور SSD ڈسک کو فارمیٹ کرنے سے لے کر ایتھیریم سافٹ ویئر کو انسٹال کرنے اور چلانے کے ساتھ ساتھ بلاک چین کی ہم آہنگی شروع کرنے تک۔
ایگزیکیوشن اور اتفاقِ رائے کے کلائنٹس پر نوٹ
ایتھیریم آن آرم امیج میں پہلے سے بنے ہوئے ایگزیکیوشن اور اتفاقِ رائے کے کلائنٹس بطور سروسز شامل ہیں۔ ایک ایتھیریم نوڈ کے لیے دونوں کلائنٹس کا ہم آہنگ ہونا اور چلنا ضروری ہے۔ آپ کو صرف امیج ڈاؤن لوڈ اور فلیش کرنے اور پھر سروسز شروع کرنے کی ضرورت ہے۔ امیج میں درج ذیل ایگزیکیوشن کلائنٹس پہلے سے لوڈ ہوتے ہیں:
- گیتھ (Geth)
- نیدر مائنڈ (Nethermind)
- بیسو (Besu)
اور درج ذیل اتفاقِ رائے کے کلائنٹس:
- لائٹ ہاؤس (Lighthouse)
- نمبس (Nimbus)
- پرزم (Prysm)
- ٹیکو (Teku)
آپ کو چلانے کے لیے ہر ایک میں سے ایک کا انتخاب کرنا چاہیے - تمام ایگزیکیوشن کلائنٹس تمام اتفاقِ رائے کے کلائنٹس کے ساتھ مطابقت رکھتے ہیں۔ اگر آپ واضح طور پر کسی کلائنٹ کا انتخاب نہیں کرتے ہیں، تو نوڈ اپنے ڈیفالٹس - گیتھ اور لائٹ ہاؤس - پر واپس آ جائے گا اور بورڈ کے آن ہونے پر انہیں خود بخود چلائے گا۔ آپ کو اپنے راؤٹر پر پورٹ 30303 کھولنا ہوگا تاکہ گیتھ ہم منصبوں کو تلاش کر سکے اور ان سے جڑ سکے۔
امیج ڈاؤن لوڈ کرنا
Raspberry Pi 4 ایتھیریم امیج ایک "پلگ اینڈ پلے" امیج ہے جو خود بخود ایگزیکیوشن اور اتفاقِ رائے کے کلائنٹس دونوں کو انسٹال اور سیٹ اپ کرتا ہے، انہیں ایک دوسرے سے بات کرنے اور ایتھیریم نیٹ ورک سے جڑنے کے لیے کنفیگر کرتا ہے۔ صارف کو صرف ایک سادہ کمانڈ کا استعمال کرتے ہوئے ان کے عمل کو شروع کرنے کی ضرورت ہے۔
ایتھیریم آن آرم (opens in a new tab) سے Raspberry Pi امیج ڈاؤن لوڈ کریں اور SHA-256 ہیش کی تصدیق کریں:
# ڈاؤن لوڈ کی گئی امیج والی ڈائریکٹری سے
shasum -a 256 ethonarm_22.04.00.img.zip
# ہیش کا آؤٹ پٹ یہ ہونا چاہیے: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444f
نوٹ کریں کہ Rock 5B اور Odroid M1 بورڈز کے لیے امیجز ایتھیریم آن آرم کے ڈاؤن لوڈز صفحہ (opens in a new tab) پر دستیاب ہیں۔
مائیکرو ایس ڈی کو فلیش کرنا
Raspberry Pi کے لیے استعمال ہونے والے مائیکرو ایس ڈی کارڈ کو پہلے ڈیسک ٹاپ یا لیپ ٹاپ میں داخل کیا جانا چاہیے تاکہ اسے فلیش کیا جا سکے۔ پھر، درج ذیل ٹرمینل کمانڈز ڈاؤن لوڈ کیے گئے امیج کو ایس ڈی کارڈ پر فلیش کر دیں گی:
# 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 میں ایس ڈی کارڈ داخل کرنے کے بعد، ایتھرنیٹ کیبل اور SSD کو جوڑیں اور پھر پاور آن کریں۔ OS بوٹ ہو جائے گا اور خود بخود پہلے سے کنفیگر کیے گئے کام انجام دینا شروع کر دے گا جو Raspberry Pi کو ایتھیریم نوڈ میں تبدیل کرتے ہیں، بشمول کلائنٹ سافٹ ویئر کو انسٹال کرنا اور بنانا۔ اس میں غالباً 10-15 منٹ لگیں گے۔
ایک بار جب سب کچھ انسٹال اور کنفیگر ہو جائے، تو ssh کنکشن کے ذریعے ڈیوائس میں لاگ ان کریں یا اگر بورڈ کے ساتھ مانیٹر اور کی بورڈ منسلک ہے تو براہ راست ٹرمینل کا استعمال کریں۔ لاگ ان کرنے کے لیے ethereum اکاؤنٹ استعمال کریں، کیونکہ اس میں نوڈ شروع کرنے کے لیے درکار اجازتیں ہوتی ہیں۔
User: ethereum
Password: ethereum
ڈیفالٹ ایگزیکیوشن کلائنٹ، گیتھ، خود بخود شروع ہو جائے گا۔ آپ درج ذیل ٹرمینل کمانڈ کا استعمال کرتے ہوئے لاگز چیک کر کے اس کی تصدیق کر سکتے ہیں:
sudo journalctl -u geth -f
اتفاقِ رائے کے کلائنٹ کو واضح طور پر شروع کرنے کی ضرورت ہوتی ہے۔ ایسا کرنے کے لیے، پہلے اپنے راؤٹر پر پورٹ 9000 کھولیں تاکہ لائٹ ہاؤس ہم منصبوں کو تلاش کر سکے اور ان سے جڑ سکے۔ پھر لائٹ ہاؤس سروس کو فعال اور شروع کریں:
sudo systemctl enable lighthouse-beacon
sudo systemctl start lighthouse-beacon
لاگز کا استعمال کرتے ہوئے کلائنٹ کو چیک کریں:
sudo journalctl -u lighthouse-beacon
نوٹ کریں کہ اتفاقِ رائے کا کلائنٹ چند منٹوں میں ہم آہنگ ہو جائے گا کیونکہ یہ چیک پوائنٹ ہم آہنگی کا استعمال کرتا ہے۔ ایگزیکیوشن کلائنٹ میں زیادہ وقت لگے گا - ممکنہ طور پر کئی گھنٹے، اور یہ اس وقت تک شروع نہیں ہوگا جب تک کہ اتفاقِ رائے کا کلائنٹ ہم آہنگی مکمل نہ کر لے (اس کی وجہ یہ ہے کہ ایگزیکیوشن کلائنٹ کو ہم آہنگ ہونے کے لیے ایک ہدف کی ضرورت ہوتی ہے، جو ہم آہنگ شدہ اتفاقِ رائے کا کلائنٹ فراہم کرتا ہے)۔
گیتھ اور لائٹ ہاؤس سروسز کے چلنے اور ہم آہنگ ہونے کے ساتھ، آپ کا Raspberry Pi اب ایک ایتھیریم نوڈ ہے! ایتھیریم نیٹ ورک کے ساتھ بات چیت کرنے کا سب سے عام طریقہ گیتھ کے JavaScript کنسول کا استعمال کرنا ہے، جسے پورٹ 8545 پر گیتھ کلائنٹ کے ساتھ منسلک کیا جا سکتا ہے۔ Curl جیسے درخواست ٹول کا استعمال کرتے ہوئے JSON آبجیکٹس کے طور پر فارمیٹ کی گئی کمانڈز جمع کرانا بھی ممکن ہے۔ گیتھ کی دستاویزات (opens in a new tab) میں مزید دیکھیں۔
گیتھ کو پہلے سے کنفیگر کیا گیا ہے تاکہ وہ Grafana ڈیش بورڈ کو میٹرکس رپورٹ کرے جسے براؤزر میں دیکھا جا سکتا ہے۔ زیادہ جدید صارفین ipaddress:3000 پر جا کر، user: admin اور passwd: ethereum پاس کر کے اپنے نوڈ کی صحت کی نگرانی کے لیے اس خصوصیت کا استعمال کرنا چاہیں گے۔
توثیق کار
ایک توثیق کار کو اختیاری طور پر اتفاقِ رائے کے کلائنٹ میں بھی شامل کیا جا سکتا ہے۔ توثیق کار سافٹ ویئر آپ کے نوڈ کو اتفاق رائے میں فعال طور پر حصہ لینے کی اجازت دیتا ہے اور نیٹ ورک کو کرپٹو اکنامک سیکیورٹی فراہم کرتا ہے۔ آپ کو اس کام کے لیے ETH میں انعام دیا جاتا ہے۔ توثیق کار چلانے کے لیے، آپ کے پاس پہلے 32 ETH ہونے چاہئیں، جنہیں ڈپازٹ کنٹریکٹ میں جمع کرانا ضروری ہے۔ ڈپازٹ لانچ پیڈ (opens in a new tab) پر مرحلہ وار گائیڈ پر عمل کر کے کیا جا سکتا ہے۔ یہ کام ڈیسک ٹاپ/لیپ ٹاپ پر کریں، لیکن کیز (keys) نہ بنائیں — یہ براہ راست 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 کمانڈ چلائیں)
میمونک فریز (mnemonic phrase) کو محفوظ رکھیں! مندرجہ بالا کمانڈ نے نوڈ کے کی اسٹور میں دو فائلیں بنائیں: توثیق کار کیز اور ایک ڈپازٹ ڈیٹا فائل۔ ڈپازٹ ڈیٹا کو لانچ پیڈ میں اپ لوڈ کرنے کی ضرورت ہے، اس لیے اسے Raspberry Pi سے ڈیسک ٹاپ/لیپ ٹاپ پر کاپی کیا جانا چاہیے۔ یہ ssh کنکشن یا کسی دوسرے کاپی/پیسٹ طریقہ کا استعمال کرتے ہوئے کیا جا سکتا ہے۔
ایک بار جب ڈپازٹ ڈیٹا فائل لانچ پیڈ چلانے والے کمپیوٹر پر دستیاب ہو جائے، تو اسے لانچ پیڈ اسکرین پر + پر ڈریگ اور ڈراپ کیا جا سکتا ہے۔ ڈپازٹ کنٹریکٹ میں ٹرانزیکشن بھیجنے کے لیے اسکرین پر دی گئی ہدایات پر عمل کریں۔
واپس Raspberry Pi پر، ایک توثیق کار شروع کیا جا سکتا ہے۔ اس کے لیے توثیق کار کیز درآمد کرنے، انعامات جمع کرنے کے لیے پتہ سیٹ کرنے، اور پھر پہلے سے کنفیگر شدہ توثیق کار کا عمل شروع کرنے کی ضرورت ہوتی ہے۔ ذیل کی مثال لائٹ ہاؤس کے لیے ہے—دیگر اتفاقِ رائے کے کلائنٹس کے لیے ہدایات ایتھیریم آن آرم دستاویزات (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 کا استعمال کرتے ہوئے گیتھ-لائٹ ہاؤس نوڈ اور توثیق کار کو ترتیب دینے کے طریقہ کار کا جائزہ پیش کیا۔ مزید تفصیلی ہدایات ایتھیریم آن آرم ویب سائٹ (opens in a new tab) پر دستیاب ہیں۔
آراء کی تعریف کی جاتی ہے
ہم جانتے ہیں کہ Raspberry Pi کا ایک بہت بڑا صارف بیس ہے جو ایتھیریم نیٹ ورک کی صحت پر بہت مثبت اثر ڈال سکتا ہے۔ براہ کرم اس ٹیوٹوریل کی تفصیلات میں جائیں، ٹیسٹ نیٹ پر چلانے کی کوشش کریں، ایتھیریم آن آرم GitHub چیک کریں، رائے دیں، مسائل اور پل ریکوئسٹس (pull requests) اٹھائیں اور ٹیکنالوجی اور دستاویزات کو آگے بڑھانے میں مدد کریں!
حوالہ جات
- https://ubuntu.com/download/raspberry-pi (opens in a new tab)
- https://wikipedia.org/wiki/Port_forwarding (opens in a new tab)
- https://prometheus.io (opens in a new tab)
- https://grafana.com (opens in a new tab)
- https://forum.armbian.com/topic/5565-zram-vs-swap/ (opens in a new tab)
- https://geth.ethereum.org (opens in a new tab)
- https://nethermind.io (opens in a new tab)
- https://www.hyperledger.org/projects/besu (opens in a new tab)
- https://github.com/prysmaticlabs/prysm (opens in a new tab)
- https://lighthouse.sigmaprime.io (opens in a new tab)
- https://docs.ethswarm.org/ (opens in a new tab)
- https://raiden.network (opens in a new tab)
- https://ipfs.io (opens in a new tab)
- https://status.im (opens in a new tab)
- https://vipnode.org (opens in a new tab)