تشغيل عقدة إيثيريوم الخاصة بك
يوفر لك تشغيل عقدتك الخاصة فوائد متنوعة، ويفتح إمكانيات جديدة، ويساعد في دعم النظام البيئي. سترشدك هذه الصفحة خلال عملية تشغيل عقدتك الخاصة والمشاركة في التحقق من صحة معاملات إيثيريوم.
لاحظ أنه بعد الدمج، يلزم وجود عميلين لتشغيل عقدة إيثيريوم؛ عميل طبقة التنفيذ (EL) وعميل طبقة الإجماع (CL). ستوضح هذه الصفحة كيفية تثبيت هذين العميلين وتكوينهما وربطهما لتشغيل عقدة إيثيريوم.
المتطلبات الأساسية
يجب أن تفهم ما هي عقدة إيثيريوم ولماذا قد ترغب في تشغيل عميل. تمت تغطية هذا في العقد والعملاء.
إذا كنت جديدًا في موضوع تشغيل عقدة، أو تبحث عن مسار أقل تقنية، نوصيك بالاطلاع أولاً على مقدمتنا السهلة الاستخدام حول تشغيل عقدة إيثيريوم.
اختيار النهج
الخطوة الأولى في تشغيل عقدتك هي اختيار النهج الخاص بك. بناءً على المتطلبات والإمكانيات المختلفة، يجب عليك تحديد تنفيذ العميل (لكل من عملاء التنفيذ والإجماع)، والبيئة (الأجهزة، النظام)، والمعلمات الخاصة بإعدادات العميل.
سترشدك هذه الصفحة خلال هذه القرارات وتساعدك في العثور على الطريقة الأنسب لتشغيل نسخة إيثيريوم الخاصة بك.
للاختيار من بين تطبيقات العملاء، راجع جميع عملاء التنفيذ وعملاء الإجماع الجاهزين للعمل على الشبكة الرئيسية وتعرف على تنوع العملاء.
قرر ما إذا كنت تريد تشغيل البرنامج على أجهزتك الخاصة أو في السحابة، مع مراعاة متطلبات العملاء.
بعد إعداد البيئة، قم بتثبيت العملاء المختارين إما باستخدام واجهة سهلة للمبتدئين أو يدويًا باستخدام طرفية بخيارات متقدمة.
عندما تكون العقدة قيد التشغيل وتقوم بالمزامنة، فأنت جاهز لاستخدامها، ولكن تأكد من مراقبة صيانتها.
البيئة والأجهزة
محلي أو سحابي
يمكن لعملاء إيثيريوم العمل على أجهزة الكمبيوتر الاستهلاكية ولا يتطلبون أي أجهزة خاصة، مثل أجهزة التعدين على سبيل المثال. لذلك، لديك خيارات متنوعة لنشر العقدة بناءً على احتياجاتك. للتبسيط، دعونا نفكر في تشغيل عقدة على كل من جهاز مادي محلي وخادم سحابي:
- السحابة
- يقدم المزودون وقت تشغيل عالي للخادم وعناوين IP عامة ثابتة
- يمكن أن يكون الحصول على خادم مخصص أو افتراضي أكثر راحة من بناء خادمك الخاص
- المقايضة هي الثقة في طرف ثالث - مزود الخادم
- بسبب حجم التخزين المطلوب لعقدة كاملة، قد يرتفع سعر الخادم المستأجر
- الأجهزة الخاصة
- نهج أكثر سيادة ومنزوع الثقة
- استثمار لمرة واحدة
- خيار لشراء أجهزة مجهزة مسبقًا
- يجب عليك إعداد الجهاز والشبكة فعليًا وصيانتها واستكشاف الأخطاء وإصلاحها المحتملة
يتمتع كلا الخيارين بمزايا مختلفة تم تلخيصها أعلاه. إذا كنت تبحث عن حل سحابي، بالإضافة إلى العديد من مزودي الحوسبة السحابية التقليديين، هناك أيضًا خدمات تركز على نشر العقد. تحقق من العقد كخدمة للحصول على المزيد من الخيارات حول العقد المستضافة.
الأجهزة
ومع ذلك، لا ينبغي لشبكة لامركزية ومقاومة للرقابة أن تعتمد على مزودي الخدمات السحابية. بدلاً من ذلك، يعد تشغيل عقدتك على أجهزتك المحلية الخاصة أكثر صحة للنظام البيئي. تظهر التقديرات (يفتح في علامة تبويب جديدة) أن حصة كبيرة من العقد تعمل على السحابة، مما قد يصبح نقطة فشل واحدة.
يمكن لعملاء إيثيريوم العمل على جهاز الكمبيوتر الخاص بك، أو الكمبيوتر المحمول، أو الخادم، أو حتى كمبيوتر أحادي اللوحة. في حين أن تشغيل العملاء على جهاز الكمبيوتر الشخصي الخاص بك أمر ممكن، فإن وجود جهاز مخصص لعقدتك فقط يمكن أن يعزز أدائها وأمانها بشكل كبير مع تقليل التأثير على جهاز الكمبيوتر الأساسي الخاص بك.
يمكن أن يكون استخدام أجهزتك الخاصة سهلاً للغاية. هناك العديد من الخيارات البسيطة بالإضافة إلى الإعدادات المتقدمة للأشخاص الأكثر تقنية. لذلك دعونا ننظر في المتطلبات والوسائل لتشغيل عملاء إيثيريوم على جهازك.
المتطلبات
تختلف متطلبات الأجهزة حسب العميل ولكنها بشكل عام ليست عالية جدًا نظرًا لأن العقدة تحتاج فقط إلى البقاء متزامنة. لا تخلط بينه وبين التعدين، الذي يتطلب قوة حوسبة أكبر بكثير. ومع ذلك، يتحسن وقت المزامنة والأداء مع الأجهزة الأكثر قوة.
قبل تثبيت أي عميل، يرجى التأكد من أن جهاز الكمبيوتر الخاص بك يحتوي على موارد كافية لتشغيله. يمكنك العثور على الحد الأدنى من المتطلبات والموصى بها أدناه.
عنق الزجاجة لأجهزتك هو في الغالب مساحة القرص. تعد مزامنة سلسلة كتل إيثيريوم مكثفة للغاية من حيث الإدخال/الإخراج وتتطلب مساحة كبيرة. من الأفضل أن يكون لديك محرك أقراص الحالة الصلبة (SSD) مع مئات الجيجابايت من المساحة الخالية المتبقية حتى بعد المزامنة.
يعتمد حجم قاعدة البيانات وسرعة المزامنة الأولية على العميل المختار وتكوينه واستراتيجية المزامنة.
تأكد أيضًا من أن اتصالك بالإنترنت غير مقيد بـ سقف لعرض النطاق الترددي (يفتح في علامة تبويب جديدة). يوصى باستخدام اتصال غير محدود لأن المزامنة الأولية والبيانات التي يتم بثها إلى الشبكة قد تتجاوز الحد الخاص بك.
نظام التشغيل
يدعم جميع العملاء أنظمة التشغيل الرئيسية - Linux وmacOS وWindows. هذا يعني أنه يمكنك تشغيل العقد على أجهزة سطح المكتب أو الخوادم العادية بنظام التشغيل (OS) الذي يناسبك بشكل أفضل. تأكد من تحديث نظام التشغيل الخاص بك لتجنب المشكلات المحتملة والثغرات الأمنية.
الحد الأدنى من المتطلبات
- وحدة معالجة مركزية (CPU) بـ 2+ نواة
- 16 GB من ذاكرة الوصول العشوائي (RAM) (يوصى بـ 32 GB من أجل الاستقرار)
- 2 TB NVMe SSD (من المحتمل أن يتم تجاوزها بحلول عام 2027، اقرأ المزيد حول محركات أقراص SSD الرائعة والأقل روعة لعقد إيثيريوم (يفتح في علامة تبويب جديدة))
- عرض نطاق ترددي 25+ MBit/s
المواصفات الموصى بها
تم تحديد التوجيهات الحالية للأجهزة لمشغلي العقد في EIP-7870 (يفتح في علامة تبويب جديدة). بالنسبة لعقدة كاملة، يوصى بما يلي:
- وحدة معالجة مركزية (CPU) سريعة بـ 4+ أنوية (8+ أنوية في حالة التدقيق)
- 32 GB من ذاكرة الوصول العشوائي (RAM) (يوصى بـ 64 GB في حالة التدقيق لضمان الاستقرار)
- 4 TB NVMe SSD (لا يُنصح باستخدام محركات الأقراص الخالية من DRAM وQLC)
- عرض نطاق ترددي 50 MBit/s للتنزيل / 15+ MBit/s للرفع (25+ MBit/s للرفع في حالة التدقيق)
سيؤثر وضع المزامنة والعميل الذي تختاره على متطلبات المساحة، لكننا قدرنا مساحة القرص التي ستحتاجها لكل عميل أدناه.
| العميل | حجم القرص (المزامنة السريعة snap sync) | حجم القرص (أرشيف كامل) |
|---|---|---|
| بيسو | 800GB+ | 12TB+ |
| إريغون | غير متوفر | 2.5TB+ |
| جو إيثريوم (geth) | 500GB+ | 12TB+ |
| نيذرميند | 500GB+ | 12TB+ |
| ريث | غير متوفر | 2.2TB+ |
- ملاحظة: لا يقدم إريغون وريث المزامنة السريعة (snap sync)، ولكن التقليم الكامل (Full Pruning) ممكن (حوالي 2TB لإريغون، وحوالي 1.2TB لريث)
بالنسبة لعملاء الإجماع، تعتمد متطلبات المساحة أيضًا على تنفيذ العميل والميزات الممكنة (على سبيل المثال، مُقْتَطِع المُدَقِّق) ولكن بشكل عام احسب 200GB أخرى مطلوبة لبيانات المنارة. مع وجود عدد كبير من المدققين، ينمو حمل النطاق الترددي أيضًا. يمكنك العثور على تفاصيل حول متطلبات عميل الإجماع في هذا التحليل (يفتح في علامة تبويب جديدة).
حلول التوصيل والتشغيل (Plug-and-play)
الخيار الأسهل لتشغيل عقدة باستخدام أجهزتك الخاصة هو استخدام صناديق التوصيل والتشغيل. توفر الأجهزة المجهزة مسبقًا من البائعين التجربة الأكثر وضوحًا: اطلب، وصل، شغل. كل شيء مجهز مسبقًا ويعمل تلقائيًا مع دليل بديهي ولوحة تحكم لمراقبة البرنامج والتحكم فيه.
إيثيريوم على كمبيوتر أحادي اللوحة
هناك طريقة سهلة ورخيصة لتشغيل عقدة إيثيريوم وهي استخدام كمبيوتر أحادي اللوحة، حتى مع بنية ARM مثل Raspberry Pi. يوفر إيثيريوم على ARM (يفتح في علامة تبويب جديدة) صورًا سهلة التشغيل لعملاء تنفيذ وإجماع متعددين لأجهزة Raspberry Pi ولوحات ARM الأخرى.
تعتبر الأجهزة الصغيرة وبأسعار معقولة وفعالة مثل هذه مثالية لتشغيل عقدة في المنزل ولكن ضع في اعتبارك أداءها المحدود.
تشغيل العقدة
يمكن إجراء الإعداد الفعلي للعميل إما باستخدام مشغلات (launchers) آلية أو يدويًا، عن طريق إعداد برنامج العميل مباشرة.
بالنسبة للمستخدمين الأقل تقدمًا، فإن النهج الموصى به هو استخدام مشغل (launcher)، وهو برنامج يرشدك خلال التثبيت ويقوم بأتمتة عملية إعداد العميل. ومع ذلك، إذا كان لديك بعض الخبرة في استخدام الطرفية، فيجب أن تكون خطوات الإعداد اليدوي بسيطة المتابعة.
الإعداد الموجه
تهدف العديد من المشاريع سهلة الاستخدام إلى تحسين تجربة إعداد العميل. توفر هذه المشغلات تثبيتًا وتكوينًا تلقائيًا للعميل، حتى أن بعضها يقدم واجهة رسومية للإعداد الموجه ومراقبة العملاء.
فيما يلي بعض المشاريع التي يمكن أن تساعدك في تثبيت العملاء والتحكم فيهم ببضع نقرات فقط:
- DAppNode (يفتح في علامة تبويب جديدة) - لا يأتي DAppNode فقط مع جهاز من بائع. يمكن استخدام البرنامج، ومشغل العقدة الفعلي ومركز التحكم مع العديد من الميزات على أجهزة عشوائية.
- EthPillar (يفتح في علامة تبويب جديدة) - أسرع وأسهل طريقة لإعداد عقدة كاملة. أداة إعداد بسطر واحد وواجهة مستخدم نصية (TUI) لإدارة العقدة. مجاني. مفتوح المصدر. سلع عامة لإيثيريوم بواسطة مُخزنين فرديين. يدعم ARM64 وAMD64.
- eth-docker (يفتح في علامة تبويب جديدة) - إعداد آلي باستخدام Docker يركز على التخزين السهل والآمن، ويتطلب معرفة أساسية بالطرفية وDocker، ويوصى به للمستخدمين الأكثر تقدمًا بعض الشيء.
- Stereum (يفتح في علامة تبويب جديدة) - مشغل لتثبيت العملاء على خادم بعيد عبر اتصال SSH مع دليل إعداد بواجهة رسومية (GUI)، ومركز تحكم، والعديد من الميزات الأخرى.
- Sedge (يفتح في علامة تبويب جديدة) - أداة إعداد العقدة التي تقوم تلقائيًا بإنشاء تكوين Docker باستخدام معالج واجهة سطر الأوامر (CLI). مكتوب بلغة Go بواسطة نيذرميند.
- Chainstack Self-Hosted (يفتح في علامة تبويب جديدة) - واجهة مستخدم ويب وواجهة سطر أوامر لنشر عملاء التنفيذ والإجماع على Kubernetes. يتضمن تمهيد اللقطة (Snapshot bootstrap) ومراقبة مدمجة. مجاني. لا يتطلب حساب Chainstack. تم بناؤه بواسطة Chainstack.
إعداد العملاء يدويًا
الخيار الآخر هو تنزيل برنامج العميل والتحقق منه وتكوينه يدويًا. حتى إذا كان بعض العملاء يقدمون واجهة رسومية، فإن الإعداد اليدوي لا يزال يتطلب مهارات أساسية في التعامل مع الطرفية ولكنه يوفر تنوعًا أكبر بكثير.
كما أوضحنا سابقًا، سيتطلب إعداد عقدة إيثيريوم الخاصة بك تشغيل زوج من عملاء الإجماع والتنفيذ. قد يتضمن بعض العملاء عميل خفيف من النوع الآخر ويقوم بالمزامنة دون الحاجة إلى أي برامج أخرى. ومع ذلك، يتطلب التحقق الكامل منزوع الثقة كلا التنفيذين.
الحصول على برنامج العميل
أولاً، تحتاج إلى الحصول على برنامج عميل التنفيذ وعميل الإجماع المفضل لديك.
يمكنك ببساطة تنزيل تطبيق قابل للتنفيذ أو حزمة تثبيت تناسب نظام التشغيل والبنية الخاصة بك. تحقق دائمًا من التوقيعات والمجاميع الاختبارية (checksums) للحزم التي تم تنزيلها. يقدم بعض العملاء أيضًا مستودعات أو صور Docker لتسهيل التثبيت والتحديثات. جميع العملاء مفتوحو المصدر، لذا يمكنك أيضًا بناؤهم من المصدر. هذه طريقة أكثر تقدمًا، ولكن في بعض الحالات، قد تكون مطلوبة.
يتم توفير إرشادات تثبيت كل عميل في الوثائق المرتبطة في قوائم العملاء أعلاه.
إليك صفحات إصدارات العملاء حيث يمكنك العثور على الثنائيات (binaries) المبنية مسبقًا أو إرشادات حول التثبيت:
عملاء التنفيذ
- بيسو (يفتح في علامة تبويب جديدة)
- إريغون (يفتح في علامة تبويب جديدة)
- جو إيثريوم (geth) (يفتح في علامة تبويب جديدة)
- نيذرميند (يفتح في علامة تبويب جديدة)
- ريث (يفتح في علامة تبويب جديدة)
تجدر الإشارة أيضًا إلى أن تنوع العملاء يمثل مشكلة في طبقة التنفيذ. يوصى بأن يفكر القراء في تشغيل عميل تنفيذ يمثل أقلية.
عملاء الإجماع
- لايتهاوس (يفتح في علامة تبويب جديدة)
- لودستار (يفتح في علامة تبويب جديدة) (لا يوفر ثنائيات مبنية مسبقًا، فقط صورة Docker أو يتم بناؤه من المصدر)
- نيمبوس (يفتح في علامة تبويب جديدة)
- برايزم (يفتح في علامة تبويب جديدة)
- تيكو (يفتح في علامة تبويب جديدة)
يعد تنوع العملاء أمرًا بالغ الأهمية لعقد الإجماع التي تشغل مدققين. إذا كان غالبية المدققين يشغلون تنفيذ عميل واحد، فإن أمان الشبكة يكون في خطر. لذلك يوصى بالتفكير في اختيار عميل يمثل أقلية.
شاهد أحدث استخدام لعملاء الشبكة (يفتح في علامة تبويب جديدة) وتعرف على المزيد حول تنوع العملاء.
التحقق من البرنامج
عند تنزيل برنامج من الإنترنت، يوصى بالتحقق من سلامته. هذه الخطوة اختيارية ولكن خاصة مع جزء مهم من البنية التحتية مثل عميل إيثيريوم، من المهم أن تكون على دراية بنواقل الهجوم المحتملة وتجنبها. إذا قمت بتنزيل ثنائي مبني مسبقًا، فأنت بحاجة إلى الوثوق به والمخاطرة بأن المهاجم قد يستبدل الملف القابل للتنفيذ بملف ضار.
يوقع المطورون الثنائيات المصدرة باستخدام مفاتيح PGP الخاصة بهم حتى تتمكن من التحقق تشفيريًا من أنك تقوم بتشغيل البرنامج الذي قاموا بإنشائه بالضبط. تحتاج فقط إلى الحصول على المفاتيح العامة التي يستخدمها المطورون، والتي يمكن العثور عليها في صفحات إصدار العميل أو في الوثائق. بعد تنزيل إصدار العميل وتوقيعه، يمكنك استخدام تطبيق PGP، على سبيل المثال، GnuPG (يفتح في علامة تبويب جديدة) للتحقق منها بسهولة. تحقق من برنامج تعليمي حول التحقق من البرامج مفتوحة المصدر باستخدام gpg على Linux (يفتح في علامة تبويب جديدة) أو Windows/macOS (يفتح في علامة تبويب جديدة).
شكل آخر من أشكال التحقق هو التأكد من أن التجزئة، وهي بصمة تشفيرية فريدة، للبرنامج الذي قمت بتنزيله تتطابق مع تلك التي قدمها المطورون. هذا أسهل من استخدام PGP، وبعض العملاء يقدمون هذا الخيار فقط. ما عليك سوى تشغيل دالة التجزئة على البرنامج الذي تم تنزيله ومقارنتها بتلك الموجودة في صفحة الإصدار. على سبيل المثال:
sha256sum teku-22.6.1.tar.gz
9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
إعداد العميل
بعد تثبيت برنامج العميل أو تنزيله أو تصريفه، تصبح جاهزًا لتشغيله. هذا يعني فقط أنه يجب تنفيذه بالتكوين المناسب. يقدم العملاء خيارات تكوين غنية، والتي يمكن أن تمكن ميزات مختلفة.
لنبدأ بالخيارات التي يمكن أن تؤثر بشكل كبير على أداء العميل واستخدام البيانات. تمثل أوضاع المزامنة طرقًا مختلفة لتنزيل بيانات سلسلة الكتل والتحقق من صحتها. قبل بدء تشغيل العقدة، يجب أن تقرر الشبكة ووضع المزامنة الذي ستستخدمه. أهم الأشياء التي يجب مراعاتها هي مساحة القرص، ووقت المزامنة الذي سيحتاجه العميل. انتبه إلى مستندات العميل لتحديد وضع المزامنة الافتراضي. إذا كان ذلك لا يناسبك، فاختر وضعًا آخر بناءً على مستوى الأمان والبيانات المتاحة والتكلفة. بصرف النظر عن خوارزمية المزامنة، يمكنك أيضًا تعيين تقليم (pruning) لأنواع مختلفة من البيانات القديمة. يتيح التقليم حذف البيانات القديمة، أي إزالة عقد شجرة الحالة التي لا يمكن الوصول إليها من الكتل الحديثة.
خيارات التكوين الأساسية الأخرى هي، على سبيل المثال، اختيار شبكة - الشبكة الرئيسية أو شبكات الاختبار، وتمكين نقطة نهاية HTTP لـ RPC أو WebSockets، وما إلى ذلك. يمكنك العثور على جميع الميزات والخيارات في وثائق العميل. يمكن تعيين تكوينات العميل المختلفة عن طريق تنفيذ العميل مع العلامات (flags) المقابلة مباشرة في واجهة سطر الأوامر (CLI) أو ملف التكوين. كل عميل يختلف قليلاً؛ يرجى دائمًا الرجوع إلى وثائقه الرسمية أو صفحة المساعدة للحصول على تفاصيل حول خيارات التكوين.
لأغراض الاختبار، قد تفضل تشغيل عميل على إحدى شبكات الاختبار. راجع نظرة عامة على الشبكات المدعومة.
يمكن العثور على أمثلة لتشغيل عملاء التنفيذ بتكوين أساسي في القسم التالي.
بدء تشغيل عميل التنفيذ
قبل بدء تشغيل برنامج عميل إيثيريوم، قم بإجراء فحص أخير للتأكد من أن بيئتك جاهزة. على سبيل المثال، تأكد من:
- وجود مساحة قرص كافية بالنظر إلى الشبكة ووضع المزامنة المختارين.
- عدم توقف الذاكرة ووحدة المعالجة المركزية بواسطة برامج أخرى.
- تحديث نظام التشغيل إلى أحدث إصدار.
- أن النظام يحتوي على الوقت والتاريخ الصحيحين.
- أن جهاز التوجيه (router) وجدار الحماية يقبلان الاتصالات على منافذ الاستماع. افتراضيًا، يستخدم عملاء إيثيريوم منفذ استماع (TCP) ومنفذ اكتشاف (UDP)، وكلاهما على 30303 افتراضيًا.
قم بتشغيل عميلك على شبكة اختبار أولاً للمساعدة في التأكد من أن كل شيء يعمل بشكل صحيح.
تحتاج إلى الإعلان عن أي إعدادات عميل ليست افتراضية في البداية. يمكنك استخدام العلامات (flags) أو ملف التكوين للإعلان عن التكوين المفضل لديك. تختلف مجموعة الميزات وبناء جملة التكوين لكل عميل. تحقق من وثائق العميل الخاص بك للحصول على التفاصيل.
يتواصل عملاء التنفيذ والإجماع عبر نقطة نهاية مصادق عليها محددة في Engine API (يفتح في علامة تبويب جديدة). من أجل الاتصال بعميل إجماع، يجب على عميل التنفيذ إنشاء jwtsecret (يفتح في علامة تبويب جديدة) في مسار معروف. لأسباب تتعلق بالأمان والاستقرار، يجب تشغيل العملاء على نفس الجهاز، ويجب أن يعرف كلا العميلين هذا المسار حيث يتم استخدامه لمصادقة اتصال RPC محلي بينهما. يجب على عميل التنفيذ أيضًا تحديد منفذ استماع لواجهات برمجة التطبيقات (APIs) المصادق عليها.
يتم إنشاء هذا الرمز المميز تلقائيًا بواسطة برنامج العميل، ولكن في بعض الحالات، قد تحتاج إلى القيام بذلك بنفسك. يمكنك إنشاؤه باستخدام OpenSSL (يفتح في علامة تبويب جديدة):
openssl rand -hex 32 > jwtsecret
تشغيل عميل التنفيذ
سيرشدك هذا القسم خلال بدء تشغيل عملاء التنفيذ. إنه يعمل فقط كمثال لتكوين أساسي، والذي سيبدأ تشغيل العميل بهذه الإعدادات:
- يحدد الشبكة المراد الاتصال بها، الشبكة الرئيسية في أمثلتنا
- يمكنك بدلاً من ذلك اختيار إحدى شبكات الاختبار للاختبار الأولي لإعدادك
- يحدد دليل البيانات، حيث سيتم تخزين جميع البيانات بما في ذلك سلسلة الكتل
- تأكد من استبدال المسار بمسار حقيقي، على سبيل المثال، يشير إلى محرك الأقراص الخارجي الخاص بك
- يُمكّن واجهات للتواصل مع العميل
- بما في ذلك JSON-RPC و Engine API للتواصل مع عميل الإجماع
- يحدد المسار إلى
jwtsecretلواجهة برمجة التطبيقات المصادق عليها- تأكد من استبدال مسار المثال بمسار حقيقي يمكن للعملاء الوصول إليه، على سبيل المثال،
/tmp/jwtsecret
- تأكد من استبدال مسار المثال بمسار حقيقي يمكن للعملاء الوصول إليه، على سبيل المثال،
يرجى الأخذ في الاعتبار أن هذا مجرد مثال أساسي، وسيتم تعيين جميع الإعدادات الأخرى على الإعدادات الافتراضية. انتبه إلى وثائق كل عميل للتعرف على القيم الافتراضية والإعدادات والميزات. لمزيد من الميزات، على سبيل المثال لتشغيل المدققين والمراقبة وما إلى ذلك، يرجى الرجوع إلى وثائق العميل المحدد.
لاحظ أن الخطوط المائلة العكسية (backslashes)
\في الأمثلة هي لأغراض التنسيق فقط؛ يمكن تحديد علامات التكوين في سطر واحد.
تشغيل بيسو
يبدأ هذا المثال تشغيل بيسو على الشبكة الرئيسية، ويخزن بيانات سلسلة الكتل بالتنسيق الافتراضي في /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
يأتي بيسو أيضًا مع خيار مشغل (launcher) والذي سيطرح سلسلة من الأسئلة وينشئ ملف التكوين. قم بتشغيل المشغل التفاعلي باستخدام:
besu --Xlauncher
تحتوي وثائق بيسو (يفتح في علامة تبويب جديدة) على خيارات إضافية وتفاصيل التكوين.
تشغيل إريغون
يبدأ هذا المثال تشغيل إريغون على الشبكة الرئيسية، ويخزن بيانات سلسلة الكتل في /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
تحقق من الوثائق لجميع خيارات التكوين (يفتح في علامة تبويب جديدة) وتعرف على المزيد حول تشغيل جو إيثريوم (geth) مع عميل إجماع (يفتح في علامة تبويب جديدة).
تشغيل نيذرميند
يقدم نيذرميند خيارات تثبيت (يفتح في علامة تبويب جديدة) متنوعة. تأتي الحزمة مع ثنائيات مختلفة، بما في ذلك مشغل (Launcher) مع إعداد موجه، والذي سيساعدك على إنشاء التكوين بشكل تفاعلي. بدلاً من ذلك، تجد Runner وهو الملف القابل للتنفيذ نفسه ويمكنك فقط تشغيله باستخدام علامات التكوين. يتم تمكين JSON-RPC افتراضيًا.
Nethermind.Runner --config mainnet \
--datadir /data/ethereum \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
تقدم وثائق نيذرميند دليلاً كاملاً (يفتح في علامة تبويب جديدة) حول تشغيل نيذرميند مع عميل الإجماع.
سيبدأ عميل التنفيذ وظائفه الأساسية، ونقاط النهاية المختارة، ويبدأ في البحث عن أقران. بعد اكتشاف الأقران بنجاح، يبدأ العميل المزامنة. سينتظر عميل التنفيذ اتصالاً من عميل الإجماع. ستكون بيانات سلسلة الكتل الحالية متاحة بمجرد مزامنة العميل بنجاح مع الحالة الحالية.
تشغيل ريث
يبدأ هذا المثال تشغيل ريث على الشبكة الرئيسية، باستخدام موقع البيانات الافتراضي. يُمكّن مصادقة JSON-RPC و Engine RPC لتوصيل عميل الإجماع المحدد بواسطة مسار jwtsecret، مع السماح فقط بالاستدعاءات من localhost.
reth node \
--authrpc.jwtsecret /path/to/jwtsecret \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551
راجع تكوين ريث (يفتح في علامة تبويب جديدة) لمعرفة المزيد حول أدلة البيانات الافتراضية. تحتوي وثائق ريث (يفتح في علامة تبويب جديدة) على خيارات إضافية وتفاصيل التكوين.
بدء تشغيل عميل الإجماع
يجب بدء تشغيل عميل الإجماع بتكوين المنفذ الصحيح لإنشاء اتصال RPC محلي بعميل التنفيذ. يجب تشغيل عملاء الإجماع باستخدام منفذ عميل التنفيذ المكشوف كوسيط تكوين (configuration argument).
يحتاج عميل الإجماع أيضًا إلى المسار إلى jwt-secret الخاص بعميل التنفيذ من أجل مصادقة اتصال RPC بينهما. على غرار أمثلة التنفيذ أعلاه، يحتوي كل عميل إجماع على علامة تكوين تأخذ مسار ملف رمز jwt كوسيط. يجب أن يكون هذا متسقًا مع مسار jwtsecret المقدم لعميل التنفيذ.
إذا كنت تخطط لتشغيل مُدَقِّق، فتأكد من إضافة علامة تكوين تحدد عنوان إيثيريوم لمتلقي الرسوم. هذا هو المكان الذي تتراكم فيه مكافآت الإيثر للمدقق الخاص بك. يحتوي كل عميل إجماع على خيار، على سبيل المثال، --suggested-fee-recipient=0xabcd1، والذي يأخذ عنوان إيثيريوم كوسيط.
عند بدء تشغيل عقدة المنارة على شبكة اختبار، يمكنك توفير وقت مزامنة كبير باستخدام نقطة نهاية عامة لـ مزامنة نقطة فحص (يفتح في علامة تبويب جديدة).
تشغيل عميل الإجماع
تشغيل لايتهاوس
قبل تشغيل لايتهاوس، تعرف على المزيد حول كيفية تثبيته وتكوينه في كتاب لايتهاوس (يفتح في علامة تبويب جديدة).
lighthouse beacon_node \
--network mainnet \
--datadir /data/ethereum \
--http \
--execution-endpoint http://127.0.0.1:8551 \
--execution-jwt /path/to/jwtsecret
تشغيل لودستار
قم بتثبيت برنامج لودستار عن طريق تصريفه أو تنزيل صورة Docker. تعرف على المزيد في الوثائق (يفتح في علامة تبويب جديدة) ودليل الإعداد (يفتح في علامة تبويب جديدة) الأكثر شمولاً.
lodestar beacon \
--dataDir="/data/ethereum" \
--network=mainnet \
--eth1.enabled=true \
--execution.urls="http://127.0.0.1:8551" \
--jwt-secret="/path/to/jwtsecret"
تشغيل نيمبوس
يأتي نيمبوس مع كل من عملاء الإجماع والتنفيذ. يمكن تشغيله على أجهزة مختلفة حتى مع قوة حوسبة متواضعة للغاية. بعد تثبيت التبعيات ونيمبوس نفسه (يفتح في علامة تبويب جديدة)، يمكنك تشغيل عميل الإجماع الخاص به:
nimbus_beacon_node \
--network=mainnet \
--web3-url=http://127.0.0.1:8551 \
--rest \
--jwt-secret="/path/to/jwtsecret"
تشغيل برايزم
يأتي برايزم مع برنامج نصي (script) يسمح بالتثبيت التلقائي السهل. يمكن العثور على التفاصيل في وثائق برايزم (يفتح في علامة تبويب جديدة).
./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"
عندما يتصل عميل الإجماع بعميل التنفيذ لقراءة عقد الإيداع وتحديد المدققين، فإنه يتصل أيضًا بأقران عقدة المنارة الآخرين ويبدأ في مزامنة فتحات (slots) الإجماع من التكوين (genesis). بمجرد وصول عقدة المنارة إلى الحقبة الحالية، تصبح Beacon API قابلة للاستخدام لمدققيك. تعرف على المزيد حول واجهات برمجة تطبيقات عقدة المنارة (Beacon Node APIs) (يفتح في علامة تبويب جديدة).
إضافة المدققين
يعمل عميل الإجماع كعقدة منارة للمدققين للاتصال بها. يحتوي كل عميل إجماع على برنامج المدقق الخاص به الموصوف بالتفصيل في وثائقه الخاصة.
يتيح تشغيل المدقق الخاص بك التخزين الفردي، وهي الطريقة الأكثر تأثيرًا ومنزوعة الثقة لدعم شبكة إيثيريوم. ومع ذلك، يتطلب هذا إيداع 32 ETH. لتشغيل مُدَقِّق على عقدتك الخاصة بمبلغ أقل، قد يثير اهتمامك مجمع لامركزي مع مشغلي عقد غير مقيدين بإذن، مثل Rocket Pool (يفتح في علامة تبويب جديدة).
أسهل طريقة للبدء في التخزين وإنشاء مفتاح المدقق هي استخدام منصة إطلاق التخزين لشبكة اختبار Hoodi (يفتح في علامة تبويب جديدة)، والتي تتيح لك اختبار إعدادك عن طريق تشغيل العقد على Hoodi (يفتح في علامة تبويب جديدة). عندما تكون جاهزًا للشبكة الرئيسية، يمكنك تكرار هذه الخطوات باستخدام منصة إطلاق التخزين للشبكة الرئيسية (يفتح في علامة تبويب جديدة).
انظر في صفحة التخزين للحصول على نظرة عامة حول خيارات التخزين.
استخدام العقدة
يقدم عملاء التنفيذ نقاط نهاية RPC API التي يمكنك استخدامها لإرسال المعاملات، أو التفاعل مع العقود الذكية أو نشرها على شبكة إيثيريوم بطرق مختلفة:
- استدعاؤها يدويًا ببروتوكول مناسب (على سبيل المثال، باستخدام
curl) - إرفاق وحدة تحكم مقدمة (على سبيل المثال،
geth attach) - تنفيذها في التطبيقات باستخدام مكتبات Web3، على سبيل المثال، Web3.py (يفتح في علامة تبويب جديدة)، وethers (يفتح في علامة تبويب جديدة)
لدى العملاء المختلفين تطبيقات مختلفة لنقاط نهاية RPC. ولكن هناك JSON-RPC قياسي يمكنك استخدامه مع كل عميل. للحصول على نظرة عامة اقرأ وثائق JSON-RPC. يمكن للتطبيقات التي تحتاج إلى معلومات من شبكة إيثيريوم استخدام RPC هذا. على سبيل المثال، تتيح لك محفظة ميتاماسك الشهيرة الاتصال بنقطة نهاية RPC الخاصة بك (يفتح في علامة تبويب جديدة) والتي تتمتع بفوائد قوية في الخصوصية والأمان.
يكشف جميع عملاء الإجماع عن Beacon API (يفتح في علامة تبويب جديدة) التي يمكن استخدامها للتحقق من حالة عميل الإجماع أو تنزيل الكتل وبيانات الإجماع عن طريق إرسال طلبات باستخدام أدوات مثل Curl (يفتح في علامة تبويب جديدة). يمكن العثور على مزيد من المعلومات حول هذا في وثائق كل عميل إجماع.
الوصول إلى RPC
المنفذ الافتراضي لعميل التنفيذ JSON-RPC هو 8545 ولكن يمكنك تعديل منافذ نقاط النهاية المحلية في التكوين. افتراضيًا، لا يمكن الوصول إلى واجهة RPC إلا على المضيف المحلي (localhost) لجهاز الكمبيوتر الخاص بك. لجعلها قابلة للوصول عن بُعد، قد ترغب في كشفها للجمهور عن طريق تغيير العنوان إلى 0.0.0.0. سيجعل هذا الوصول إليها ممكنًا عبر الشبكة المحلية وعناوين IP العامة. في معظم الحالات، ستحتاج أيضًا إلى إعداد إعادة توجيه المنفذ (port forwarding) على جهاز التوجيه الخاص بك.
تعامل مع كشف المنافذ للإنترنت بحذر لأن هذا سيسمح لأي شخص على الإنترنت بالتحكم في عقدتك. يمكن للجهات الخبيثة الوصول إلى عقدتك لإسقاط نظامك أو سرقة أموالك إذا كنت تستخدم عميلك كمحفظة.
تتمثل إحدى طرق التغلب على ذلك في منع طرق RPC التي يحتمل أن تكون ضارة من أن تكون قابلة للتعديل. على سبيل المثال، مع جو إيثريوم (geth)، يمكنك الإعلان عن الطرق القابلة للتعديل بعلامة: --http.api web3,eth,txpool.
يمكن توسيع الوصول إلى واجهة RPC من خلال تطوير واجهات برمجة تطبيقات لطبقة الحافة (edge layer APIs) أو تطبيقات خادم الويب، مثل Nginx، وربطها بالعنوان المحلي لعميلك ومنفذه. يمكن أن تتيح الاستفادة من طبقة وسطى للمطورين أيضًا القدرة على إعداد شهادة لاتصالات https الآمنة بواجهة RPC.
لا يعد إعداد خادم ويب أو وكيل (proxy) أو Rest API مواجه للخارج الطريقة الوحيدة لتوفير الوصول إلى نقطة نهاية RPC لعقدتك. هناك طريقة أخرى تحافظ على الخصوصية لإعداد نقطة نهاية يمكن الوصول إليها بشكل عام وهي استضافة العقدة على خدمة onion الخاصة بك على Tor (يفتح في علامة تبويب جديدة). سيتيح لك ذلك الوصول إلى RPC خارج شبكتك المحلية بدون عنوان IP عام ثابت أو منافذ مفتوحة. ومع ذلك، قد يسمح استخدام هذا التكوين فقط بالوصول إلى نقطة نهاية RPC عبر شبكة Tor التي لا تدعمها جميع التطبيقات وقد تؤدي إلى مشكلات في الاتصال.
للقيام بذلك، يجب عليك إنشاء خدمة onion (يفتح في علامة تبويب جديدة) الخاصة بك. تحقق من الوثائق (يفتح في علامة تبويب جديدة) حول إعداد خدمة onion لاستضافة خدمتك الخاصة. يمكنك توجيهها إلى خادم ويب مع وكيل لمنفذ RPC أو مباشرة إلى RPC.
أخيرًا، ومن أكثر الطرق شيوعًا لتوفير الوصول إلى الشبكات الداخلية هو من خلال اتصال VPN. اعتمادًا على حالة الاستخدام الخاصة بك وكمية المستخدمين الذين يحتاجون إلى الوصول إلى عقدتك، قد يكون اتصال VPN الآمن خيارًا متاحًا. OpenVPN (يفتح في علامة تبويب جديدة) عبارة عن شبكة VPN كاملة الميزات تعتمد على SSL والتي تنفذ امتداد شبكة آمن للطبقة 2 أو 3 من OSI باستخدام بروتوكول SSL/TLS القياسي في الصناعة، وتدعم طرق مصادقة مرنة للعميل تعتمد على الشهادات والبطاقات الذكية و/أو بيانات اعتماد اسم المستخدم/كلمة المرور، وتسمح بسياسات التحكم في الوصول الخاصة بالمستخدم أو المجموعة باستخدام قواعد جدار الحماية المطبقة على الواجهة الافتراضية لشبكة VPN.
إدارة العقدة
يجب عليك مراقبة عقدتك بانتظام للتأكد من أنها تعمل بشكل صحيح. قد تحتاج إلى إجراء صيانة عرضية.
إبقاء العقدة متصلة بالإنترنت
لا يجب أن تكون عقدتك متصلة بالإنترنت طوال الوقت، ولكن يجب عليك إبقاؤها متصلة بالإنترنت قدر الإمكان لإبقائها متزامنة مع الشبكة. يمكنك إيقاف تشغيلها لإعادة تشغيلها، ولكن ضع في اعتبارك أن:
- قد يستغرق إيقاف التشغيل بضع دقائق إذا كانت الحالة الأخيرة لا تزال تُكتب على القرص.
- يمكن أن يؤدي إيقاف التشغيل القسري إلى إتلاف قاعدة البيانات مما يتطلب منك إعادة مزامنة العقدة بأكملها.
- سيخرج عميلك عن المزامنة مع الشبكة وسيحتاج إلى إعادة المزامنة عند إعادة تشغيله. في حين أن العقدة يمكن أن تبدأ المزامنة من حيث تم إيقاف تشغيلها آخر مرة، إلا أن العملية قد تستغرق وقتًا اعتمادًا على المدة التي كانت فيها غير متصلة بالإنترنت.
لا ينطبق هذا على عقد المدقق في طبقة الإجماع. سيؤثر إيقاف اتصال عقدتك بالإنترنت على جميع الخدمات التي تعتمد عليها. إذا كنت تقوم بتشغيل عقدة لأغراض التخزين، فيجب أن تحاول تقليل وقت التوقف عن العمل قدر الإمكان.
إنشاء خدمات العميل
فكر في إنشاء خدمة لتشغيل عملائك تلقائيًا عند بدء التشغيل. على سبيل المثال، على خوادم Linux، من الممارسات الجيدة إنشاء خدمة، على سبيل المثال، باستخدام systemd، تقوم بتنفيذ العميل بالتكوين المناسب، تحت مستخدم بامتيازات محدودة ويعاد تشغيلها تلقائيًا.
تحديث العملاء
تحتاج إلى تحديث برنامج العميل الخاص بك بأحدث تصحيحات الأمان والميزات وEIPs. خاصة قبل التفرعات الصلبة (hard forks)، تأكد من أنك تقوم بتشغيل إصدارات العميل الصحيحة.
قبل تحديثات الشبكة المهمة، تنشر مؤسسة إيثيريوم (EF) منشورًا على مدونتها (يفتح في علامة تبويب جديدة). يمكنك الاشتراك في هذه الإعلانات (يفتح في علامة تبويب جديدة) للحصول على إشعار على بريدك عندما تحتاج عقدتك إلى تحديث.
تحديث العملاء بسيط للغاية. يحتوي كل عميل على إرشادات محددة في وثائقه، ولكن العملية بشكل عام تتمثل في تنزيل أحدث إصدار وإعادة تشغيل العميل باستخدام الملف القابل للتنفيذ الجديد. يجب أن يكمل العميل من حيث توقف، ولكن مع تطبيق التحديثات.
يحتوي كل تنفيذ عميل على سلسلة إصدار يمكن للإنسان قراءتها تُستخدم في بروتوكول نظير إلى نظير ولكن يمكن الوصول إليها أيضًا من سطر الأوامر. تتيح سلسلة الإصدار هذه للمستخدمين التحقق من أنهم يقومون بتشغيل الإصدار الصحيح وتسمح لمستكشفي الكتل والأدوات التحليلية الأخرى المهتمة بتحديد توزيع عملاء معينين عبر الشبكة. يرجى الرجوع إلى وثائق العميل الفردية لمزيد من المعلومات حول سلاسل الإصدار.
تشغيل خدمات إضافية
يتيح لك تشغيل عقدتك الخاصة استخدام الخدمات التي تتطلب وصولاً مباشرًا إلى RPC الخاص بعميل إيثيريوم. هذه خدمات مبنية فوق إيثيريوم مثل حلول طبقة 2 (L2)، والواجهة الخلفية للمحافظ، ومستكشفي الكتل، وأدوات المطورين، وغيرها من البنية التحتية لإيثيريوم.
مراقبة العقدة
لمراقبة عقدتك بشكل صحيح، فكر في جمع المقاييس. يوفر العملاء نقاط نهاية للمقاييس حتى تتمكن من الحصول على بيانات شاملة حول عقدتك. استخدم أدوات مثل InfluxDB (يفتح في علامة تبويب جديدة) أو Prometheus (يفتح في علامة تبويب جديدة) لإنشاء قواعد بيانات يمكنك تحويلها إلى تصورات ومخططات في برامج مثل Grafana (يفتح في علامة تبويب جديدة). هناك العديد من الإعدادات لاستخدام هذا البرنامج ولوحات معلومات Grafana المختلفة لتتمكن من تصور عقدتك والشبكة ككل. على سبيل المثال، تحقق من البرنامج التعليمي حول مراقبة جو إيثريوم (geth).
كجزء من المراقبة الخاصة بك، تأكد من مراقبة أداء جهازك. أثناء المزامنة الأولية لعقدتك، قد يكون برنامج العميل ثقيلاً جدًا على وحدة المعالجة المركزية (CPU) وذاكرة الوصول العشوائي (RAM). بالإضافة إلى Grafana، يمكنك استخدام الأدوات التي يقدمها نظام التشغيل الخاص بك مثل htop أو uptime للقيام بذلك.
قراءة إضافية
- أدلة تخزين إيثيريوم (يفتح في علامة تبويب جديدة) - Somer Esat، يتم تحديثها غالبًا
- دليل | كيفية إعداد مُدَقِّق لتخزين إيثيريوم على الشبكة الرئيسية (يفتح في علامة تبويب جديدة) – CoinCashew، يتم تحديثه غالبًا
- أدلة EthStaker حول تشغيل المدققين على شبكات الاختبار (يفتح في علامة تبويب جديدة) – EthStaker، يتم تحديثها بانتظام
- نموذج تطبيق AWS Blockchain Node Runner لعقد إيثيريوم (يفتح في علامة تبويب جديدة) - AWS، يتم تحديثه غالبًا
- الأسئلة الشائعة حول الدمج لمشغلي العقد (يفتح في علامة تبويب جديدة) - يوليو 2022
- تحليل متطلبات الأجهزة لتكون عقدة إيثيريوم كاملة مدققة (يفتح في علامة تبويب جديدة) – Albert Palau، 24 سبتمبر 2018
- تشغيل عقد إيثيريوم الكاملة: دليل لمن لديهم دافع بالكاد (يفتح في علامة تبويب جديدة) – Justin Leroux، 7 نوفمبر 2019
- تشغيل عقدة Hyperledger Besu على شبكة إيثيريوم الرئيسية: الفوائد والمتطلبات والإعداد (يفتح في علامة تبويب جديدة) – Felipe Faraggi، 7 مايو 2020
- نشر عميل إيثيريوم نيذرميند مع حزمة المراقبة (يفتح في علامة تبويب جديدة) – Nethermind.eth، 8 يوليو 2020
