تشغيل عقدة إيثيريوم الخاصة بك
يوفر لك تشغيل عقدة خاصة بك فوائد متنوعة، ويفتح إمكانيات جديدة، ويساعد في دعم النظام البيئي. سترشدك هذه الصفحة خلال عملية تشغيل عقدتك الخاصة والمشاركة في التحقق من صحة معاملات إيثيريوم.
لاحظ أنه بعد الدمج، يلزم وجود عميلين لتشغيل عقدة إيثيريوم؛ عميل طبقة التنفيذ (EL) وعميل طبقة الإجماع (CL). ستوضح هذه الصفحة كيفية تثبيت وتكوين وربط هذين العميلين لتشغيل عقدة إيثيريوم.
المتطلبات الأساسية
يجب أن تفهم ما هي عقدة إيثيريوم ولماذا قد ترغب في تشغيل عميل. تمت تغطية هذا في العقد والعملاء.
إذا كنت جديدًا في موضوع تشغيل عقدة، أو تبحث عن مسار أقل تقنية، نوصي بالاطلاع أولاً على مقدمتنا السهلة الاستخدام حول تشغيل عقدة إيثيريوم.
اختيار النهج
الخطوة الأولى في تشغيل عقدتك هي اختيار النهج الخاص بك. بناءً على المتطلبات والإمكانيات المختلفة، يجب عليك تحديد تنفيذ العميل (لكل من عملاء التنفيذ والإجماع)، والبيئة (الأجهزة، النظام)، والمعلمات الخاصة بإعدادات العميل.
سترشدك هذه الصفحة خلال هذه القرارات وتساعدك في العثور على الطريقة الأنسب لتشغيل نسخة إيثيريوم الخاصة بك.
للاختيار من بين تطبيقات العملاء، راجع جميع عملاء التنفيذ وعملاء الإجماع المتاحين والجاهزين للعمل على الشبكة الرئيسية وتعرف على تنوع العملاء.
قرر ما إذا كنت تريد تشغيل البرنامج على أجهزتك الخاصة أو في السحابة، مع مراعاة متطلبات العملاء.
بعد إعداد البيئة، قم بتثبيت العملاء المختارين إما باستخدام واجهة سهلة للمبتدئين أو يدويًا باستخدام سطر الأوامر مع خيارات متقدمة.
عندما تكون العقدة قيد التشغيل وتقوم بالمزامنة، فأنت جاهز لاستخدامها، ولكن تأكد من مراقبة صيانتها.
البيئة والأجهزة
محلي أو سحابي
يمكن لعملاء إيثيريوم العمل على أجهزة الكمبيوتر الاستهلاكية ولا تتطلب أي أجهزة خاصة، مثل آلات التعدين على سبيل المثال. لذلك، لديك خيارات متنوعة لنشر العقدة بناءً على احتياجاتك. للتبسيط، دعنا نفكر في تشغيل عقدة على كل من جهاز فعلي محلي وخادم سحابي:
- السحابة
- يقدم المزودون وقت تشغيل عاليًا للخادم وعناوين IP عامة ثابتة
- قد يكون الحصول على خادم مخصص أو افتراضي أكثر راحة من بناء خادمك الخاص
- المقايضة هي الثقة في طرف ثالث - مزود الخادم
- بسبب حجم التخزين المطلوب لعقدة كاملة، قد يرتفع سعر الخادم المستأجر
- الأجهزة الخاصة
- نهج أكثر سيادة ومنزوع الثقة
- استثمار لمرة واحدة
- خيار لشراء أجهزة معدة مسبقًا
- يجب عليك إعداد الجهاز والشبكات فعليًا وصيانتها واستكشاف الأخطاء وإصلاحها المحتملة
كلا الخيارين لهما مزايا مختلفة ملخصة أعلاه. إذا كنت تبحث عن حل سحابي، فبالإضافة إلى العديد من مزودي الحوسبة السحابية التقليديين، هناك أيضًا خدمات تركز على نشر العقد. تحقق من العقد كخدمة لمزيد من الخيارات حول العقد المستضافة.
الأجهزة
ومع ذلك، لا ينبغي لشبكة لامركزية ومقاومة للرقابة أن تعتمد على مزودي الخدمات السحابية. بدلاً من ذلك، يعد تشغيل عقدتك على أجهزتك المحلية الخاصة أكثر صحة للنظام البيئي. تظهر التقديرات (opens in a new tab) أن حصة كبيرة من العقد تعمل على السحابة، مما قد يصبح نقطة فشل واحدة.
يمكن لعملاء إيثيريوم العمل على جهاز الكمبيوتر الخاص بك، أو الكمبيوتر المحمول، أو الخادم، أو حتى كمبيوتر أحادي اللوحة. في حين أن تشغيل العملاء على جهاز الكمبيوتر الشخصي الخاص بك ممكن، فإن وجود جهاز مخصص فقط لعقدتك يمكن أن يعزز بشكل كبير من أدائها وأمانها مع تقليل التأثير على جهاز الكمبيوتر الأساسي الخاص بك.
يمكن أن يكون استخدام أجهزتك الخاصة أمرًا سهلاً للغاية. هناك العديد من الخيارات البسيطة بالإضافة إلى الإعدادات المتقدمة للأشخاص الأكثر تقنية. لذلك دعونا نلقي نظرة على المتطلبات والوسائل لتشغيل عملاء إيثيريوم على جهازك.
المتطلبات
تختلف متطلبات الأجهزة حسب العميل ولكنها بشكل عام ليست عالية جدًا نظرًا لأن العقدة تحتاج فقط إلى البقاء متزامنة. لا تخلط بينه وبين التعدين، الذي يتطلب قوة حوسبة أكبر بكثير. ومع ذلك، يتحسن وقت المزامنة والأداء مع الأجهزة الأكثر قوة.
قبل تثبيت أي عميل، يرجى التأكد من أن جهاز الكمبيوتر الخاص بك لديه موارد كافية لتشغيله. يمكنك العثور على الحد الأدنى من المتطلبات والموصى بها أدناه.
عنق الزجاجة لأجهزتك هو في الغالب مساحة القرص. تعد مزامنة سلسلة كتل إيثيريوم مكثفة للغاية من حيث الإدخال/الإخراج وتتطلب مساحة كبيرة. من الأفضل أن يكون لديك محرك أقراص ذو حالة صلبة (SSD) مع مئات الجيجابايت من المساحة الحرة المتبقية حتى بعد المزامنة.
يعتمد حجم قاعدة البيانات وسرعة المزامنة الأولية على العميل المختار وتكوينه واستراتيجية المزامنة.
تأكد أيضًا من أن اتصالك بالإنترنت غير مقيد بـ سقف النطاق الترددي (opens in a new tab). يوصى باستخدام اتصال غير محدود نظرًا لأن المزامنة الأولية والبيانات التي يتم بثها إلى الشبكة قد تتجاوز الحد الخاص بك.
نظام التشغيل
يدعم جميع العملاء أنظمة التشغيل الرئيسية - Linux وmacOS وWindows. هذا يعني أنه يمكنك تشغيل العقد على أجهزة سطح المكتب أو الخوادم العادية بنظام التشغيل (OS) الذي يناسبك بشكل أفضل. تأكد من تحديث نظام التشغيل الخاص بك لتجنب المشكلات المحتملة والثغرات الأمنية.
الحد الأدنى من المتطلبات
- وحدة معالجة مركزية (CPU) بـ 2+ نواة
- ذاكرة وصول عشوائي (RAM) بسعة 8 GB
- محرك أقراص ذو حالة صلبة (SSD) بسعة 2TB
- نطاق ترددي 10+ MBit/s
المواصفات الموصى بها
- وحدة معالجة مركزية (CPU) سريعة بـ 4+ نواة
- ذاكرة وصول عشوائي (RAM) بسعة 16 GB+
- محرك أقراص ذو حالة صلبة (SSD) سريع بسعة 2+TB
- نطاق ترددي 25+ MBit/s
سيؤثر وضع المزامنة والعميل الذي تختاره على متطلبات المساحة، لكننا قدرنا مساحة القرص التي ستحتاجها لكل عميل أدناه.
| العميل | حجم القرص (مزامنة سريعة) | حجم القرص (أرشيف كامل) |
|---|---|---|
| بيسو | 800GB+ | 12TB+ |
| إريغون | غير متوفر | 2.5TB+ |
| جو إيثريوم (geth) | 500GB+ | 12TB+ |
| نيذرميند | 500GB+ | 12TB+ |
| ريث | غير متوفر | 2.2TB+ |
- ملاحظة: لا يقدم إريغون وريث مزامنة سريعة، ولكن التقليم الكامل ممكن (حوالي 2TB لإريغون، وحوالي 1.2TB لريث)
بالنسبة لعملاء الإجماع، تعتمد متطلبات المساحة أيضًا على تنفيذ العميل والميزات الممكنة (مثل مُقْتَطِع المُدَقِّق) ولكن بشكل عام احسب 200GB أخرى مطلوبة لبيانات المنارة. مع وجود عدد كبير من المُدَقِّقين، ينمو حمل النطاق الترددي أيضًا. يمكنك العثور على تفاصيل حول متطلبات عميل الإجماع في هذا التحليل (opens in a new tab).
حلول التوصيل والتشغيل
الخيار الأسهل لتشغيل عقدة باستخدام أجهزتك الخاصة هو استخدام صناديق التوصيل والتشغيل. توفر الأجهزة المعدة مسبقًا من البائعين التجربة الأكثر وضوحًا: اطلب، وصل، شغل. كل شيء معد مسبقًا ويعمل تلقائيًا مع دليل بديهي ولوحة معلومات لمراقبة البرنامج والتحكم فيه.
إيثيريوم على كمبيوتر أحادي اللوحة
طريقة سهلة ورخيصة لتشغيل عقدة إيثيريوم هي استخدام كمبيوتر أحادي اللوحة، حتى مع بنية ARM مثل Raspberry Pi. يوفر إيثيريوم على ARM (opens in a new tab) صورًا سهلة التشغيل لعملاء تنفيذ وإجماع متعددين لـ Raspberry Pi ولوحات ARM الأخرى.
الأجهزة الصغيرة وبأسعار معقولة وفعالة مثل هذه مثالية لتشغيل عقدة في المنزل ولكن ضع في اعتبارك أداءها المحدود.
تشغيل العقدة
يمكن إجراء إعداد العميل الفعلي إما باستخدام مشغلات آلية أو يدويًا، عن طريق إعداد برنامج العميل مباشرة.
بالنسبة للمستخدمين الأقل تقدمًا، فإن النهج الموصى به هو استخدام مشغل، وهو برنامج يرشدك خلال التثبيت ويقوم بأتمتة عملية إعداد العميل. ومع ذلك، إذا كان لديك بعض الخبرة في استخدام سطر الأوامر، فيجب أن تكون خطوات الإعداد اليدوي بسيطة للمتابعة.
الإعداد الموجه
تهدف العديد من المشاريع سهلة الاستخدام إلى تحسين تجربة إعداد العميل. توفر هذه المشغلات تثبيتًا وتكوينًا تلقائيًا للعميل، حتى أن بعضها يقدم واجهة رسومية للإعداد الموجه ومراقبة العملاء.
فيما يلي بعض المشاريع التي يمكن أن تساعدك في تثبيت العملاء والتحكم فيهم ببضع نقرات فقط:
- DAppNode (opens in a new tab) - لا يأتي DAppNode فقط مع جهاز من بائع. يمكن استخدام البرنامج، وهو مشغل العقدة الفعلي ومركز التحكم مع العديد من الميزات، على أجهزة عشوائية.
- EthPillar (opens in a new tab) - أسرع وأسهل طريقة لإعداد عقدة كاملة. أداة إعداد بسطر واحد وواجهة مستخدم نصية (TUI) لإدارة العقدة. مجاني. مفتوح المصدر. سلع عامة لإيثيريوم بواسطة المخزنين الفرديين. دعم ARM64 وAMD64.
- eth-docker (opens in a new tab) - إعداد آلي باستخدام Docker يركز على التخزين السهل والآمن، يتطلب معرفة أساسية بسطر الأوامر وDocker، موصى به للمستخدمين الأكثر تقدمًا قليلاً.
- Stereum (opens in a new tab) - مشغل لتثبيت العملاء على خادم بعيد عبر اتصال SSH مع دليل إعداد واجهة مستخدم رسومية (GUI)، ومركز تحكم، والعديد من الميزات الأخرى.
- Sedge (opens in a new tab) - أداة إعداد العقدة التي تنشئ تلقائيًا تكوين Docker باستخدام معالج واجهة سطر الأوامر (CLI). مكتوب بلغة Go بواسطة نيذرميند.
- Chainstack Self-Hosted (opens in a new tab) - واجهة مستخدم ويب وCLI لنشر عملاء التنفيذ والإجماع على Kubernetes. يتضمن تمهيد Snapshot ومراقبة مدمجة. مجاني. لا يتطلب حساب Chainstack. تم بناؤه بواسطة Chainstack.
إعداد العملاء يدويًا
الخيار الآخر هو تنزيل برنامج العميل والتحقق منه وتكوينه يدويًا. حتى إذا كان بعض العملاء يقدمون واجهة رسومية، فإن الإعداد اليدوي لا يزال يتطلب مهارات أساسية في سطر الأوامر ولكنه يوفر تنوعًا أكبر بكثير.
كما أوضحنا سابقًا، سيتطلب إعداد عقدة إيثيريوم الخاصة بك تشغيل زوج من عملاء الإجماع والتنفيذ. قد يتضمن بعض العملاء عميل خفيف من النوع الآخر ويقومون بالمزامنة دون الحاجة إلى أي برامج أخرى. ومع ذلك، يتطلب التحقق الكامل منزوع الثقة كلا التنفيذين.
الحصول على برنامج العميل
أولاً، تحتاج إلى الحصول على برنامج عميل التنفيذ وعميل الإجماع المفضل لديك.
يمكنك ببساطة تنزيل تطبيق قابل للتنفيذ أو حزمة تثبيت تناسب نظام التشغيل والبنية الخاصة بك. تحقق دائمًا من التوقيعات والمجاميع الاختبارية للحزم التي تم تنزيلها. يقدم بعض العملاء أيضًا مستودعات أو صور Docker لتسهيل التثبيت والتحديثات. جميع العملاء مفتوحو المصدر، لذا يمكنك أيضًا بناؤهم من المصدر. هذه طريقة أكثر تقدمًا، ولكن في بعض الحالات، قد تكون مطلوبة.
يتم توفير إرشادات تثبيت كل عميل في الوثائق المرتبطة في قوائم العملاء أعلاه.
فيما يلي صفحات إصدار العملاء حيث يمكنك العثور على الثنائيات المبنية مسبقًا أو إرشادات التثبيت:
عملاء التنفيذ
- بيسو (opens in a new tab)
- إريغون (opens in a new tab)
- جو إيثريوم (geth) (opens in a new tab)
- نيذرميند (opens in a new tab)
- ريث (opens in a new tab)
تجدر الإشارة أيضًا إلى أن تنوع العملاء يمثل مشكلة في طبقة التنفيذ. يوصى بأن يفكر القراء في تشغيل عميل تنفيذ أقلية.
عملاء الإجماع
- لايتهاوس (opens in a new tab)
- لودستار (opens in a new tab) (لا يوفر ثنائيًا مبنيًا مسبقًا، فقط صورة Docker أو ليتم بناؤه من المصدر)
- نيمبوس (opens in a new tab)
- برايزم (opens in a new tab)
- تيكو (opens in a new tab)
يعد تنوع العملاء أمرًا بالغ الأهمية لعقد الإجماع التي تشغل المُدَقِّقين. إذا كانت غالبية المُدَقِّقين يقومون بتشغيل تنفيذ عميل واحد، فإن أمان الشبكة معرض للخطر. لذلك يوصى بالتفكير في اختيار عميل أقلية.
اطلع على أحدث استخدام لعملاء الشبكة (opens in a new tab) وتعرف على المزيد حول تنوع العملاء.
التحقق من البرنامج
عند تنزيل برنامج من الإنترنت، يوصى بالتحقق من سلامته. هذه الخطوة اختيارية ولكن بشكل خاص مع قطعة بنية تحتية حاسمة مثل عميل إيثيريوم، من المهم أن تكون على دراية بنواقل الهجوم المحتملة وتجنبها. إذا قمت بتنزيل ثنائي مبني مسبقًا، فأنت بحاجة إلى الوثوق به والمخاطرة بأن المهاجم قد يستبدل الملف القابل للتنفيذ بآخر ضار.
يوقع المطورون الثنائيات المصدرة بمفاتيح PGP الخاصة بهم حتى تتمكن من التحقق تشفيريًا من أنك تقوم بتشغيل البرنامج الذي قاموا بإنشائه بالضبط. تحتاج فقط إلى الحصول على المفاتيح العامة التي يستخدمها المطورون، والتي يمكن العثور عليها في صفحات إصدار العميل أو في الوثائق. بعد تنزيل إصدار العميل وتوقيعه، يمكنك استخدام تطبيق PGP، على سبيل المثال، GnuPG (opens in a new tab) للتحقق منها بسهولة. تحقق من برنامج تعليمي حول التحقق من البرامج مفتوحة المصدر باستخدام gpg على Linux (opens in a new tab) أو Windows/macOS (opens in a new tab).
شكل آخر من أشكال التحقق هو التأكد من أن التجزئة، وهي بصمة تشفير فريدة، للبرنامج الذي قمت بتنزيله تتطابق مع تلك التي قدمها المطورون. هذا أسهل من استخدام PGP، وبعض العملاء يقدمون هذا الخيار فقط. ما عليك سوى تشغيل دالة تجزئة على البرنامج الذي تم تنزيله ومقارنتها بتلك الموجودة في صفحة الإصدار. على سبيل المثال:
sha256sum teku-22.6.1.tar.gz
9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
إعداد العميل
بعد تثبيت برنامج العميل أو تنزيله أو تصريفه، تكون جاهزًا لتشغيله. هذا يعني فقط أنه يجب تنفيذه بالتكوين المناسب. يقدم العملاء خيارات تكوين غنية، والتي يمكن أن تمكن ميزات مختلفة.
لنبدأ بالخيارات التي يمكن أن تؤثر بشكل كبير على أداء العميل واستخدام البيانات. تمثل أوضاع المزامنة طرقًا مختلفة لتنزيل بيانات سلسلة الكتل والتحقق من صحتها. قبل بدء تشغيل العقدة، يجب أن تقرر الشبكة ووضع المزامنة الذي ستستخدمه. أهم الأشياء التي يجب مراعاتها هي مساحة القرص، ووقت المزامنة الذي سيحتاجه العميل. انتبه إلى وثائق العميل لتحديد وضع المزامنة الافتراضي. إذا لم يناسبك ذلك، فاختر وضعًا آخر بناءً على مستوى الأمان والبيانات المتاحة والتكلفة. بصرف النظر عن خوارزمية المزامنة، يمكنك أيضًا تعيين تقليم لأنواع مختلفة من البيانات القديمة. يتيح التقليم حذف البيانات القديمة، أي إزالة عقد شجرة الحالة التي لا يمكن الوصول إليها من الكتل الحديثة.
خيارات التكوين الأساسية الأخرى هي، على سبيل المثال، اختيار شبكة - الشبكة الرئيسية أو شبكات الاختبار، وتمكين نقطة نهاية HTTP لـ RPC أو WebSockets، وما إلى ذلك. يمكنك العثور على جميع الميزات والخيارات في وثائق العميل. يمكن تعيين تكوينات العميل المختلفة عن طريق تنفيذ العميل مع العلامات المقابلة مباشرة في واجهة سطر الأوامر (CLI) أو ملف التكوين. يختلف كل عميل قليلاً؛ يرجى الرجوع دائمًا إلى وثائقه الرسمية أو صفحة المساعدة للحصول على تفاصيل حول خيارات التكوين.
لأغراض الاختبار، قد تفضل تشغيل عميل على إحدى شبكات الاختبار. راجع نظرة عامة على الشبكات المدعومة.
يمكن العثور على أمثلة لتشغيل عملاء التنفيذ بتكوين أساسي في القسم التالي.
بدء تشغيل عميل التنفيذ
قبل بدء تشغيل برنامج عميل إيثيريوم، قم بإجراء فحص أخير للتأكد من أن بيئتك جاهزة. على سبيل المثال، تأكد من:
- وجود مساحة قرص كافية بالنظر إلى الشبكة ووضع المزامنة المختارين.
- عدم توقف الذاكرة ووحدة المعالجة المركزية بسبب برامج أخرى.
- تحديث نظام التشغيل إلى أحدث إصدار.
- أن النظام يحتوي على الوقت والتاريخ الصحيحين.
- أن جهاز التوجيه وجدار الحماية الخاصين بك يقبلان الاتصالات على منافذ الاستماع. افتراضيًا، يستخدم عملاء إيثيريوم منفذ استماع (TCP) ومنفذ اكتشاف (UDP)، وكلاهما على 30303 افتراضيًا.
قم بتشغيل العميل الخاص بك على شبكة اختبار أولاً للمساعدة في التأكد من أن كل شيء يعمل بشكل صحيح.
تحتاج إلى الإعلان عن أي إعدادات عميل ليست افتراضية في البداية. يمكنك استخدام العلامات أو ملف التكوين للإعلان عن التكوين المفضل لديك. تختلف مجموعة الميزات وبناء جملة التكوين لكل عميل. تحقق من وثائق العميل الخاص بك للحصول على التفاصيل.
يتواصل عملاء التنفيذ والإجماع عبر نقطة نهاية مصادق عليها محددة في Engine API (opens in a new tab). من أجل الاتصال بعميل إجماع، يجب أن يقوم عميل التنفيذ بإنشاء jwtsecret (opens in a new tab) في مسار معروف. لأسباب تتعلق بالأمان والاستقرار، يجب تشغيل العملاء على نفس الجهاز، ويجب أن يعرف كلا العميلين هذا المسار حيث يتم استخدامه لمصادقة اتصال RPC محلي بينهما. يجب أن يحدد عميل التنفيذ أيضًا منفذ استماع لواجهات برمجة التطبيقات (APIs) المصادق عليها.
يتم إنشاء هذا الرمز المميز تلقائيًا بواسطة برنامج العميل، ولكن في بعض الحالات، قد تحتاج إلى القيام بذلك بنفسك. يمكنك إنشاؤه باستخدام OpenSSL (opens in a new tab):
openssl rand -hex 32 > jwtsecret
تشغيل عميل التنفيذ
سيرشدك هذا القسم خلال بدء تشغيل عملاء التنفيذ. إنه يعمل فقط كمثال لتكوين أساسي، والذي سيبدأ تشغيل العميل بهذه الإعدادات:
- يحدد الشبكة المراد الاتصال بها، الشبكة الرئيسية في أمثلتنا
- يمكنك بدلاً من ذلك اختيار إحدى شبكات الاختبار للاختبار الأولي لإعدادك
- يحدد دليل البيانات، حيث سيتم تخزين جميع البيانات بما في ذلك سلسلة الكتل
- تأكد من استبدال المسار بمسار حقيقي، على سبيل المثال، يشير إلى محرك الأقراص الخارجي الخاص بك
- يمكن واجهات للتواصل مع العميل
- بما في ذلك JSON-RPC وEngine API للتواصل مع عميل الإجماع
- يحدد مسار
jwtsecretلواجهة برمجة التطبيقات المصادق عليها- تأكد من استبدال مسار المثال بمسار حقيقي يمكن للعملاء الوصول إليه، على سبيل المثال،
/tmp/jwtsecret
- تأكد من استبدال مسار المثال بمسار حقيقي يمكن للعملاء الوصول إليه، على سبيل المثال،
يرجى أن تضع في اعتبارك أن هذا مجرد مثال أساسي، وسيتم تعيين جميع الإعدادات الأخرى على الوضع الافتراضي. انتبه إلى وثائق كل عميل للتعرف على القيم الافتراضية والإعدادات والميزات. لمزيد من الميزات، على سبيل المثال لتشغيل المُدَقِّقين، والمراقبة، وما إلى ذلك، يرجى الرجوع إلى وثائق العميل المحدد.
لاحظ أن الشرطات المائلة العكسية
\في الأمثلة هي لأغراض التنسيق فقط؛ يمكن تحديد علامات التكوين في سطر واحد.
تشغيل بيسو
يبدأ هذا المثال تشغيل بيسو على الشبكة الرئيسية، ويخزن بيانات سلسلة الكتل بالتنسيق الافتراضي في /data/ethereum، ويمكن JSON-RPC وEngine RPC لتوصيل عميل الإجماع. تتم مصادقة Engine API باستخدام الرمز المميز jwtsecret ويسمح فقط بالمكالمات من localhost.
besu --network=mainnet \
--data-path=/data/ethereum \
--rpc-http-enabled=true \
--engine-rpc-enabled=true \
--engine-host-allowlist="*" \
--engine-jwt-enabled=true \
--engine-jwt-secret=/path/to/jwtsecret
يأتي بيسو أيضًا مع خيار مشغل سيطرح سلسلة من الأسئلة وينشئ ملف التكوين. قم بتشغيل المشغل التفاعلي باستخدام:
besu --Xlauncher
تحتوي وثائق بيسو (opens in a new tab) على خيارات إضافية وتفاصيل التكوين.
تشغيل إريغون
يبدأ هذا المثال تشغيل إريغون على الشبكة الرئيسية، ويخزن بيانات سلسلة الكتل في /data/ethereum، ويمكن JSON-RPC، ويحدد مساحات الأسماء المسموح بها ويمكن المصادقة لتوصيل عميل الإجماع الذي يتم تحديده بواسطة مسار jwtsecret.
erigon --chain mainnet \
--datadir /data/ethereum \
--http --http.api=engine,eth,web3,net \
--authrpc.jwtsecret=/path/to/jwtsecret
يقوم إريغون افتراضيًا بإجراء مزامنة كاملة مع محرك أقراص ثابتة (HDD) بسعة 8GB مما سينتج عنه أكثر من 2TB من بيانات الأرشيف. تأكد من أن datadir يشير إلى قرص به مساحة خالية كافية أو ابحث في علامة --prune التي يمكنها تقليم أنواع مختلفة من البيانات. تحقق من --help الخاص بإريغون لمعرفة المزيد.
تشغيل جو إيثريوم (geth)
يبدأ هذا المثال تشغيل جو إيثريوم (geth) على الشبكة الرئيسية، ويخزن بيانات سلسلة الكتل في /data/ethereum، ويمكن JSON-RPC ويحدد مساحات الأسماء المسموح بها. كما أنه يمكن المصادقة لتوصيل عميل الإجماع الذي يتطلب مسارًا إلى jwtsecret وأيضًا خيار يحدد الاتصالات المسموح بها، في مثالنا فقط من localhost.
geth --mainnet \
--datadir "/data/ethereum" \
--http --authrpc.addr localhost \
--authrpc.vhosts="localhost" \
--authrpc.port 8551
--authrpc.jwtsecret=/path/to/jwtsecret
تحقق من الوثائق لجميع خيارات التكوين (opens in a new tab) وتعرف على المزيد حول تشغيل جو إيثريوم (geth) مع عميل إجماع (opens in a new tab).
تشغيل نيذرميند
يقدم نيذرميند خيارات تثبيت (opens in a new tab) متنوعة. تأتي الحزمة مع ثنائيات مختلفة، بما في ذلك مشغل مع إعداد موجه، والذي سيساعدك على إنشاء التكوين بشكل تفاعلي. بدلاً من ذلك، تجد Runner وهو الملف القابل للتنفيذ نفسه ويمكنك فقط تشغيله باستخدام علامات التكوين. يتم تمكين JSON-RPC افتراضيًا.
Nethermind.Runner --config mainnet \
--datadir /data/ethereum \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
تقدم وثائق نيذرميند دليلاً كاملاً (opens in a new tab) حول تشغيل نيذرميند مع عميل الإجماع.
سيبدأ عميل التنفيذ وظائفه الأساسية، ونقاط النهاية المختارة، ويبدأ في البحث عن أقران. بعد اكتشاف الأقران بنجاح، يبدأ العميل في المزامنة. سينتظر عميل التنفيذ اتصالاً من عميل الإجماع. ستكون بيانات سلسلة الكتل الحالية متاحة بمجرد مزامنة العميل بنجاح مع الحالة الحالية.
تشغيل ريث
يبدأ هذا المثال تشغيل ريث على الشبكة الرئيسية، باستخدام موقع البيانات الافتراضي. يمكن مصادقة JSON-RPC وEngine RPC لتوصيل عميل الإجماع الذي يتم تحديده بواسطة مسار jwtsecret، مع السماح فقط بالمكالمات من localhost.
reth node \
--authrpc.jwtsecret /path/to/jwtsecret \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551
راجع تكوين ريث (opens in a new tab) لمعرفة المزيد حول أدلة البيانات الافتراضية. تحتوي وثائق ريث (opens in a new tab) على خيارات إضافية وتفاصيل التكوين.
بدء تشغيل عميل الإجماع
يجب بدء تشغيل عميل الإجماع بتكوين المنفذ الصحيح لإنشاء اتصال RPC محلي بعميل التنفيذ. يجب تشغيل عملاء الإجماع مع منفذ عميل التنفيذ المكشوف كوسيطة تكوين.
يحتاج عميل الإجماع أيضًا إلى مسار jwt-secret الخاص بعميل التنفيذ من أجل مصادقة اتصال RPC بينهما. على غرار أمثلة التنفيذ أعلاه، يحتوي كل عميل إجماع على علامة تكوين تأخذ مسار ملف الرمز المميز jwt كوسيطة. يجب أن يكون هذا متسقًا مع مسار jwtsecret المقدم لعميل التنفيذ.
إذا كنت تخطط لتشغيل مُدَقِّق، فتأكد من إضافة علامة تكوين تحدد عنوان إيثيريوم لمستلم الرسوم. هذا هو المكان الذي تتراكم فيه مكافآت إيثر للمُدَقِّق الخاص بك. يحتوي كل عميل إجماع على خيار، على سبيل المثال، --suggested-fee-recipient=0xabcd1، يأخذ عنوان إيثيريوم كوسيطة.
عند بدء تشغيل عقدة المنارة على شبكة اختبار، يمكنك توفير وقت مزامنة كبير باستخدام نقطة نهاية عامة لـ مزامنة نقطة فحص (opens in a new tab).
تشغيل عميل الإجماع
تشغيل لايتهاوس
قبل تشغيل لايتهاوس، تعرف على المزيد حول كيفية تثبيته وتكوينه في كتاب لايتهاوس (opens in a new tab).
lighthouse beacon_node \
--network mainnet \
--datadir /data/ethereum \
--http \
--execution-endpoint http://127.0.0.1:8551 \
--execution-jwt /path/to/jwtsecret
تشغيل لودستار
قم بتثبيت برنامج لودستار عن طريق تصريفه أو تنزيل صورة Docker. تعرف على المزيد في الوثائق (opens in a new tab) ودليل الإعداد (opens in a new tab) الأكثر شمولاً.
lodestar beacon \
--dataDir="/data/ethereum" \
--network=mainnet \
--eth1.enabled=true \
--execution.urls="http://127.0.0.1:8551" \
--jwt-secret="/path/to/jwtsecret"
تشغيل نيمبوس
يأتي نيمبوس مع كل من عملاء الإجماع والتنفيذ. يمكن تشغيله على أجهزة مختلفة حتى مع قوة حوسبة متواضعة للغاية. بعد تثبيت التبعيات ونيمبوس نفسه (opens in a new tab)، يمكنك تشغيل عميل الإجماع الخاص به:
nimbus_beacon_node \
--network=mainnet \
--web3-url=http://127.0.0.1:8551 \
--rest \
--jwt-secret="/path/to/jwtsecret"
تشغيل برايزم
يأتي برايزم مع برنامج نصي يسمح بالتثبيت التلقائي السهل. يمكن العثور على التفاصيل في وثائق برايزم (opens in a new tab).
./prysm.sh beacon-chain \
--mainnet \
--datadir /data/ethereum \
--execution-endpoint=http://localhost:8551 \
--jwt-secret=/path/to/jwtsecret
تشغيل تيكو
teku --network mainnet \
--data-path "/data/ethereum" \
--ee-endpoint http://localhost:8551 \
--ee-jwt-secret-file "/path/to/jwtsecret"
عندما يتصل عميل الإجماع بعميل التنفيذ لقراءة عقد الإيداع وتحديد المُدَقِّقين، فإنه يتصل أيضًا بأقران عقدة المنارة الآخرين ويبدأ في مزامنة فتحات الإجماع من التكوين. بمجرد وصول عقدة المنارة إلى الحقبة الحالية، تصبح Beacon API قابلة للاستخدام للمُدَقِّقين الخاصين بك. تعرف على المزيد حول واجهات برمجة تطبيقات عقدة المنارة (opens in a new tab).
إضافة المُدَقِّقين
يعمل عميل الإجماع كعقدة المنارة ليتصل بها المُدَقِّقون. يحتوي كل عميل إجماع على برنامج المُدَقِّق الخاص به الموصوف بالتفصيل في وثائقه الخاصة.
يسمح تشغيل المُدَقِّق الخاص بك بـ التخزين الفردي، وهي الطريقة الأكثر تأثيرًا ومنزوعة الثقة لدعم شبكة إيثيريوم. ومع ذلك، يتطلب هذا إيداع 32 ETH. لتشغيل مُدَقِّق على عقدتك الخاصة بمبلغ أصغر، قد يثير اهتمامك مجمع لامركزي مع مشغلي عقد غير مقيدين بإذن، مثل Rocket Pool (opens in a new tab).
أسهل طريقة للبدء في التخزين وإنشاء مفتاح المُدَقِّق هي استخدام منصة إطلاق التخزين لشبكة اختبار Hoodi (opens in a new tab)، والتي تتيح لك اختبار إعدادك عن طريق تشغيل العقد على Hoodi (opens in a new tab). عندما تكون جاهزًا للشبكة الرئيسية، يمكنك تكرار هذه الخطوات باستخدام منصة إطلاق التخزين للشبكة الرئيسية (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 هذا. على سبيل المثال، تتيح لك المحفظة الشهيرة ميتاماسك الاتصال بنقطة نهاية RPC الخاصة بك (opens in a new tab) والتي تتمتع بفوائد قوية في الخصوصية والأمان.
يعرض جميع عملاء الإجماع Beacon 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.
يمكن توسيع الوصول إلى واجهة RPC من خلال تطوير واجهات برمجة تطبيقات طبقة الحافة أو تطبيقات خادم الويب، مثل Nginx، وتوصيلها بالعنوان المحلي والمنفذ الخاص بعميلك. يمكن أن تتيح الاستفادة من طبقة وسطى أيضًا للمطورين القدرة على إعداد شهادة لاتصالات https الآمنة بواجهة RPC.
لا يعد إعداد خادم ويب أو وكيل أو Rest API خارجي الطريقة الوحيدة لتوفير الوصول إلى نقطة نهاية RPC لعقدتك. هناك طريقة أخرى تحافظ على الخصوصية لإعداد نقطة نهاية يمكن الوصول إليها بشكل عام وهي استضافة العقدة على خدمة onion الخاصة بك على Tor (opens in a new tab). سيتيح لك ذلك الوصول إلى RPC خارج شبكتك المحلية بدون عنوان IP عام ثابت أو منافذ مفتوحة. ومع ذلك، قد يسمح استخدام هذا التكوين فقط بالوصول إلى نقطة نهاية RPC عبر شبكة Tor والتي لا تدعمها جميع التطبيقات وقد تؤدي إلى مشكلات في الاتصال.
للقيام بذلك، يجب عليك إنشاء خدمة onion (opens in a new tab) الخاصة بك. تحقق من الوثائق (opens in a new tab) حول إعداد خدمة onion لاستضافة خدمتك الخاصة. يمكنك توجيهها إلى خادم ويب مع وكيل لمنفذ RPC أو مباشرة إلى RPC.
أخيرًا، ومن أكثر الطرق شيوعًا لتوفير الوصول إلى الشبكات الداخلية هو من خلال اتصال VPN. اعتمادًا على حالة الاستخدام الخاصة بك وكمية المستخدمين الذين يحتاجون إلى الوصول إلى عقدتك، قد يكون اتصال VPN الآمن خيارًا. OpenVPN (opens in a new tab) عبارة عن SSL VPN كامل الميزات ينفذ امتداد شبكة آمن للطبقة 2 أو 3 من OSI باستخدام بروتوكول SSL/TLS المتوافق مع معايير الصناعة، ويدعم طرق مصادقة مرنة للعميل تعتمد على الشهادات، والبطاقات الذكية، و/أو بيانات اعتماد اسم المستخدم/كلمة المرور، ويسمح بسياسات التحكم في الوصول الخاصة بالمستخدم أو المجموعة باستخدام قواعد جدار الحماية المطبقة على الواجهة الافتراضية لـ VPN.
تشغيل العقدة
يجب عليك مراقبة عقدتك بانتظام للتأكد من أنها تعمل بشكل صحيح. قد تحتاج إلى إجراء صيانة عرضية.
إبقاء العقدة متصلة بالإنترنت
لا يجب أن تكون عقدتك متصلة بالإنترنت طوال الوقت، ولكن يجب أن تبقيها متصلة بالإنترنت قدر الإمكان لإبقائها متزامنة مع الشبكة. يمكنك إيقاف تشغيلها لإعادة تشغيلها، ولكن ضع في اعتبارك ما يلي:
- يمكن أن يستغرق إيقاف التشغيل بضع دقائق إذا كانت الحالة الأخيرة لا تزال قيد الكتابة على القرص.
- يمكن أن يؤدي إيقاف التشغيل القسري إلى إتلاف قاعدة البيانات مما يتطلب منك إعادة مزامنة العقدة بأكملها.
- سيخرج عميلك عن المزامنة مع الشبكة وسيحتاج إلى إعادة المزامنة عند إعادة تشغيله. في حين أن العقدة يمكن أن تبدأ المزامنة من حيث تم إيقاف تشغيلها آخر مرة، فقد تستغرق العملية وقتًا اعتمادًا على المدة التي كانت فيها غير متصلة بالإنترنت.
لا ينطبق هذا على عقد المُدَقِّق في طبقة الإجماع. سيؤثر فصل عقدتك عن الإنترنت على جميع الخدمات التي تعتمد عليها. إذا كنت تقوم بتشغيل عقدة لأغراض التخزين، فيجب أن تحاول تقليل وقت التوقف عن العمل قدر الإمكان.
إنشاء خدمات العميل
فكر في إنشاء خدمة لتشغيل عملائك تلقائيًا عند بدء التشغيل. على سبيل المثال، على خوادم Linux، من الممارسات الجيدة إنشاء خدمة، على سبيل المثال، باستخدام systemd، والتي تنفذ العميل بالتكوين المناسب، تحت مستخدم بامتيازات محدودة وتعيد التشغيل تلقائيًا.
تحديث العملاء
تحتاج إلى تحديث برنامج العميل الخاص بك بأحدث تصحيحات الأمان والميزات وEIPs. خاصة قبل الانقسامات الكلية، تأكد من أنك تقوم بتشغيل إصدارات العميل الصحيحة.
قبل تحديثات الشبكة المهمة، تنشر مؤسسة إيثيريوم (EF) منشورًا على مدونتها (opens in a new tab). يمكنك الاشتراك في هذه الإعلانات (opens in a new tab) للحصول على إشعار على بريدك عندما تحتاج عقدتك إلى تحديث.
تحديث العملاء بسيط للغاية. يحتوي كل عميل على إرشادات محددة في وثائقه، ولكن العملية بشكل عام هي مجرد تنزيل أحدث إصدار وإعادة تشغيل العميل بالملف القابل للتنفيذ الجديد. يجب أن يكمل العميل من حيث توقف، ولكن مع تطبيق التحديثات.
يحتوي كل تنفيذ عميل على سلسلة إصدار يمكن قراءتها بواسطة الإنسان تُستخدم في بروتوكول نظير إلى نظير ولكن يمكن الوصول إليها أيضًا من سطر الأوامر. تتيح سلسلة الإصدار هذه للمستخدمين التحقق من أنهم يقومون بتشغيل الإصدار الصحيح وتسمح لمستكشفي الكتل والأدوات التحليلية الأخرى المهتمة بتحديد توزيع عملاء معينين عبر الشبكة. يرجى الرجوع إلى وثائق العميل الفردية لمزيد من المعلومات حول سلاسل الإصدار.
تشغيل خدمات إضافية
يتيح لك تشغيل عقدتك الخاصة استخدام الخدمات التي تتطلب وصولاً مباشرًا إلى RPC لعميل إيثيريوم. هذه خدمات مبنية على إيثيريوم مثل حلول طبقة 2 (L2)، والواجهة الخلفية للمحافظ، ومستكشفي الكتل، وأدوات المطورين، والبنية التحتية الأخرى لإيثيريوم.
مراقبة العقدة
لمراقبة عقدتك بشكل صحيح، فكر في جمع المقاييس. يوفر العملاء نقاط نهاية للمقاييس حتى تتمكن من الحصول على بيانات شاملة حول عقدتك. استخدم أدوات مثل InfluxDB (opens in a new tab) أو Prometheus (opens in a new tab) لإنشاء قواعد بيانات يمكنك تحويلها إلى تصورات ومخططات في برامج مثل Grafana (opens in a new tab). هناك العديد من الإعدادات لاستخدام هذا البرنامج ولوحات معلومات Grafana المختلفة لتتمكن من تصور عقدتك والشبكة ككل. على سبيل المثال، تحقق من برنامج تعليمي حول مراقبة جو إيثريوم (geth).
كجزء من مراقبتك، تأكد من مراقبة أداء جهازك. أثناء المزامنة الأولية لعقدتك، قد يكون برنامج العميل ثقيلاً جدًا على وحدة المعالجة المركزية وذاكرة الوصول العشوائي. بالإضافة إلى Grafana، يمكنك استخدام الأدوات التي يقدمها نظام التشغيل الخاص بك مثل htop أو uptime للقيام بذلك.
قراءة إضافية
- أدلة تخزين إيثيريوم (opens in a new tab) - سومر إيسات، يتم تحديثها غالبًا
- دليل | كيفية إعداد مُدَقِّق لتخزين إيثيريوم على الشبكة الرئيسية (opens in a new tab) – CoinCashew، يتم تحديثه غالبًا
- أدلة EthStaker حول تشغيل المُدَقِّقين على شبكات الاختبار (opens in a new tab) – EthStaker، يتم تحديثها بانتظام
- نموذج تطبيق AWS Blockchain Node Runner لعقد إيثيريوم (opens in a new tab) - AWS، يتم تحديثه غالبًا
- الأسئلة الشائعة حول الدمج لمشغلي العقد (opens in a new tab) - يوليو 2022
- تحليل متطلبات الأجهزة لتكون عقدة إيثيريوم كاملة التحقق (opens in a new tab) – ألبرت بالاو، 24 سبتمبر 2018
- تشغيل عقد إيثيريوم الكاملة: دليل للمتحمسين بالكاد (opens in a new tab) – جاستن ليروكس، 7 نوفمبر 2019
- تشغيل عقدة Hyperledger Besu على شبكة إيثيريوم الرئيسية: الفوائد والمتطلبات والإعداد (opens in a new tab) – فيليبي فاراجي، 7 مايو 2020
- نشر عميل إيثيريوم نيذرميند مع حزمة المراقبة (opens in a new tab) – Nethermind.eth، 8 يوليو 2020
