اپنا خود کا ایتھیریم نوڈ چلائیں
صفحہ کی آخری اپ ڈیٹ: 6 مارچ، 2026
اپنا خود کا نوڈ چلانا آپ کو مختلف فوائد فراہم کرتا ہے، نئے امکانات کھولتا ہے، اور ایکو سسٹم کو سپورٹ کرنے میں مدد کرتا ہے۔ یہ صفحہ آپ کو اپنا نوڈ چلانے اور Ethereum ٹرانزیکشنز کی توثیق میں حصہ لینے کے حوالے سے رہنمائی کرے گا۔
یاد رکھیں کہ The Merge کے بعد، ایتھیریم نوڈ چلانے کے لیے دو کلائنٹس درکار ہوتے ہیں؛ ایک ایگزیکیوشن لیئر (EL) کلائنٹ اور ایک کنسینسس لیئر (CL) کلائنٹ۔ یہ صفحہ دکھائے گا کہ ایتھیریم نوڈ چلانے کے لیے ان دونوں کلائنٹس کو کیسے انسٹال، کنفیگر اور کنیکٹ کیا جائے۔
پیشگی شرائط
آپ کو سمجھنا چاہیے کہ ایتھیریم نوڈ کیا ہے اور آپ کلائنٹ کیوں چلانا چاہیں گے۔ اس کا احاطہ نوڈز اور کلائنٹس میں کیا گیا ہے۔
اگر آپ نوڈ چلانے کے موضوع پر نئے ہیں، یا کم تکنیکی راستہ تلاش کر رہے ہیں، تو ہم تجویز کرتے ہیں کہ پہلے ایتھیریم نوڈ چلانے پر ہمارا صارف دوست تعارف دیکھیں۔
طریقہ کار کا انتخاب
اپنا نوڈ چلانے کا پہلا قدم اپنے طریقہ کار کا انتخاب کرنا ہے۔ ضروریات اور مختلف امکانات کی بنیاد پر، آپ کو کلائنٹ کے نفاذ (ایگزیکیوشن اور کنسینسس کلائنٹس دونوں کا)، ماحول (ہارڈویئر، سسٹم)، اور کلائنٹ کی ترتیبات کے پیرامیٹرز کا انتخاب کرنا ہوگا۔
یہ صفحہ ان فیصلوں میں آپ کی رہنمائی کرے گا اور آپ کو اپنا ایتھیریم انسٹینس چلانے کا سب سے موزوں طریقہ تلاش کرنے میں مدد کرے گا۔
کلائنٹ کے نفاذ میں سے انتخاب کرنے کے لیے، تمام دستیاب مین نیٹ کے لیے تیار ایگزیکیوشن کلائنٹس، کنسینسس کلائنٹس دیکھیں اور کلائنٹ کے تنوع کے بارے میں جانیں۔
کلائنٹس کی ضروریات کو مدنظر رکھتے ہوئے فیصلہ کریں کہ آیا سافٹ ویئر کو اپنے ہارڈویئر پر چلانا ہے یا کلاؤڈ میں۔
ماحول تیار کرنے کے بعد، منتخب کردہ کلائنٹس کو یا تو ابتدائی افراد کے لیے سازگار انٹرفیس کے ساتھ یا جدید اختیارات کے ساتھ ٹرمینل کا استعمال کرتے ہوئے دستی طور پر انسٹال کریں۔
جب نوڈ چل رہا ہو اور سنک ہو رہا ہو، تو آپ اسے استعمال کرنے کے لیے تیار ہیں، لیکن اس کی دیکھ بھال پر نظر رکھنا یقینی بنائیں۔
ماحول اور ہارڈویئر
لوکل یا کلاؤڈ
ایتھیریم کلائنٹس عام صارفین کے کمپیوٹرز پر چلنے کے قابل ہیں اور انہیں کسی خاص ہارڈویئر کی ضرورت نہیں ہوتی، مثال کے طور پر مائننگ مشینوں کی۔ لہذا، آپ کے پاس اپنی ضروریات کی بنیاد پر نوڈ کو تعینات کرنے کے مختلف اختیارات ہیں۔ اسے آسان بنانے کے لیے، آئیے ایک مقامی فزیکل مشین اور کلاؤڈ سرور دونوں پر نوڈ چلانے کے بارے میں سوچتے ہیں:
- کلاؤڈ
- فراہم کنندگان اعلی سرور اپ ٹائم اور جامد (static) پبلک IP ایڈریس پیش کرتے ہیں
- اپنا سرور بنانے کے مقابلے میں ڈیڈیکیٹڈ یا ورچوئل سرور حاصل کرنا زیادہ آرام دہ ہو سکتا ہے
- اس میں سمجھوتہ یہ ہے کہ آپ کو تیسرے فریق - سرور فراہم کنندہ پر بھروسہ کرنا پڑتا ہے
- فل نوڈ کے لیے درکار اسٹوریج کے سائز کی وجہ سے، کرائے کے سرور کی قیمت زیادہ ہو سکتی ہے
- اپنا ہارڈویئر
- زیادہ ٹرسٹ لیس اور خود مختار طریقہ کار
- ایک بار کی سرمایہ کاری
- پہلے سے کنفیگر شدہ مشینیں خریدنے کا آپشن
- آپ کو مشین اور نیٹ ورکنگ کو جسمانی طور پر تیار کرنا، برقرار رکھنا، اور ممکنہ طور پر ٹربل شوٹ کرنا ہوگا
دونوں اختیارات کے مختلف فوائد ہیں جن کا خلاصہ اوپر دیا گیا ہے۔ اگر آپ کلاؤڈ حل تلاش کر رہے ہیں، تو بہت سے روایتی کلاؤڈ کمپیوٹنگ فراہم کنندگان کے علاوہ، نوڈز کو تعینات کرنے پر مرکوز خدمات بھی موجود ہیں۔ ہوسٹڈ نوڈز پر مزید اختیارات کے لیے نوڈز بطور سروس دیکھیں۔
ہارڈویئر
تاہم، ایک سنسرشپ کے خلاف مزاحمت کرنے والے، ڈی سینٹرلائزڈ نیٹ ورک کو کلاؤڈ فراہم کنندگان پر انحصار نہیں کرنا چاہیے۔ اس کے بجائے، اپنے مقامی ہارڈویئر پر اپنا نوڈ چلانا ایکو سسٹم کے لیے زیادہ صحت مند ہے۔ تخمینے (opens in a new tab) ظاہر کرتے ہیں کہ نوڈز کا ایک بڑا حصہ کلاؤڈ پر چلتا ہے، جو ناکامی کا ایک واحد نقطہ (single point of failure) بن سکتا ہے۔
ایتھیریم کلائنٹس آپ کے کمپیوٹر، لیپ ٹاپ، سرور، یا یہاں تک کہ سنگل بورڈ کمپیوٹر پر بھی چل سکتے ہیں۔ اگرچہ آپ کے ذاتی کمپیوٹر پر کلائنٹس چلانا ممکن ہے، لیکن صرف آپ کے نوڈ کے لیے ایک مخصوص مشین کا ہونا اس کی کارکردگی اور سیکیورٹی کو نمایاں طور پر بڑھا سکتا ہے جبکہ آپ کے بنیادی کمپیوٹر پر اثرات کو کم کر سکتا ہے۔
اپنا ہارڈویئر استعمال کرنا بہت آسان ہو سکتا ہے۔ زیادہ تکنیکی لوگوں کے لیے بہت سے آسان اختیارات کے ساتھ ساتھ جدید سیٹ اپ بھی موجود ہیں۔ تو آئیے آپ کی مشین پر ایتھیریم کلائنٹس چلانے کی ضروریات اور ذرائع پر نظر ڈالتے ہیں۔
ضروریات
ہارڈویئر کی ضروریات کلائنٹ کے لحاظ سے مختلف ہوتی ہیں لیکن عام طور پر اتنی زیادہ نہیں ہوتیں کیونکہ نوڈ کو صرف سنک رہنے کی ضرورت ہوتی ہے۔ اسے مائننگ کے ساتھ مت ملائیں، جس کے لیے بہت زیادہ کمپیوٹنگ پاور درکار ہوتی ہے۔ تاہم، زیادہ طاقتور ہارڈویئر کے ساتھ سنک کا وقت اور کارکردگی بہتر ہوتی ہے۔
کوئی بھی کلائنٹ انسٹال کرنے سے پہلے، براہ کرم یقینی بنائیں کہ آپ کے کمپیوٹر میں اسے چلانے کے لیے کافی وسائل موجود ہیں۔ آپ ذیل میں کم از کم اور تجویز کردہ ضروریات تلاش کر سکتے ہیں۔
آپ کے ہارڈویئر کے لیے رکاوٹ (bottleneck) زیادہ تر ڈسک اسپیس ہے۔ ایتھیریم بلاک چین کو سنک کرنا بہت زیادہ ان پٹ/آؤٹ پٹ پر مبنی ہے اور اس کے لیے بہت زیادہ جگہ درکار ہوتی ہے۔ یہ سب سے بہتر ہے کہ آپ کے پاس ایک سالڈ اسٹیٹ ڈرائیو (SSD) ہو جس میں سنکرونائزیشن کے بعد بھی سینکڑوں GBs خالی جگہ بچی ہو۔
ڈیٹا بیس کا سائز اور ابتدائی سنکرونائزیشن کی رفتار منتخب کردہ کلائنٹ، اس کی کنفیگریشن اور سنک کی حکمت عملی پر منحصر ہے۔
یہ بھی یقینی بنائیں کہ آپ کا انٹرنیٹ کنکشن بینڈوتھ کیپ (opens in a new tab) تک محدود نہیں ہے۔ ان میٹرڈ (unmetered) کنکشن استعمال کرنے کی سفارش کی جاتی ہے کیونکہ ابتدائی سنک اور نیٹ ورک پر نشر ہونے والا ڈیٹا آپ کی حد سے تجاوز کر سکتا ہے۔
آپریٹنگ سسٹم
تمام کلائنٹس بڑے آپریٹنگ سسٹمز - Linux، MacOS، Windows کو سپورٹ کرتے ہیں۔ اس کا مطلب ہے کہ آپ باقاعدہ ڈیسک ٹاپ یا سرور مشینوں پر اس آپریٹنگ سسٹم (OS) کے ساتھ نوڈز چلا سکتے ہیں جو آپ کے لیے سب سے زیادہ موزوں ہو۔ ممکنہ مسائل اور سیکیورٹی کمزوریوں سے بچنے کے لیے یقینی بنائیں کہ آپ کا OS اپ ٹو ڈیٹ ہے۔
کم از کم ضروریات
- 2+ کورز کے ساتھ CPU
- 8 GB RAM
- 2TB SSD
- 10+ MBit/s بینڈوتھ
تجویز کردہ خصوصیات
- 4+ کورز کے ساتھ تیز CPU
- 16 GB+ RAM
- 2+TB کے ساتھ تیز SSD
- 25+ MBit/s بینڈوتھ
آپ جو سنک موڈ اور کلائنٹ منتخب کرتے ہیں وہ جگہ کی ضروریات کو متاثر کرے گا، لیکن ہم نے ذیل میں ہر کلائنٹ کے لیے درکار ڈسک اسپیس کا تخمینہ لگایا ہے۔
| کلائنٹ | ڈسک کا سائز (اسنیپ سنک) | ڈسک کا سائز (فل آرکائیو) |
|---|---|---|
| Besu | 800GB+ | 12TB+ |
| Erigon | N/A | 2.5TB+ |
| Geth | 500GB+ | 12TB+ |
| Nethermind | 500GB+ | 12TB+ |
| Reth | N/A | 2.2TB+ |
- نوٹ: Erigon اور Reth اسنیپ سنک پیش نہیں کرتے ہیں، لیکن فل پروننگ (Full Pruning) ممکن ہے (Erigon کے لیے ~2TB، Reth کے لیے ~1.2TB)
کنسینسس کلائنٹس کے لیے، جگہ کی ضرورت کلائنٹ کے نفاذ اور فعال خصوصیات (جیسے، ویلیڈیٹر سلیشر) پر بھی منحصر ہے لیکن عام طور پر بیکن ڈیٹا کے لیے مزید 200GB کی ضرورت ہوتی ہے۔ ویلیڈیٹرز کی ایک بڑی تعداد کے ساتھ، بینڈوتھ کا بوجھ بھی بڑھتا ہے۔ آپ اس تجزیے میں کنسینسس کلائنٹ کی ضروریات پر تفصیلات (opens in a new tab) تلاش کر سکتے ہیں۔
پلگ اینڈ پلے حل
اپنے ہارڈویئر کے ساتھ نوڈ چلانے کا سب سے آسان آپشن پلگ اینڈ پلے باکسز کا استعمال ہے۔ وینڈرز کی جانب سے پہلے سے کنفیگر شدہ مشینیں سب سے سیدھا تجربہ پیش کرتی ہیں: آرڈر کریں، کنیکٹ کریں، چلائیں۔ ہر چیز پہلے سے کنفیگر ہوتی ہے اور سافٹ ویئر کی نگرانی اور کنٹرول کے لیے ایک بدیہی گائیڈ اور ڈیش بورڈ کے ساتھ خود بخود چلتی ہے۔
سنگل بورڈ کمپیوٹر پر ایتھیریم
ایتھیریم نوڈ چلانے کا ایک آسان اور سستا طریقہ سنگل بورڈ کمپیوٹر کا استعمال ہے، یہاں تک کہ Raspberry Pi جیسے ARM آرکیٹیکچر کے ساتھ بھی۔ Ethereum on ARM (opens in a new tab) Raspberry Pi اور دیگر ARM بورڈز کے لیے متعدد ایگزیکیوشن اور کنسینسس کلائنٹ کی آسانی سے چلنے والی امیجز فراہم کرتا ہے۔
اس طرح کے چھوٹے، سستے اور موثر آلات گھر پر نوڈ چلانے کے لیے مثالی ہیں لیکن ان کی محدود کارکردگی کو ذہن میں رکھیں۔
نوڈ کو اسپن اپ کرنا
اصل کلائنٹ سیٹ اپ یا تو خودکار لانچرز کے ساتھ کیا جا سکتا ہے یا دستی طور پر، براہ راست کلائنٹ سافٹ ویئر ترتیب دے کر۔
کم جدید صارفین کے لیے، تجویز کردہ طریقہ لانچر کا استعمال کرنا ہے، ایک ایسا سافٹ ویئر جو آپ کو انسٹالیشن میں رہنمائی کرتا ہے اور کلائنٹ سیٹ اپ کے عمل کو خودکار بناتا ہے۔ تاہم، اگر آپ کو ٹرمینل استعمال کرنے کا کچھ تجربہ ہے، تو دستی سیٹ اپ کے مراحل پر عمل کرنا آسان ہونا چاہیے۔
گائیڈڈ سیٹ اپ
متعدد صارف دوست پروجیکٹس کا مقصد کلائنٹ ترتیب دینے کے تجربے کو بہتر بنانا ہے۔ یہ لانچرز خودکار کلائنٹ انسٹالیشن اور کنفیگریشن فراہم کرتے ہیں، جن میں سے کچھ کلائنٹس کے گائیڈڈ سیٹ اپ اور نگرانی کے لیے گرافیکل انٹرفیس بھی پیش کرتے ہیں۔
ذیل میں کچھ پروجیکٹس ہیں جو آپ کو صرف چند کلکس کے ساتھ کلائنٹس کو انسٹال اور کنٹرول کرنے میں مدد کر سکتے ہیں:
- DappNode (opens in a new tab) - DappNode صرف وینڈر کی مشین کے ساتھ نہیں آتا۔ سافٹ ویئر، اصل نوڈ لانچر اور بہت سی خصوصیات کے ساتھ کنٹرول سینٹر کو کسی بھی ہارڈویئر پر استعمال کیا جا سکتا ہے۔
- EthPillar (opens in a new tab) - فل نوڈ سیٹ اپ کرنے کا تیز ترین اور آسان ترین طریقہ۔ ون لائنر سیٹ اپ ٹول اور نوڈ مینجمنٹ TUI۔ مفت۔ اوپن سورس۔ سولو اسٹیکرز کی طرف سے ایتھیریم کے لیے عوامی سامان (Public goods)۔ ARM64 اور AMD64 سپورٹ۔
- eth-docker (opens in a new tab) - آسان اور محفوظ اسٹیکنگ پر مرکوز Docker کا استعمال کرتے ہوئے خودکار سیٹ اپ، اس کے لیے بنیادی ٹرمینل اور Docker کے علم کی ضرورت ہوتی ہے، قدرے زیادہ جدید صارفین کے لیے تجویز کیا جاتا ہے۔
- Stereum (opens in a new tab) - GUI سیٹ اپ گائیڈ، کنٹرول سینٹر، اور بہت سی دیگر خصوصیات کے ساتھ SSH کنکشن کے ذریعے ریموٹ سرور پر کلائنٹس انسٹال کرنے کے لیے لانچر۔
- Sedge (opens in a new tab) - نوڈ سیٹ اپ ٹول جو CLI وزرڈ کا استعمال کرتے ہوئے خود بخود Docker کنفیگریشن تیار کرتا ہے۔ Nethermind کی طرف سے Go میں لکھا گیا ہے۔
دستی کلائنٹس سیٹ اپ
دوسرا آپشن کلائنٹ سافٹ ویئر کو دستی طور پر ڈاؤن لوڈ، تصدیق اور کنفیگر کرنا ہے۔ یہاں تک کہ اگر کچھ کلائنٹس گرافیکل انٹرفیس پیش کرتے ہیں، دستی سیٹ اپ کے لیے اب بھی ٹرمینل کے ساتھ بنیادی مہارتوں کی ضرورت ہوتی ہے لیکن یہ بہت زیادہ استعداد (versatility) پیش کرتا ہے۔
جیسا کہ پہلے بتایا گیا ہے، اپنا ایتھیریم نوڈ ترتیب دینے کے لیے کنسینسس اور ایگزیکیوشن کلائنٹس کا ایک جوڑا چلانے کی ضرورت ہوگی۔ کچھ کلائنٹس میں دوسری قسم کا لائٹ کلائنٹ شامل ہو سکتا ہے اور کسی دوسرے سافٹ ویئر کی ضرورت کے بغیر سنک ہو سکتا ہے۔ تاہم، مکمل ٹرسٹ لیس تصدیق کے لیے دونوں کے نفاذ کی ضرورت ہوتی ہے۔
کلائنٹ سافٹ ویئر حاصل کرنا
سب سے پہلے، آپ کو اپنا پسندیدہ ایگزیکیوشن کلائنٹ اور کنسینسس کلائنٹ سافٹ ویئر حاصل کرنے کی ضرورت ہے۔
آپ آسانی سے ایک ایگزیکیوٹیبل ایپلیکیشن یا انسٹالیشن پیکیج ڈاؤن لوڈ کر سکتے ہیں جو آپ کے آپریٹنگ سسٹم اور آرکیٹیکچر کے مطابق ہو۔ ہمیشہ ڈاؤن لوڈ کیے گئے پیکجز کے دستخطوں اور چیک سمز (checksums) کی تصدیق کریں۔ کچھ کلائنٹس آسان انسٹالیشن اور اپ ڈیٹس کے لیے ریپوزٹریز یا Docker امیجز بھی پیش کرتے ہیں۔ تمام کلائنٹس اوپن سورس ہیں، لہذا آپ انہیں سورس سے بھی بلڈ کر سکتے ہیں۔ یہ ایک زیادہ جدید طریقہ ہے، لیکن بعض صورتوں میں، اس کی ضرورت پڑ سکتی ہے۔
ہر کلائنٹ کو انسٹال کرنے کی ہدایات اوپر دی گئی کلائنٹ کی فہرستوں میں منسلک دستاویزات میں فراہم کی گئی ہیں۔
یہاں کلائنٹس کے ریلیز پیجز ہیں جہاں آپ ان کی پہلے سے بنی ہوئی بائنریز یا انسٹالیشن سے متعلق ہدایات حاصل کر سکتے ہیں:
ایگزیکیوشن کلائنٹس
- 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)
یہ بات بھی قابل غور ہے کہ کلائنٹ کا تنوع ایگزیکیوشن لیئر پر ایک مسئلہ ہے۔ یہ تجویز کیا جاتا ہے کہ قارئین اقلیتی ایگزیکیوشن کلائنٹ چلانے پر غور کریں۔
کنسینسس کلائنٹس
- Lighthouse (opens in a new tab)
- Lodestar (opens in a new tab) (پہلے سے بنی ہوئی بائنری فراہم نہیں کرتا، صرف ایک Docker امیج یا سورس سے بلڈ کیا جانا ہے)
- Nimbus (opens in a new tab)
- Prysm (opens in a new tab)
- Teku (opens in a new tab)
ویلیڈیٹرز چلانے والے کنسینسس نوڈز کے لیے کلائنٹ کا تنوع انتہائی اہم ہے۔ اگر ویلیڈیٹرز کی اکثریت ایک ہی کلائنٹ کا نفاذ چلا رہی ہے، تو نیٹ ورک کی سیکیورٹی خطرے میں ہے۔ اس لیے اقلیتی کلائنٹ کے انتخاب پر غور کرنے کی سفارش کی جاتی ہے۔
نیٹ ورک کلائنٹ کا تازہ ترین استعمال دیکھیں (opens in a new tab) اور کلائنٹ کے تنوع کے بارے میں مزید جانیں۔
سافٹ ویئر کی تصدیق کرنا
انٹرنیٹ سے سافٹ ویئر ڈاؤن لوڈ کرتے وقت، اس کی سالمیت (integrity) کی تصدیق کرنے کی سفارش کی جاتی ہے۔ یہ قدم اختیاری ہے لیکن خاص طور پر ایتھیریم کلائنٹ جیسے اہم انفراسٹرکچر کے حصے کے ساتھ، ممکنہ حملے کے ویکٹرز سے آگاہ ہونا اور ان سے بچنا ضروری ہے۔ اگر آپ نے پہلے سے بنی ہوئی بائنری ڈاؤن لوڈ کی ہے، تو آپ کو اس پر بھروسہ کرنے کی ضرورت ہے اور یہ خطرہ مول لینا ہوگا کہ کوئی حملہ آور ایگزیکیوٹیبل کو کسی نقصان دہ چیز سے بدل سکتا ہے۔
ڈیولپرز جاری کردہ بائنریز پر اپنی PGP کیز کے ساتھ دستخط کرتے ہیں تاکہ آپ کرپٹوگرافک طور پر تصدیق کر سکیں کہ آپ بالکل وہی سافٹ ویئر چلا رہے ہیں جو انہوں نے بنایا ہے۔ آپ کو صرف ڈیولپرز کے ذریعہ استعمال ہونے والی پبلک کیز حاصل کرنے کی ضرورت ہے، جو کلائنٹ کے ریلیز پیجز یا دستاویزات میں مل سکتی ہیں۔ کلائنٹ کی ریلیز اور اس کے دستخط ڈاؤن لوڈ کرنے کے بعد، آپ آسانی سے ان کی تصدیق کرنے کے لیے PGP کے نفاذ، مثلاً GnuPG (opens in a new tab) کا استعمال کر سکتے ہیں۔ linux (opens in a new tab) یا Windows/MacOS (opens in a new tab) پر gpg کا استعمال کرتے ہوئے اوپن سورس سافٹ ویئر کی تصدیق کرنے پر ایک ٹیوٹوریل دیکھیں۔
تصدیق کی ایک اور شکل یہ یقینی بنانا ہے کہ آپ کے ڈاؤن لوڈ کردہ سافٹ ویئر کا ہیش، جو کہ ایک منفرد کرپٹوگرافک فنگر پرنٹ ہے، ڈیولپرز کے فراہم کردہ ہیش سے میل کھاتا ہے۔ یہ PGP استعمال کرنے سے بھی زیادہ آسان ہے، اور کچھ کلائنٹس صرف یہی آپشن پیش کرتے ہیں۔ بس ڈاؤن لوڈ کیے گئے سافٹ ویئر پر ہیش فنکشن چلائیں اور اس کا موازنہ ریلیز پیج پر موجود ہیش سے کریں۔ مثال کے طور پر:
1sha256sum teku-22.6.1.tar.gz239b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767ddeکلائنٹ سیٹ اپ
کلائنٹ سافٹ ویئر کو انسٹال، ڈاؤن لوڈ، یا مرتب (compile) کرنے کے بعد، آپ اسے چلانے کے لیے تیار ہیں۔ اس کا مطلب صرف یہ ہے کہ اسے مناسب کنفیگریشن کے ساتھ ایگزیکیوٹ کیا جانا چاہیے۔ کلائنٹس بھرپور کنفیگریشن کے اختیارات پیش کرتے ہیں، جو مختلف خصوصیات کو فعال کر سکتے ہیں۔
آئیے ان اختیارات سے شروع کرتے ہیں جو کلائنٹ کی کارکردگی اور ڈیٹا کے استعمال کو نمایاں طور پر متاثر کر سکتے ہیں۔ سنک موڈز بلاک چین ڈیٹا کو ڈاؤن لوڈ کرنے اور اس کی توثیق کرنے کے مختلف طریقوں کی نمائندگی کرتے ہیں۔ نوڈ شروع کرنے سے پہلے، آپ کو فیصلہ کرنا چاہیے کہ کون سا نیٹ ورک اور سنک موڈ استعمال کرنا ہے۔ غور کرنے کے لیے سب سے اہم چیزیں ڈسک اسپیس، اور سنک کا وقت ہے جس کی کلائنٹ کو ضرورت ہوگی۔ یہ تعین کرنے کے لیے کلائنٹ کی دستاویزات پر توجہ دیں کہ کون سا سنک موڈ ڈیفالٹ ہے۔ اگر یہ آپ کے لیے موزوں نہیں ہے، تو سیکیورٹی کی سطح، دستیاب ڈیٹا، اور لاگت کی بنیاد پر کوئی دوسرا منتخب کریں۔ سنکرونائزیشن الگورتھم کے علاوہ، آپ مختلف قسم کے پرانے ڈیٹا کی پروننگ (pruning) بھی سیٹ کر سکتے ہیں۔ پروننگ پرانے ڈیٹا کو حذف کرنے کے قابل بناتی ہے، یعنی اسٹیٹ ٹرائی (state trie) نوڈز کو ہٹانا جو حالیہ بلاکس سے ناقابل رسائی ہیں۔
دیگر بنیادی کنفیگریشن کے اختیارات یہ ہیں، مثلاً، نیٹ ورک کا انتخاب کرنا - مین نیٹ یا ٹیسٹ نیٹس، RPC یا WebSockets کے لیے HTTP اینڈ پوائنٹ کو فعال کرنا، وغیرہ۔ آپ کلائنٹ کی دستاویزات میں تمام خصوصیات اور اختیارات تلاش کر سکتے ہیں۔ مختلف کلائنٹ کنفیگریشنز کو براہ راست CLI یا کنفیگ فائل میں متعلقہ فلیگز کے ساتھ کلائنٹ کو ایگزیکیوٹ کر کے سیٹ کیا جا سکتا ہے۔ ہر کلائنٹ تھوڑا مختلف ہوتا ہے؛ براہ کرم کنفیگریشن کے اختیارات کی تفصیلات کے لیے ہمیشہ اس کی آفیشل دستاویزات یا ہیلپ پیج سے رجوع کریں۔
ٹیسٹنگ کے مقاصد کے لیے، آپ ٹیسٹ نیٹ نیٹ ورکس میں سے کسی ایک پر کلائنٹ چلانے کو ترجیح دے سکتے ہیں۔ سپورٹڈ نیٹ ورکس کا جائزہ دیکھیں۔
بنیادی کنفیگریشن کے ساتھ ایگزیکیوشن کلائنٹس چلانے کی مثالیں اگلے حصے میں مل سکتی ہیں۔
ایگزیکیوشن کلائنٹ شروع کرنا
ایتھیریم کلائنٹ سافٹ ویئر شروع کرنے سے پہلے، آخری بار چیک کریں کہ آپ کا ماحول تیار ہے۔ مثال کے طور پر، یقینی بنائیں:
- منتخب کردہ نیٹ ورک اور سنک موڈ کو مدنظر رکھتے ہوئے کافی ڈسک اسپیس موجود ہے۔
- میموری اور CPU کو دوسرے پروگرامز نے روکا ہوا نہیں ہے۔
- آپریٹنگ سسٹم کو تازہ ترین ورژن میں اپ ڈیٹ کیا گیا ہے۔
- سسٹم میں صحیح وقت اور تاریخ ہے۔
- آپ کا راؤٹر اور فائر وال سننے والی (listening) پورٹس پر کنکشن قبول کرتے ہیں۔ ڈیفالٹ کے طور پر ایتھیریم کلائنٹس ایک لسنر (TCP) پورٹ اور ایک ڈسکوری (UDP) پورٹ استعمال کرتے ہیں، دونوں ڈیفالٹ کے طور پر 30303 پر ہوتے ہیں۔
یہ یقینی بنانے میں مدد کے لیے کہ سب کچھ صحیح طریقے سے کام کر رہا ہے، پہلے اپنے کلائنٹ کو ٹیسٹ نیٹ پر چلائیں۔
آپ کو شروع میں کلائنٹ کی کسی بھی ایسی سیٹنگز کا اعلان کرنے کی ضرورت ہے جو ڈیفالٹ نہیں ہیں۔ آپ اپنی پسندیدہ کنفیگریشن کا اعلان کرنے کے لیے فلیگز یا کنفیگ فائل کا استعمال کر سکتے ہیں۔ ہر کلائنٹ کی خصوصیات کا سیٹ اور کنفیگریشن کا نحو (syntax) مختلف ہوتا ہے۔ تفصیلات کے لیے اپنے کلائنٹ کی دستاویزات دیکھیں۔
ایگزیکیوشن اور کنسینسس کلائنٹس Engine API (opens in a new tab) میں بتائے گئے ایک مستند اینڈ پوائنٹ کے ذریعے بات چیت کرتے ہیں۔ کنسینسس کلائنٹ سے جڑنے کے لیے، ایگزیکیوشن کلائنٹ کو ایک معلوم پاتھ پر jwtsecret (opens in a new tab) تیار کرنا چاہیے۔ سیکیورٹی اور استحکام کی وجوہات کی بنا پر، کلائنٹس کو ایک ہی مشین پر چلنا چاہیے، اور دونوں کلائنٹس کو یہ پاتھ معلوم ہونا چاہیے کیونکہ یہ ان کے درمیان مقامی RPC کنکشن کی تصدیق کے لیے استعمال ہوتا ہے۔ ایگزیکیوشن کلائنٹ کو مستند APIs کے لیے ایک لسننگ پورٹ کی بھی وضاحت کرنی چاہیے۔
یہ ٹوکن کلائنٹ سافٹ ویئر کے ذریعے خود بخود تیار ہوتا ہے، لیکن بعض صورتوں میں، آپ کو اسے خود کرنے کی ضرورت پڑ سکتی ہے۔ آپ اسے OpenSSL (opens in a new tab) کا استعمال کرتے ہوئے تیار کر سکتے ہیں:
1openssl rand -hex 32 > jwtsecretایگزیکیوشن کلائنٹ چلانا
یہ سیکشن ایگزیکیوشن کلائنٹس شروع کرنے میں آپ کی رہنمائی کرے گا۔ یہ صرف ایک بنیادی کنفیگریشن کی مثال کے طور پر کام کرتا ہے، جو کلائنٹ کو ان ترتیبات کے ساتھ شروع کرے گا:
- جڑنے کے لیے نیٹ ورک کی وضاحت کرتا ہے، ہماری مثالوں میں مین نیٹ
- آپ اس کے بجائے اپنے سیٹ اپ کی ابتدائی جانچ کے لیے ٹیسٹ نیٹس میں سے ایک کا انتخاب کر سکتے ہیں
- ڈیٹا ڈائرکٹری کی وضاحت کرتا ہے، جہاں بلاک چین سمیت تمام ڈیٹا محفوظ کیا جائے گا
- یقینی بنائیں کہ پاتھ کو کسی حقیقی پاتھ سے بدل دیں، مثلاً، آپ کی بیرونی ڈرائیو کی طرف اشارہ کرتے ہوئے
- کلائنٹ کے ساتھ بات چیت کے لیے انٹرفیس کو فعال کرتا ہے
- کنسینسس کلائنٹ کے ساتھ بات چیت کے لیے JSON-RPC اور Engine API سمیت
- مستند API کے لیے
jwtsecretکا پاتھ متعین کرتا ہے- یقینی بنائیں کہ مثال کے پاتھ کو کسی حقیقی پاتھ سے بدل دیں جس تک کلائنٹس رسائی حاصل کر سکیں، مثلاً،
/tmp/jwtsecret
- یقینی بنائیں کہ مثال کے پاتھ کو کسی حقیقی پاتھ سے بدل دیں جس تک کلائنٹس رسائی حاصل کر سکیں، مثلاً،
براہ کرم ذہن میں رکھیں کہ یہ صرف ایک بنیادی مثال ہے، دیگر تمام ترتیبات ڈیفالٹ پر سیٹ ہوں گی۔ ڈیفالٹ اقدار، ترتیبات، اور خصوصیات کے بارے میں جاننے کے لیے ہر کلائنٹ کی دستاویزات پر توجہ دیں۔ مزید خصوصیات کے لیے، مثال کے طور پر ویلیڈیٹرز چلانے، نگرانی وغیرہ کے لیے، براہ کرم مخصوص کلائنٹ کی دستاویزات سے رجوع کریں۔
نوٹ کریں کہ مثالوں میں بیک سلیشز `` صرف فارمیٹنگ کے مقاصد کے لیے ہیں؛ کنفیگ فلیگز کو ایک ہی لائن میں بیان کیا جا سکتا ہے۔
Besu چلانا
یہ مثال مین نیٹ پر Besu شروع کرتی ہے، بلاک چین ڈیٹا کو ڈیفالٹ فارمیٹ میں /data/ethereum پر محفوظ کرتی ہے، کنسینسس کلائنٹ کو جوڑنے کے لیے JSON-RPC اور Engine RPC کو فعال کرتی ہے۔ Engine API کی تصدیق ٹوکن jwtsecret کے ساتھ کی جاتی ہے اور صرف localhost سے کالز کی اجازت ہے۔
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/jwtsecretBesu ایک لانچر آپشن کے ساتھ بھی آتا ہے جو سوالات کا ایک سلسلہ پوچھے گا اور کنفیگ فائل تیار کرے گا۔ انٹرایکٹو لانچر کو اس کا استعمال کرتے ہوئے چلائیں:
1besu --XlauncherBesu کی دستاویزات (opens in a new tab) میں اضافی اختیارات اور کنفیگریشن کی تفصیلات شامل ہیں۔
Erigon چلانا
یہ مثال مین نیٹ پر Erigon شروع کرتی ہے، بلاک چین ڈیٹا کو /data/ethereum پر محفوظ کرتی ہے، JSON-RPC کو فعال کرتی ہے، وضاحت کرتی ہے کہ کن نیم اسپیسز (namespaces) کی اجازت ہے اور کنسینسس کلائنٹ کو جوڑنے کے لیے تصدیق کو فعال کرتی ہے جس کی وضاحت jwtsecret پاتھ سے ہوتی ہے۔
1erigon --chain mainnet \2 --datadir /data/ethereum \3 --http --http.api=engine,eth,web3,net \4 --authrpc.jwtsecret=/path/to/jwtsecretErigon ڈیفالٹ کے طور پر 8GB HDD کے ساتھ مکمل سنک کرتا ہے جس کے نتیجے میں 2TB سے زیادہ آرکائیو ڈیٹا ہوگا۔ یقینی بنائیں کہ datadir کافی خالی جگہ والی ڈسک کی طرف اشارہ کر رہا ہے یا --prune فلیگ کو دیکھیں جو مختلف قسم کے ڈیٹا کو تراش (trim) سکتا ہے۔ مزید جاننے کے لیے Erigon کی --help چیک کریں۔
Geth چلانا
یہ مثال مین نیٹ پر Geth شروع کرتی ہے، بلاک چین ڈیٹا کو /data/ethereum پر محفوظ کرتی ہے، JSON-RPC کو فعال کرتی ہے اور وضاحت کرتی ہے کہ کن نیم اسپیسز کی اجازت ہے۔ یہ کنسینسس کلائنٹ کو جوڑنے کے لیے تصدیق کو بھی فعال کرتا ہے جس کے لیے jwtsecret کے پاتھ کی ضرورت ہوتی ہے اور یہ آپشن بھی جو وضاحت کرتا ہے کہ کن کنکشنز کی اجازت ہے، ہماری مثال میں صرف localhost سے۔
1geth --mainnet \2 --datadir "/data/ethereum" \3 --http --authrpc.addr localhost \4 --authrpc.vhosts="localhost" \5 --authrpc.port 85516 --authrpc.jwtsecret=/path/to/jwtsecretتمام کنفیگریشن کے اختیارات کے لیے دستاویزات (opens in a new tab) چیک کریں اور کنسینسس کلائنٹ کے ساتھ Geth چلانے (opens in a new tab) کے بارے میں مزید جانیں۔
Nethermind چلانا
Nethermind مختلف انسٹالیشن کے اختیارات (opens in a new tab) پیش کرتا ہے۔ پیکیج مختلف بائنریز کے ساتھ آتا ہے، بشمول ایک گائیڈڈ سیٹ اپ کے ساتھ لانچر، جو آپ کو انٹرایکٹو طریقے سے کنفیگریشن بنانے میں مدد کرے گا۔ متبادل کے طور پر، آپ کو رنر (Runner) ملتا ہے جو خود ایگزیکیوٹیبل ہے اور آپ اسے صرف کنفیگریشن فلیگز کے ساتھ چلا سکتے ہیں۔ JSON-RPC ڈیفالٹ کے طور پر فعال ہے۔
1Nethermind.Runner --config mainnet \2 --datadir /data/ethereum \3 --JsonRpc.JwtSecretFile=/path/to/jwtsecretNethermind کی دستاویزات کنسینسس کلائنٹ کے ساتھ Nethermind چلانے پر ایک مکمل گائیڈ (opens in a new tab) پیش کرتی ہیں۔
ایک ایگزیکیوشن کلائنٹ اپنے بنیادی افعال، منتخب کردہ اینڈ پوائنٹس کو شروع کرے گا، اور پیئرز (peers) کی تلاش شروع کر دے گا۔ پیئرز کو کامیابی سے دریافت کرنے کے بعد، کلائنٹ سنکرونائزیشن شروع کر دیتا ہے۔ ایگزیکیوشن کلائنٹ کنسینسس کلائنٹ سے کنکشن کا انتظار کرے گا۔ موجودہ بلاک چین ڈیٹا اس وقت دستیاب ہوگا جب کلائنٹ کامیابی کے ساتھ موجودہ اسٹیٹ (state) سے سنک ہو جائے گا۔
Reth چلانا
یہ مثال ڈیفالٹ ڈیٹا لوکیشن کا استعمال کرتے ہوئے مین نیٹ پر Reth شروع کرتی ہے۔ کنسینسس کلائنٹ کو جوڑنے کے لیے JSON-RPC اور Engine RPC کی تصدیق کو فعال کرتی ہے جس کی وضاحت jwtsecret پاتھ سے ہوتی ہے، جس میں صرف localhost سے کالز کی اجازت ہے۔
1reth node \2 --authrpc.jwtsecret /path/to/jwtsecret \3 --authrpc.addr 127.0.0.1 \4 --authrpc.port 8551ڈیفالٹ ڈیٹا ڈائریکٹریز کے بارے میں مزید جاننے کے لیے Reth کی کنفیگریشن (opens in a new tab) دیکھیں۔ Reth کی دستاویزات (opens in a new tab) میں اضافی اختیارات اور کنفیگریشن کی تفصیلات شامل ہیں۔
کنسینسس کلائنٹ شروع کرنا
ایگزیکیوشن کلائنٹ سے مقامی RPC کنکشن قائم کرنے کے لیے کنسینسس کلائنٹ کو صحیح پورٹ کنفیگریشن کے ساتھ شروع کیا جانا چاہیے۔ کنسینسس کلائنٹس کو کنفیگریشن آرگومنٹ کے طور پر بے نقاب (exposed) ایگزیکیوشن کلائنٹ پورٹ کے ساتھ چلایا جانا چاہیے۔
کنسینسس کلائنٹ کو ان کے درمیان RPC کنکشن کی تصدیق کرنے کے لیے ایگزیکیوشن کلائنٹ کے jwt-secret کے پاتھ کی بھی ضرورت ہوتی ہے۔ اوپر دی گئی ایگزیکیوشن کی مثالوں کی طرح، ہر کنسینسس کلائنٹ میں ایک کنفیگریشن فلیگ ہوتا ہے جو jwt ٹوکن فائل پاتھ کو بطور آرگومنٹ لیتا ہے۔ یہ ایگزیکیوشن کلائنٹ کو فراہم کردہ jwtsecret پاتھ کے مطابق ہونا چاہیے۔
اگر آپ ویلیڈیٹر چلانے کا ارادہ رکھتے ہیں، تو یقینی بنائیں کہ فیس وصول کنندہ کے ایتھیریم ایڈریس کی وضاحت کرنے والا کنفیگریشن فلیگ شامل کریں۔ یہ وہ جگہ ہے جہاں آپ کے ویلیڈیٹر کے لیے ایتھر کے انعامات جمع ہوتے ہیں۔ ہر کنسینسس کلائنٹ کے پاس ایک آپشن ہوتا ہے، مثلاً، --suggested-fee-recipient=0xabcd1، جو ایتھیریم ایڈریس کو بطور آرگومنٹ لیتا ہے۔
ٹیسٹ نیٹ پر بیکن نوڈ شروع کرتے وقت، آپ چیک پوائنٹ سنک (opens in a new tab) کے لیے پبلک اینڈ پوائنٹ کا استعمال کر کے سنک کرنے کا کافی وقت بچا سکتے ہیں۔
کنسینسس کلائنٹ چلانا
Lighthouse چلانا
Lighthouse چلانے سے پہلے، اسے انسٹال اور کنفیگر کرنے کے طریقہ کے بارے میں Lighthouse Book (opens in a new tab) میں مزید جانیں۔
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/jwtsecretLodestar چلانا
Lodestar سافٹ ویئر کو مرتب کر کے یا Docker امیج ڈاؤن لوڈ کر کے انسٹال کریں۔ دستاویزات (opens in a new tab) اور زیادہ جامع سیٹ اپ گائیڈ (opens in a new tab) میں مزید جانیں۔
1lodestar beacon \2 --dataDir="/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 چلانا
Nimbus کنسینسس اور ایگزیکیوشن کلائنٹس دونوں کے ساتھ آتا ہے۔ اسے مختلف آلات پر چلایا جا سکتا ہے یہاں تک کہ بہت معمولی کمپیوٹنگ پاور کے ساتھ بھی۔ انحصار (dependencies) اور خود Nimbus کو انسٹال کرنے (opens in a new tab) کے بعد، آپ اس کا کنسینسس کلائنٹ چلا سکتے ہیں:
1nimbus_beacon_node \2 --network=mainnet \3 --web3-url=http://127.0.0.1:8551 \4 --rest \5 --jwt-secret="/path/to/jwtsecret"Prysm چلانا
Prysm اسکرپٹ کے ساتھ آتا ہے جو آسان خودکار انسٹالیشن کی اجازت دیتا ہے۔ تفصیلات Prysm کی دستاویزات (opens in a new tab) میں مل سکتی ہیں۔
1./prysm.sh beacon-chain \2 --mainnet \3 --datadir /data/ethereum \4 --execution-endpoint=http://localhost:8551 \5 --jwt-secret=/path/to/jwtsecretTeku چلانا
1teku --network mainnet \2 --data-path "/data/ethereum" \3 --ee-endpoint http://localhost:8551 \4 --ee-jwt-secret-file "/path/to/jwtsecret"جب کوئی کنسینسس کلائنٹ ڈپازٹ کنٹریکٹ پڑھنے اور ویلیڈیٹرز کی شناخت کرنے کے لیے ایگزیکیوشن کلائنٹ سے جڑتا ہے، تو یہ دوسرے بیکن نوڈ پیئرز سے بھی جڑتا ہے اور جینیسس (genesis) سے کنسینسس سلاٹس کو سنک کرنا شروع کر دیتا ہے۔ ایک بار جب بیکن نوڈ موجودہ ایپوک (epoch) تک پہنچ جاتا ہے، تو بیکن API آپ کے ویلیڈیٹرز کے لیے قابل استعمال ہو جاتا ہے۔ بیکن نوڈ APIs (opens in a new tab) کے بارے میں مزید جانیں۔
ویلیڈیٹرز شامل کرنا
ایک کنسینسس کلائنٹ ویلیڈیٹرز کے جڑنے کے لیے بیکن نوڈ کے طور پر کام کرتا ہے۔ ہر کنسینسس کلائنٹ کا اپنا ویلیڈیٹر سافٹ ویئر ہوتا ہے جسے اس کی متعلقہ دستاویزات میں تفصیل سے بیان کیا گیا ہے۔
اپنا ویلیڈیٹر چلانا سولو اسٹیکنگ کی اجازت دیتا ہے، جو ایتھیریم نیٹ ورک کو سپورٹ کرنے کا سب سے زیادہ اثر انگیز اور ٹرسٹ لیس طریقہ ہے۔ تاہم، اس کے لیے 32 ETH جمع کرنے کی ضرورت ہوتی ہے۔ کم رقم کے ساتھ اپنے نوڈ پر ویلیڈیٹر چلانے کے لیے، بغیر اجازت کے نوڈ آپریٹرز کے ساتھ ایک ڈی سینٹرلائزڈ پول، جیسے Rocket Pool (opens in a new tab)، آپ کی دلچسپی کا باعث ہو سکتا ہے۔
اسٹیکنگ اور ویلیڈیٹر کی (key) جنریشن کے ساتھ شروع کرنے کا سب سے آسان طریقہ Hoodi Testnet Staking Launchpad (opens in a new tab) کا استعمال کرنا ہے، جو آپ کو Hoodi پر نوڈز چلا کر (opens in a new tab) اپنے سیٹ اپ کو جانچنے کی اجازت دیتا ہے۔ جب آپ مین نیٹ کے لیے تیار ہوں، تو آپ Mainnet Staking Launchpad (opens in a new tab) کا استعمال کرتے ہوئے ان اقدامات کو دہرا سکتے ہیں۔
اسٹیکنگ کے اختیارات کے بارے میں جائزہ لینے کے لیے اسٹیکنگ کا صفحہ دیکھیں۔
نوڈ کا استعمال
ایگزیکیوشن کلائنٹس RPC API اینڈ پوائنٹس پیش کرتے ہیں جنہیں آپ ٹرانزیکشنز جمع کرانے، ایتھیریم نیٹ ورک پر اسمارٹ کنٹریکٹس کے ساتھ تعامل کرنے یا انہیں مختلف طریقوں سے تعینات کرنے کے لیے استعمال کر سکتے ہیں:
- مناسب پروٹوکول کے ساتھ انہیں دستی طور پر کال کرنا (مثلاً،
curlکا استعمال کرتے ہوئے) - فراہم کردہ کنسول کو منسلک کرنا (مثلاً،
geth attach) - web3 لائبریریوں کا استعمال کرتے ہوئے انہیں ایپلی کیشنز میں نافذ کرنا، مثلاً، web3.py (opens in a new tab)، ethers (opens in a new tab)
مختلف کلائنٹس میں RPC اینڈ پوائنٹس کا نفاذ مختلف ہوتا ہے۔ لیکن ایک معیاری JSON-RPC ہے جسے آپ ہر کلائنٹ کے ساتھ استعمال کر سکتے ہیں۔ جائزے کے لیے JSON-RPC کی دستاویزات پڑھیں۔ وہ ایپلی کیشنز جنہیں ایتھیریم نیٹ ورک سے معلومات درکار ہوتی ہیں وہ اس RPC کو استعمال کر سکتی ہیں۔ مثال کے طور پر، مقبول والیٹ MetaMask آپ کو اپنے RPC اینڈ پوائنٹ سے جڑنے (opens in a new tab) کی اجازت دیتا ہے جس کے مضبوط پرائیویسی اور سیکیورٹی فوائد ہیں۔
تمام کنسینسس کلائنٹس ایک بیکن API (opens in a new tab) کو بے نقاب کرتے ہیں جسے کنسینسس کلائنٹ کی حیثیت چیک کرنے یا Curl (opens in a new tab) جیسے ٹولز کا استعمال کرتے ہوئے درخواستیں بھیج کر بلاکس اور کنسینسس ڈیٹا ڈاؤن لوڈ کرنے کے لیے استعمال کیا جا سکتا ہے۔ اس بارے میں مزید معلومات ہر کنسینسس کلائنٹ کی دستاویزات میں مل سکتی ہیں۔
RPC تک پہنچنا
ایگزیکیوشن کلائنٹ JSON-RPC کے لیے ڈیفالٹ پورٹ 8545 ہے لیکن آپ کنفیگریشن میں مقامی اینڈ پوائنٹس کی پورٹس میں ترمیم کر سکتے ہیں۔ ڈیفالٹ کے طور پر، RPC انٹرفیس صرف آپ کے کمپیوٹر کے لوکل ہوسٹ پر قابل رسائی ہے۔ اسے دور سے قابل رسائی بنانے کے لیے، آپ ایڈریس کو 0.0.0.0 میں تبدیل کر کے اسے عوام کے سامنے بے نقاب کرنا چاہیں گے۔ یہ اسے مقامی نیٹ ورک اور پبلک IP ایڈریسز پر قابل رسائی بنا دے گا۔ زیادہ تر معاملات میں آپ کو اپنے راؤٹر پر پورٹ فارورڈنگ بھی سیٹ اپ کرنے کی ضرورت ہوگی۔
انٹرنیٹ پر پورٹس کو بے نقاب کرنے کے حوالے سے احتیاط برتیں کیونکہ اس سے انٹرنیٹ پر موجود کوئی بھی شخص آپ کے نوڈ کو کنٹرول کر سکے گا۔ بدنیتی پر مبنی عناصر آپ کے سسٹم کو گرانے یا آپ کے فنڈز چرانے کے لیے آپ کے نوڈ تک رسائی حاصل کر سکتے ہیں اگر آپ اپنے کلائنٹ کو والیٹ کے طور پر استعمال کر رہے ہیں۔
اس سے بچنے کا ایک طریقہ یہ ہے کہ ممکنہ طور پر نقصان دہ RPC طریقوں کو قابل ترمیم ہونے سے روکا جائے۔ مثال کے طور پر، Geth کے ساتھ، آپ ایک فلیگ کے ساتھ قابل ترمیم طریقوں کا اعلان کر سکتے ہیں: --http.api web3,eth,txpool۔
ایج لیئر APIs یا ویب سرور ایپلی کیشنز، جیسے Nginx کی ڈیولپمنٹ، اور انہیں آپ کے کلائنٹ کے مقامی ایڈریس اور پورٹ سے جوڑ کر RPC انٹرفیس تک رسائی کو بڑھایا جا سکتا ہے۔ درمیانی تہہ (middle layer) کا فائدہ اٹھانا ڈیولپرز کو RPC انٹرفیس سے محفوظ https کنکشنز کے لیے سرٹیفکیٹ سیٹ اپ کرنے کی صلاحیت بھی دے سکتا ہے۔
ویب سرور، پراکسی، یا بیرونی سامنا کرنے والا Rest API ترتیب دینا آپ کے نوڈ کے RPC اینڈ پوائنٹ تک رسائی فراہم کرنے کا واحد طریقہ نہیں ہے۔ عوامی طور پر قابل رسائی اینڈ پوائنٹ ترتیب دینے کا ایک اور پرائیویسی کو محفوظ رکھنے والا طریقہ یہ ہے کہ نوڈ کو اپنی Tor (opens in a new tab) اونین سروس (onion service) پر ہوسٹ کیا جائے۔ یہ آپ کو جامد پبلک IP ایڈریس یا کھلی پورٹس کے بغیر اپنے مقامی نیٹ ورک سے باہر RPC تک پہنچنے دے گا۔ تاہم، اس کنفیگریشن کا استعمال صرف Tor نیٹ ورک کے ذریعے RPC اینڈ پوائنٹ تک رسائی کی اجازت دے سکتا ہے جو تمام ایپلی کیشنز کے ذریعہ تعاون یافتہ نہیں ہے اور اس کے نتیجے میں کنکشن کے مسائل پیدا ہو سکتے ہیں۔
ایسا کرنے کے لیے، آپ کو اپنی اونین سروس (opens in a new tab) بنانی ہوگی۔ اپنی ہوسٹ کرنے کے لیے اونین سروس سیٹ اپ پر دستاویزات (opens in a new tab) دیکھیں۔ آپ اسے RPC پورٹ کی پراکسی کے ساتھ ویب سرور کی طرف یا صرف براہ راست RPC کی طرف اشارہ کر سکتے ہیں۔
آخر میں، اور اندرونی نیٹ ورکس تک رسائی فراہم کرنے کے سب سے مقبول طریقوں میں سے ایک VPN کنکشن کے ذریعے ہے۔ آپ کے استعمال کے کیس اور آپ کے نوڈ تک رسائی کی ضرورت والے صارفین کی تعداد پر منحصر ہے، ایک محفوظ VPN کنکشن ایک آپشن ہو سکتا ہے۔ OpenVPN (opens in a new tab) ایک مکمل خصوصیات والا SSL VPN ہے جو انڈسٹری کے معیاری SSL/TLS پروٹوکول کا استعمال کرتے ہوئے OSI لیئر 2 یا 3 محفوظ نیٹ ورک ایکسٹینشن کو نافذ کرتا ہے، سرٹیفکیٹس، اسمارٹ کارڈز، اور/یا صارف نام/پاس ورڈ کی اسناد پر مبنی لچکدار کلائنٹ کی توثیق کے طریقوں کو سپورٹ کرتا ہے، اور VPN ورچوئل انٹرفیس پر لاگو فائر وال کے قواعد کا استعمال کرتے ہوئے صارف یا گروپ کے لیے مخصوص رسائی کنٹرول کی پالیسیوں کی اجازت دیتا ہے۔
نوڈ کو آپریٹ کرنا
آپ کو باقاعدگی سے اپنے نوڈ کی نگرانی کرنی چاہیے تاکہ یہ یقینی بنایا جا سکے کہ یہ ٹھیک سے چل رہا ہے۔ آپ کو کبھی کبھار دیکھ بھال کرنے کی ضرورت پڑ سکتی ہے۔
نوڈ کو آن لائن رکھنا
آپ کے نوڈ کا ہر وقت آن لائن ہونا ضروری نہیں ہے، لیکن آپ کو اسے نیٹ ورک کے ساتھ سنک رکھنے کے لیے جتنا ممکن ہو آن لائن رکھنا چاہیے۔ آپ اسے دوبارہ شروع کرنے کے لیے بند کر سکتے ہیں، لیکن ذہن میں رکھیں کہ:
- اگر حالیہ اسٹیٹ ابھی بھی ڈسک پر لکھی جا رہی ہے تو بند ہونے میں چند منٹ لگ سکتے ہیں۔
- زبردستی بند کرنے سے ڈیٹا بیس کو نقصان پہنچ سکتا ہے جس کے لیے آپ کو پورے نوڈ کو دوبارہ سنک کرنے کی ضرورت ہوگی۔
- آپ کا کلائنٹ نیٹ ورک کے ساتھ سنک سے باہر ہو جائے گا اور جب آپ اسے دوبارہ شروع کریں گے تو اسے دوبارہ سنک کرنے کی ضرورت ہوگی۔ اگرچہ نوڈ وہیں سے سنک کرنا شروع کر سکتا ہے جہاں اسے آخری بار بند کیا گیا تھا، لیکن اس عمل میں وقت لگ سکتا ہے اس بات پر منحصر ہے کہ یہ کتنی دیر تک آف لائن رہا ہے۔
یہ کنسینسس لیئر ویلیڈیٹر نوڈز پر لاگو نہیں ہوتا ہے۔ آپ کے نوڈ کو آف لائن کرنے سے اس پر منحصر تمام خدمات متاثر ہوں گی۔ اگر آپ اسٹیکنگ کے مقاصد کے لیے نوڈ چلا رہے ہیں تو آپ کو ڈاؤن ٹائم کو جتنا ممکن ہو کم کرنے کی کوشش کرنی چاہیے۔
کلائنٹ سروسز بنانا
اسٹارٹ اپ پر اپنے کلائنٹس کو خود بخود چلانے کے لیے ایک سروس بنانے پر غور کریں۔ مثال کے طور پر، Linux سرورز پر، ایک اچھی پریکٹس یہ ہوگی کہ ایک سروس بنائی جائے، مثلاً، systemd کے ساتھ، جو محدود مراعات والے صارف کے تحت مناسب کنفیگریشن کے ساتھ کلائنٹ کو ایگزیکیوٹ کرے اور خود بخود دوبارہ شروع ہو جائے۔
کلائنٹس کو اپ ڈیٹ کرنا
آپ کو اپنے کلائنٹ سافٹ ویئر کو تازہ ترین سیکیورٹی پیچز، خصوصیات، اور EIPs کے ساتھ اپ ٹو ڈیٹ رکھنے کی ضرورت ہے۔ خاص طور پر ہارڈ فورکس سے پہلے، یقینی بنائیں کہ آپ کلائنٹ کے درست ورژنز چلا رہے ہیں۔
اہم نیٹ ورک اپ ڈیٹس سے پہلے، EF اپنے بلاگ (opens in a new tab) پر ایک پوسٹ شائع کرتا ہے۔ جب آپ کے نوڈ کو اپ ڈیٹ کی ضرورت ہو تو اپنے میل پر اطلاع حاصل کرنے کے لیے آپ ان اعلانات کو سبسکرائب کر سکتے ہیں (opens in a new tab)۔
کلائنٹس کو اپ ڈیٹ کرنا بہت آسان ہے۔ ہر کلائنٹ کی اپنی دستاویزات میں مخصوص ہدایات ہوتی ہیں، لیکن یہ عمل عام طور پر صرف تازہ ترین ورژن ڈاؤن لوڈ کرنا اور نئے ایگزیکیوٹیبل کے ساتھ کلائنٹ کو دوبارہ شروع کرنا ہے۔ کلائنٹ کو وہیں سے شروع کرنا چاہیے جہاں اس نے چھوڑا تھا، لیکن لاگو کردہ اپ ڈیٹس کے ساتھ۔
ہر کلائنٹ کے نفاذ میں ایک انسانی پڑھنے کے قابل ورژن اسٹرنگ ہوتی ہے جو پیئر ٹو پیئر پروٹوکول میں استعمال ہوتی ہے لیکن کمانڈ لائن سے بھی قابل رسائی ہے۔ یہ ورژن اسٹرنگ صارفین کو یہ چیک کرنے دیتی ہے کہ وہ درست ورژن چلا رہے ہیں اور بلاک ایکسپلوررز اور دیگر تجزیاتی ٹولز کو نیٹ ورک پر مخصوص کلائنٹس کی تقسیم کی مقدار کا تعین کرنے میں دلچسپی رکھنے کی اجازت دیتی ہے۔ ورژن اسٹرنگز کے بارے میں مزید معلومات کے لیے براہ کرم انفرادی کلائنٹ کی دستاویزات سے رجوع کریں۔
اضافی خدمات چلانا
اپنا نوڈ چلانا آپ کو وہ خدمات استعمال کرنے دیتا ہے جن کے لیے ایتھیریم کلائنٹ RPC تک براہ راست رسائی کی ضرورت ہوتی ہے۔ یہ ایتھیریم کے اوپر بنائی گئی خدمات ہیں جیسے لیئر 2 سلوشنز، والیٹس کے لیے بیک اینڈ، بلاک ایکسپلوررز، ڈیولپر ٹولز اور دیگر ایتھیریم انفراسٹرکچر۔
نوڈ کی نگرانی کرنا
اپنے نوڈ کی مناسب طریقے سے نگرانی کرنے کے لیے، میٹرکس جمع کرنے پر غور کریں۔ کلائنٹس میٹرکس اینڈ پوائنٹس فراہم کرتے ہیں تاکہ آپ اپنے نوڈ کے بارے میں جامع ڈیٹا حاصل کر سکیں۔ InfluxDB (opens in a new tab) یا Prometheus (opens in a new tab) جیسے ٹولز کا استعمال کرتے ہوئے ڈیٹا بیس بنائیں جنہیں آپ Grafana (opens in a new tab) جیسے سافٹ ویئر میں ویژولائزیشنز اور چارٹس میں تبدیل کر سکتے ہیں۔ اس سافٹ ویئر کو استعمال کرنے کے لیے بہت سے سیٹ اپ اور آپ کے نوڈ اور مجموعی طور پر نیٹ ورک کو ویژولائز کرنے کے لیے مختلف Grafana ڈیش بورڈز موجود ہیں۔ مثال کے طور پر، Geth کی نگرانی پر ٹیوٹوریل دیکھیں۔
اپنی نگرانی کے حصے کے طور پر، اپنی مشین کی کارکردگی پر نظر رکھنا یقینی بنائیں۔ آپ کے نوڈ کے ابتدائی سنک کے دوران، کلائنٹ سافٹ ویئر CPU اور RAM پر بہت بھاری ہو سکتا ہے۔ Grafana کے علاوہ، آپ ایسا کرنے کے لیے اپنے OS کی طرف سے پیش کردہ ٹولز جیسے htop یا uptime استعمال کر سکتے ہیں۔
مزید مطالعہ
- ایتھیریم اسٹیکنگ گائیڈز (opens in a new tab) - Somer Esat، اکثر اپ ڈیٹ کیا جاتا ہے
- گائیڈ | مین نیٹ پر ایتھیریم اسٹیکنگ کے لیے ویلیڈیٹر کیسے سیٹ اپ کریں (opens in a new tab) – CoinCashew، اکثر اپ ڈیٹ کیا جاتا ہے
- ٹیسٹ نیٹس پر ویلیڈیٹرز چلانے کے حوالے سے ETHStaker گائیڈز (opens in a new tab) – ETHStaker، باقاعدگی سے اپ ڈیٹ کیا جاتا ہے
- ایتھیریم نوڈز کے لیے نمونہ AWS بلاک چین نوڈ رنر ایپ (opens in a new tab) - AWS، اکثر اپ ڈیٹ کیا جاتا ہے
- نوڈ آپریٹرز کے لیے The Merge کے اکثر پوچھے گئے سوالات (opens in a new tab) - جولائی 2022
- ایتھیریم کا مکمل توثیق شدہ نوڈ بننے کے لیے ہارڈویئر کی ضروریات کا تجزیہ کرنا (opens in a new tab) – Albert Palau، 24 September 2018
- ایتھیریم فل نوڈز چلانا: بمشکل متحرک افراد کے لیے ایک گائیڈ (opens in a new tab) – Justin Leroux، 7 November 2019
- ایتھیریم مین نیٹ پر Hyperledger Besu نوڈ چلانا: فوائد، ضروریات، اور سیٹ اپ (opens in a new tab) – Felipe Faraggi، 7 May 2020
- نگرانی کے اسٹیک کے ساتھ Nethermind ایتھیریم کلائنٹ کو تعینات کرنا (opens in a new tab) – Nethermind.eth، 8 July 2020
