أخبارالمطورينإدخالالمشروع Blockchain شرح الأحداث والمؤتمرات الصحافةالنشرات الإخبارية
اشترك في نشرتنا الإخبارية.
عنوان بريد الكتروني
نحن نحترم خصوصيتك
الرئيسية
رحلتي لأصبح مدققًا على Ethereum 2.0 ، الجزء 2
ما هي بعض الأشياء التي يجب مراعاتها عند اختيار الأجهزة والبرامج لتشغيل عميل التحقق من Ethereum 2.0؟ بقلم كوجان برينان ، 5 ديسمبر 2020 ، نُشر في 5 ديسمبر 2020
ملاحظة: لا يزال بإمكانك أن تصبح مدققًا على شبكة Ethereum 2.0! سيكون هناك وقت انتظار ليتم تفعيله كمدقق – اعتبارًا من 4 ديسمبر 2020 ، يكون وقت الانتظار تقريبًا 9.9 أيام. اطلع على خطوات التخزين في الجزء الأول من هذه السلسلة.
- تنصل
- مقدمة
- اعتبارات تكوين المدقق
- أجهزة تدقيق المستقبل
- لتشغيل أو عدم تشغيل عميل Eth1?
- الظاهري مقابل الاستضافة المحلية
- اختيار عميل Eth2 وتجنب العقوبات
تنصل
هذا منشور أكتبه كموظف في ConsenSys وأخطط للمراهنة في سلسلة المنارات. البيان السابق يعني أنني أعطي الأولوية لمنتجات ConsenSys (عادةً ما تكون منتجات ConsenSys هي الأفضل في فئتها بالنسبة إلى Ethereum ، ولدي أيضًا إمكانية الوصول إلى الفرق الهندسية التي يمكنها مساعدتي في الإجابة عن الأسئلة واستكشاف الأخطاء وإصلاحها). العبارة الأخيرة تعني أنني أقوم بالتحسين من حيث التكلفة وسهولة الاستخدام: ليس لدي الآلاف من ETH لتحقيق مكافآت كبيرة ، لذلك أقوم ببعض الاختصارات. هذه هي القرارات التي اتخذتها لجعل المخاطرة على Ethereum 2.0 واضحة ومباشرة ومتاحة للأفراد قدر الإمكان ولكنها تأتي مع مقايضات اللامركزية والخصوصية. ومع ذلك ، يمكنك اتباع الضربات العامة للدرس أدناه واتخاذ خيارات مختلفة. في الواقع ، إذا كان بإمكانك فعل ذلك ، فإنني أشجعك على ذلك!
أخيرًا ، يعد Staking في Ethereum 2.0 تجريبيًا للغاية ويتضمن التزامًا طويل الأجل (سأخصص ثلاث سنوات). يرجى عدم المشاركة إذا لم تكن مرتاحًا للمستوى العالي من المخاطر المصاحبة لشيء ما زال قيد التطوير. إذا لم تكن متأكدًا مما إذا كان يجب عليك المشاركة ، فالرجاء الانضمام إلى الخلاف ConsenSys واسأل في قناة # teku-public.
مقدمة
في المنشور السابق ، ناقشنا أسباب نشر Ethereum 2.0 وسرنا من خلال Staking 32 ETH في عقد الإيداع الرئيسي Ethereum 1.0. لقد تطرقنا إلى إنشاء المفتاح وكيفية عملية Staking منصة الإطلاق يربط Ethereum 1.0 إلى 2.0.
في 23 نوفمبر ، تم استيفاء الحد الأدنى لمبلغ ETH المربح لإطلاق Ethereum 2.0 – حوالي 524،288 -. يمكن للأشخاص الاستمرار في المشاركة في العقد وقد ارتفع عدد المدققين إلى أكثر من 33000 اعتبارًا من 4 ديسمبر.
يشارك آرون ديفيس من MetaMask أفكاره في قناة تخزين ConsenSys Slack الداخلية
على الرغم من أنه كان من المثير للغاية الدخول إلى مجموعة Genesis كمدقق ، إلا أنه بعد ثوانٍ كانت لدي تجربة مماثلة لزملائي آرون ديفيس في قناة التخزين الداخلية ConsenSys: ما المهمة المجنونة التي قمت بالتسجيل فيها؟ لحسن الحظ ، لدي إمكانية الوصول إلى الأشخاص الرائعين والتقنيين الخيريين بشكل لا يصدق لتقديم بعض النصائح والمؤشرات والرؤى حول تشغيل البنية التحتية للتثبيت. آمل أن أنقل جزءًا بسيطًا من تلك النصيحة القيمة هنا إلى أي أطراف معنية أخرى.
هذا ما سيكون الجزء الأول من هذه المقالة: ما هي بعض الأشياء التي يجب أن تأخذها في الاعتبار عند اختيار الأجهزة والبرامج لتشغيل عميل التحقق من Ethereum 2.0؟ سيتناول الجزء الثاني مجموعة الأجهزة / البرامج المحددة التي اخترتها لعميل المدقق الخاص بي. ستعتمد الاختيارات التي تقوم بها للتهيئة الخاصة بك على مواردك وميلك الشخصية وقدرتك التقنية. سأبذل قصارى جهدي لتسليط الضوء على كيفية تأثير التحيزات الشخصية والظروف على اختياراتي.
أخيرًا ، قبل أن ننتقل إليه ، أريد أن أكرر أن هذه المنشورات تشبه تقريبًا إدخالات دفتر اليومية لتجربتي في تخزين 32 ETH (على الرغم من إدخالات دفتر اليومية مع الجوانب التقنية الشاملة). على هذا النحو ، قد أغير نهجي قليلاً مع تقدم سلسلة المنارة. على سبيل المثال ، فكرت في أنني سأستخدم AWS بالتأكيد. كما ستقرأ أدناه ، أنا الآن أعيد النظر في ذلك. سأكون واضحًا جدًا بشأن العنصر المالي للرهان. يعد Staking طريقة لدعم النظام البيئي Ethereum ، ولكن للاستخدام العام المستدام ، يجب أيضًا أن يكون متاحًا ويمكن للأشخاص الذين لديهم ETH القيام بذلك.
أجهزة تدقيق المستقبل
من السهل نسبيًا تلبية المتطلبات الأساسية لتشغيل المدقق. مارا شميدت وكولين مايرز دليل المدقق على Bankless لديه ملخص جيد للحد الأدنى من المتطلبات. يتمثل الجانب الأكثر تحديًا في تحديد معدات التحقق من Ethereum 2.0 في موازنة الاحتياجات الحالية لمرحلة سلسلة Beacon Chain 0 مع أي طلبات مستقبلية غير معروفة حاليًا مع استمرار التطوير. (لا يمثل هذا مصدر قلق إذا كنت مرتاحًا لمراقبة المدقق عن كثب والقدرة على معالجة التغييرات بسرعة وسهولة)
بن إدجينجتون ، مدير مشروع Teku وناشر Eth2.news, زودني ببعض حالات الحافة حيث قد تطلب الشبكة المزيد من عميل المدقق. على المدى القصير ، سيكون القلق الأكبر هو شيء من هذا القبيل حادثة خادم التوقيت Medalla, حيث أدى خطأ وإصلاح لاحق في عميل Prysm إلى توقف عملية الإنهاء على شبكة الاختبار (بشكل تقريبي ، لم تتمكن الشبكة من “إنتاج الكتل”). نظرًا لعدم وجود نهائية على الشبكة (لا توجد “كتل مؤكدة”) ، كان على المدققين إجراء العديد من المعاملات في ذاكرة الوصول العشوائي الخاصة بهم أكثر من المعتاد.
بدأت الأجهزة المزودة بذاكرة وصول عشوائي (RAM) بسعة 8 جيجا بايت – والتي كانت ستكون أكثر من كافية في ظل الظروف العادية – تواجه مشكلات “نفاد الذاكرة” والتي ربما أدت إلى حدوث قطع. ارتفاع مثل هذا ، على الرغم من كونه غير عادي ، ليس واردًا على شبكة المرحلة 0 الرئيسية.
تتمثل أوجه الغموض في التكوين المستقبلي للشبكة في دمج Ethereum 1.0 و 2.0 وإدخال التجزئة. ما زلنا لا نعرف متى ستحدث عمليات الدمج هذه أو ما الذي ستتطلبه بالضبط. أرغب في الحصول على عمود فقري قوي لوحدة المعالجة المركزية في المرحلة 0 (4 نواة افتراضية ، وذاكرة وصول عشوائي 16 جيجابايت مع 100 جيجابايت SSD) ثم أركز انتباهي على التعديلات المستقبلية حول مساحة التخزين (مع ترك مساحة كبيرة للمناورة هنا). يرجى ملاحظة أن هذا قد يكون مبالغة ويأكل المكافآت.
هذه هي “المجهول المعروف” للمستقبل ، دعنا نناقش نقاط قرار التكوين الرئيسية للمدققين اليوم.
لتشغيل أو عدم تشغيل عميل Eth1?
إنها طقوس المرور أحاول إخضاع طلاب المعسكر التدريبي لدينا قدر الإمكان: مزامنة عميل Ethereum 1.0. إنه لسر مكشوف أن استضافة عقدة Ethereum 1.0 “كاملة” هي فعل محب وليس حل معضلة Prisoner’s Dilemma القوية. يجب وضع “كامل” بين علامتي اقتباس لأن مطوري Ethereum core يواجهون صعوبة في الاتفاق على تعريف لما تعنيه “العقدة الكاملة” في الواقع.
شيء واحد يمكننا الاتفاق عليه جميعًا: يستغرق مزامنة عميل Ethereum 1.0 مزيدًا من الوقت والتخزين أكثر مما تتخيل. يحتاج المدققون لدينا إلى طريقة للاستعلام عن قاعدة بيانات شبكة Ethereum 1.0 (سنتعرف على السبب لاحقًا). إذا كنت ترغب في توفير مساحة المزامنة محليًا وصداعها ، فيمكنك استخدام نقطة نهاية Infura, وهو متاح مجانًا عند التسجيل.
على الرغم من أن هذا يوفر قلقًا كبيرًا من التخزين واللوجستيات ، إلا أنه يضحي بقدر معين من اللامركزية لشبكات Eth1 و Eth2 في وقت واحد. إذا كان Infura ينزل, وهو أمر نادر للغاية ولكنه يحدث, قد يتسبب ذلك في حدوث تأثير مضاعف عبر مدققي Ethereum 2.0 باستخدامه لنقطة نهاية Ethereum 1.0 الخاصة بهم. شيء للنظر!
(فقط لنكون واضحين: صعوبة مزامنة عقدة Ethereum الكاملة لها علاقة بطبيعة الحالة العالمية Ethereum ، وليس مع مطوري Ethereum 1.0 الأساسيين الذين قاموا بعمل رائع في التعامل مع هذه المشكلة الصعبة للغاية.)
الظاهري مقابل الاستضافة المحلية
كان الاعتبار التالي بالنسبة لي هو استضافة عقدة التحقق محليًا (في منزلي) أو افتراضيًا (على مزود خدمة افتراضية مثل Amazon Web Services (AWS) ، Digital Ocean ، وما إلى ذلك). كما ذكرت في المقالة السابقة ، لا أثق في نفسي لتشغيل عقدة تحقق ثابتة من المنزل ، حتى على جهاز كمبيوتر محمول قديم مخزن في مكان ما. أخرق وأحمق ، فإما أن أركله أو أنساه.
أختار تشغيل العقدة الخاصة بي على AWS لأن هذا هو أكثر ما أعرفه (بعد إجراء هذه العملية برمتها ، ومع ذلك ، فأنا أخمن هذا القرار. وسأناقش هذا لاحقًا). المفاضلة هنا هي اللامركزية مرة أخرى: إذا تعطلت AWS أو كانت بها أي مشكلات (مثلما حدث مؤخرًا) ، أنا تحت رحمتهم. إذا كان هناك عدد كافٍ من الأشخاص يقومون بتشغيل عقد على AWS ، فيمكن أن يؤثر ذلك على شبكة Ethereum الأكبر.
من المحتمل أن يختار الأشخاص أنفسهم لهذا. الاستضافة المحلية هي نوع خاص من المشاريع وليس لدى الجميع الوقت أو الموارد أو الالتزام المطلوب. في حين أن الاستضافة الافتراضية هي قوة مركزية ، فإنني أختار مواكبة ذلك نظرًا لسهولة الاستخدام و (آمل) ضمان وقت التشغيل.
إذا كنت ترغب في تشغيل عقدة تحقق محليًا ، فلا يزال بإمكانك اتباع التوجيه العام لهذا البرنامج التعليمي, سلسلة دروس Somer Esat الممتازة مع عملاء مختلفين أو يمكنك أيضًا مزامنة Raspberry Pi Model 4B مع ذاكرة وصول عشوائي (RAM) سعة 8 جيجا بايت مع Ethereum على ARM. (لا تزال المزامنة على Raspberry Pi تجريبية جدًا ويجب على الأشخاص الانتظار حتى يؤكد فريق Ethereum في ARM استقراره)
اختيار عميل Eth2 وتجنب العقوبات
خيار رئيسي آخر هو عميل Ethereum 2.0 من بين العملاء الحاليين: منارة, لودستار, نيمبوس, بريسم و تيكو. أنا منحاز بشدة نحو Teku ولست ذكيًا بما يكفي لمناقشة النقاط الدقيقة للعملاء. هذه المقالة هي نظرة عامة جيدة على أداء العميل على Medalla. (ضع في اعتبارك أن Medalla طلب من المعالجات أكثر بكثير مما تطلبه mainnet.)
يتضمن إثبات الحصة مثبطات صريحة لتشجيع السلوك الصحيح على الشبكة. تأخذ هذه شكل المدققين المدققين لكونك غير متصل بالإنترنت والتحرك الأكثر دراماتيكية لخفض الممثلين لاتخاذ إجراءات ضارة ضد الشبكة ، عن علم أو غير ذلك..
ستكون المشكلة الأكثر شيوعًا هي التأكد من توفر المدقق الخاص بك للشبكة. هذا يعني التأكد من أن المدقق الخاص بك متصل بالإنترنت. هناك نهج DevOps لهذه المشكلة – إنشاء نظام المراقبة والتنبيه لتنبيهك إذا كان المدقق الخاص بك غير متصل بالإنترنت – لن أتناوله هنا.
ولكن هناك طريقة أخرى لتكون غير متاح للشبكة ، وذلك إذا بدأ عميلك في إساءة التصرف لسبب أو لآخر. بعد، بعدما خطأ خادم الوقت تسبب في تباطؤ الشبكة في Medalla ، اجتمع مطورو Eth2 core للتطوير “[أ] التنسيق القياسي لنقل سجل توقيع المفتاح يسمح للمدققين بالتبديل بسهولة بين العملاء دون المخاطرة بتوقيع رسائل متضاربة.” لا يتمتع جميع العملاء بهذه الحماية ، ولكن Teku تتمتع بها. هنا يمكنك أن تقرأ عن استخدام الحماية المائلة لـ Teku (يتم تشغيلها افتراضيًا) بما في ذلك الترحيل بين عقد Teku أو عقدة غير Teku إلى Teku.
إذا كنت تواجه مشكلة مع عميلك وتحتاج إلى إعادة تشغيل الشبكة بالكامل ، فيجب أن تكون على دراية بالموضوعية الضعيفة. يسمح إثبات العمل لأي شخص بالعودة إلى الكتلة الأصلية للشبكة وبناء حالة الشبكة من البداية دون ثقة. ومع ذلك ، فإن إثبات الحصة له ميزة في هذا الصدد: إذا استمر ثلث مدققي الشبكة عند نقطة معينة في الخروج مع الاستمرار في توقيع الكتل والتصديق ، فيمكنهم تغيير حالة الشبكة وإدخال تلك البيانات الخاطئة إلى عقدة تتزامن مع الشبكة إذا قبضت الجهات الخبيثة على عقدة المزامنة قبل أن تصل عقدة المزامنة إلى المكان الذي يسحب فيه المدققون أموالهم. يمكنك قراءة المزيد عنها هنا ، ولكن الإجابة المختصرة هي أنك تحتاج إما أن يكون لديك “نقطة تفتيش ذاتية ضعيفة” أو ملف حالة مشفر ، وهو في الأساس أرشيف للشبكة. يوفر Teku علامات بدء التشغيل لكليهما.
الشاغل الأخير للعقوبة هو الأخطر: القطع. يحدث القطع عندما يعمل الراهب ضد قواعد الشبكة. الأمر يختلف عن معاقبتك من كونك غير متصل بالإنترنت. إنه يعمل بنشاط ضد الشبكة من خلال إرسال معلومات متضاربة للمدقق. هناك بعض المواد الرائعة حقًا لتعلم المزيد عن القطع وكيفية منعه:
الوجبات الجاهزة الرئيسية هي عدم تشغيل مفتاح مدقق واحد على عدة عملاء. من الواضح أن هذا هو ما تسبب في أول حدث خفض على الإطلاق, الذي حدث في الثاني من ديسمبر. كان هناك عدد من القطع منذ ذلك الحين! إذا كنت تقوم بالترحيل من مثيل إلى آخر ، فتحقق رباعي من عدم وجود جهازين يعملان من نفس المفتاح:
يرويها بابا بن كما هي. مصدر
مواصفات تكوين أداة التحقق من AWS + Infura + Teku
إعداد كتلة My Genesis:
نظام التشغيل: Ubuntu Server 20.04 LTS (HVM) (خدمة ويب أمازون)
المعالج: سلسلة المعالج Intel Xeon Platinum 8000 ، 3.1 جيجا هرتز. (خدمة ويب أمازون)
ذاكرة: 4 مراكز افتراضية ، وذاكرة وصول عشوائي (RAM) بسعة 16 جيجابايت (Amazon Web Service)
تخزين: 100 جيجا بايت SSD ، 300/3000 IOPS (Amazon Web Service)
عميل Ethereum 1.0: نقطة نهاية Infura (الطبقة المجانية)
عميل Ethereum 2.0: تيكو
بالنظر إلى جميع الاعتبارات المذكورة أعلاه ، لم أكن متأكدًا من أفضل طريقة لإنشاء إعداد مدقق. بالنسبة لي ، أود اختيار آلة ولا أقلق بشكل عام بشأن تغييرها لمدة عامين على الأقل. يساعد هذا في التكلفة الإجمالية لأداة التحقق من الصحة (يمكنني الحصول على خصم كبير من البقاء مع مزود افتراضي لبضع سنوات) وأنا لست مرنًا بشكل خاص مع الخوادم الدوارة. نأمل أن يجعل هذا النهج التدقيق للمستقبل أو “المبالغة في المواصفات” حياتي على مدار العامين المقبلين أسهل قليلاً.
في البداية ، كنت واثقًا من أن AWS كانت أفضل منصة افتراضية وهي الخدمة التي سأستخدمها في هذا المنشور وما يليه. ومع ذلك ، بعد إجراء العملية برمتها ، أدركت أن AWS قد تكون مبالغة بالنسبة للمطور الفردي. يبدو أن القوة الحقيقية لـ AWS تكمن في قدرتها على التوسع بشكل ديناميكي لتلبية الطلب الذي يأتي بتكلفة عالية. هذا منطقي من الناحية الاقتصادية لمشروع واسع النطاق على مستوى المؤسسة ، ولكن فردي Ethereum 2.0 تيار متطلبات العميل لا تتطلب مثل هذه الصرامة.
سأستمر مع AWS ولكني سأستمتع أيضًا بخيار تشغيل مثيل على Digital Ocean ، والذي قد يكون أكثر ملاءمة لمطور فردي. المزيد عن ذلك في وقت لاحق.
قم بإعداد حساب Infura
أختار استخدام Infura كنقطة نهاية Ethereum 1.0 الخاصة بي. في الوقت الحالي ، تراقب سلسلة المنارات عقد الإيداع على Ethereum 1.0 لتنشيط مقدمي الخدمات الجدد عندما يقومون بإيداع 32 ETH بشكل صحيح وتقديم توقيعات BLS المناسبة.
في المستقبل ، ستبدأ سلسلة المنارات في اختبار مزيد من المعالجة من خلال البدء في استخدام معلومات الحالة من Ethereum 1.0 لإنشاء نقاط تفتيش متوازية على سلسلة المنارات.
كما ذكرنا أعلاه ، هناك طريقتان رئيسيتان لرؤية شبكة Ethereum 1.0. الأول هو مزامنة وصيانة عقدة Ethereum 1.0 بشكل نشط ، مما يؤدي إلى إنشاء قاعدة بيانات حالة Ethereum 1.0 محلية. والآخر هو استخدام خدمة مثل Infura ، والتي توفر نقطة نهاية سهلة Ethereum 1.0 ، يمكن الوصول إليها من خلال HTTPS أو مآخذ ويب.
سجل للحصول على حساب هنا. بمجرد أن يكون لديك حساب ، انقر فوق شعار Ethereum على الجانب الأيسر.
انقر فوق “إنشاء مشروع جديد” في الزاوية اليمنى العليا
قم بتسمية مشروعك (الخاص بي هو “Eth 2 Validator”) ، وانتقل إلى “الإعدادات” ، وتأكد من أن نقاط نهاية الشبكة الخاصة بك هي “Mainnet” وانسخ نقطة نهاية HTTPS:
سنستخدم هذا لاحقًا لأمر بدء تشغيل عميل Teku الخاص بنا!
إعداد مثيل AWS
يعد إعداد مثيل EC2 على Amazon أمرًا بسيطًا. سيكون لدينا بعض التعديلات هنا وهناك لمساعدة مثيلنا الافتراضي على اللعب بشكل جيد مع Teku.
أنشئ حساب AWS (يختلف عن حساب Amazon.com) وقم بتسجيل الدخول إلى AWS Console. انتقل إلى صفحة EC2 ، والتي ستبدو كالتالي:
انقر فوق الزر “تشغيل المثيل”. سترى بعد ذلك الشاشة التالية:
نظام التشغيل
هذا هو المكان الذي نختار فيه صورة الجهاز (التي أعتقد أنها نظام تشغيل) التي نود استخدامها في مثيلنا الافتراضي. لقد قمت بتحديد Ubuntu Server 20.04 ، وهي بيئة خادم تستند إلى Linux. تحتوي بيئة خادم Ubuntu على بعض اختلافات التحسين الرئيسية من بيئة Ubuntu Desktop. الاختلاف الرئيسي لأغراضنا هو أن خادم Ubuntu يفتقر إلى واجهة المستخدم الرسومية (GUI). أين نحن ذاهبون ، هناك سطر أوامر فقط! يعيدني إلى أيام Apple II الخاصة بي.
بعد تحديد نظام التشغيل الخاص بنا ، نختار نوع المثيل الخاص بنا:
أجد أن هذه القائمة مربكة للغاية ، لذلك سأقوم بتقسيمها قليلاً من أجلك. نحن هنا نختار مركز الحوسبة / طاقة ذاكرة الوصول العشوائي / وحدة المعالجة المركزية لجهازنا. إنها “الذاكرة الأولية” أو “النشطة” للجهاز ومنفصلة عن التخزين (القرص الصلب) للجهاز. فكر في الأمر على أنه محرك المثيل الافتراضي الخاص بنا ، والذي سنقوم عليه بتشغيل نظام تشغيل Ubuntu Server الخاص بنا. تفصل AWS هذه المجموعات إلى عائلات مثيل منفصلة يُشار إليها بمجموعة الأحرف / الأرقام في العمود أقصى اليسار.
تمتلك عائلات المثيلات ترتيبات مختلفة للأجهزة تمامًا مثلما تحتوي محركات السيارات المختلفة على تكوينات مختلفة من المكابس والمقابس والوقود لتلبية المتطلبات المختلفة. سوف نركز على اثنتين من عائلات مثيلات “الحساب العام” ، وهما m5 و t3.
أحدد مثيل m5.xlarge ، والذي يوفر 4 مراكز حوسبة افتراضية (vCPU) وذاكرة وصول عشوائي (RAM) بسعة 16 جيجابايت. بعد تشغيل شبكة Ethereum 2.0 mainnet لمدة يوم أو نحو ذلك ، لم يستخدم جهازي أكثر من 4٪ من وحدة المعالجة المركزية الافتراضية المتاحة. كما هو مذكور في قسم “تدقيق المستقبل” أعلاه ، فإن متطلبات شبكة Ethereum 2.0 سوف تنمو فقط. ولكن في الأشهر القليلة المقبلة ، في ظل غياب أي ارتفاعات كبيرة مطولة في الشبكة ، من المرجح أن أكون بخير مع مثيل كبير m5 (نواة افتراضية / وحدات معالجة مركزية افتراضية ، وذاكرة وصول عشوائي سعة 8 جيجابايت)
لقد أوصى الأشخاص الفنيون الأكثر ذكاءً مني أيضًا بالمثال t3.large كخيار معقول لـ Ethereum 2.0. يحتوي t3.large على وحدتي vCPU وذاكرة 8GB ، تمامًا مثل m5.large ، ولكن تم تصميم عائلة t3 من أجل نشاط شبكة أكثر “قابلية للانفجار” (ارتفاعات في وحدة المعالجة المركزية) بدلاً من عائلة m5 المصممة لأحمال وحدة المعالجة المركزية المتسقة.
التسعير
آخر شيء يجب ذكره قبل الانتقال إلى التخزين هو السعر. AWS باهظة الثمن مقارنة بالخيارات الأخرى مثل Digital Ocean. أنت تدفع مقابل وحدة المعالجة المركزية (عائلة المثيل) والتخزين (محرك الأقراص الثابتة) بشكل منفصل بناءً على ما تستخدمه. يتم دفع ثمن وحدة المعالجة المركزية بالساعة. نظرًا لأن المدققين يجب أن يكونوا متصلين بالإنترنت لمدة 24 ساعة ، يمكنك استخدام جدول الأسعار أدناه (من ديسمبر 2020) لإجراء بعض الحسابات التقريبية:
هذه أسعار حسب الطلب. تقدم AWS شيئًا يسمى تسعير المثيل المحجوز, إذا وعدت بالحصول على مثيل افتراضي من عام إلى ثلاث سنوات ، فيمكنك الحصول على تخفيض في التكلفة بنسبة تصل إلى 50-60٪ على جدول الأسعار أعلاه. (بفضل جيسون كرومان لهذه النصيحة!)
من الصفحة الرئيسية لـ EC2 ، انقر فوق “المثيلات المحجوزة” في القائمة اليمنى ، الموضحة أدناه:
انقر فوق “شراء مثيل محجوز”:
في القائمة المنبثقة ، أدخل تفاصيل نوع المثيل ومقدار الوقت المطلوب لمعرفة أسعاره (أنا أختار m5.xlarge ومدة 36 شهرًا):
انقر فوق “بحث” وشاهد خيارات الأسعار:
هناك خصم كبير على السعر ، أعتقد أنه يزيد عن 50٪ ، لكني محتجز منذ ثلاث سنوات. بمجرد شراء المثيل المحجوز ، تقوم AWS بعد ذلك بتطبيقه على مربع افتراضي موجود أو ستطبقه بمجرد إطلاقه. تذكر أن هذا لا يشمل مساحة التخزين (القرص الصلب).
ملاحظة: لم أفعل ذلك حتى الآن ، لأنني لست مقتنعًا بعد بأن AWS هو الخيار الأفضل لمخزن فردي واحد إلى ثلاث عقد للتحقق من Ethereum 2.0. أقوم بتشغيل مثيل بنظام التسعير عند الطلب لمعرفة كيف ستسير الأمور قبل الالتزام.
تخزين
بالعودة إلى عملية إطلاق المثيل ، ننتقل إلى علامة التبويب “إضافة تخزين”
أوصى الأشخاص الفنيين اللامعين الذين استشرتهم بكمية تخزين تبلغ 100 جيجابايت SSD للأغراض العامة. التخزين في العادة لا يمثل عنق الزجاجة مع عملاء Eth2. ومع ذلك ، هذا هو بدون تشغيل عميل Eth1 كامل. بالنسبة لتخزين Eth1 ، سيكون تقدير التخمين المتحفظ حوالي 1 تيرابايت. تأكد من حساب هذا إذا كنت لا تستخدم Infura.
لا أعرف الوحدة الموجودة في عمود IOPS في الصورة أعلاه ، ولكنها عبارة عن مدخلات ومخرجات لمحرك الأقراص الصلبة الذي يتواصل مع وحدة المعالجة المركزية. هذا هو عنق الزجاجة الكلاسيكي لمزامنة عقدة Eth1 الكاملة. إذا كنت تتطلع إلى مزامنة عميل Eth1 كامل على هذا الجهاز وكنت تواجه مشكلات ، فقد يكون هذا مكانًا للبحث فيه.
الموانئ
تخطي “إضافة علامات” ، انتقل إلى “تكوين مجموعة الأمان”. هذه هي الفتحات المختلفة التي تم إنشاؤها لأنواع مختلفة من الاتصالات الواردة والصادرة مع المثيل.
تفتح AWS تلقائيًا منفذ SSH التقليدي ، لأن هذه هي الطريقة الرئيسية التي سنتفاعل بها مع المثيل. عملة الكاجو و سومر ايسات يوصي كل من الأدلة الممتازة بتعطيل الوصول بكلمة المرور لـ SSH ، لكننا سنرى عندما نطلق المثيل الذي ليس هو الخيار الافتراضي لـ AWS. ومع ذلك ، من الجيد أن تقوم بترتيب منفذ SSH عشوائيًا إلى رقم بين 1024-65535. هذا لمنع الجهات الخبيثة من فحص الشبكة لمنفذ SSH القياسي. تعرف على كيفية تأمين منفذ SSH بشكل عام هنا وعلى وجه التحديد لـ AWS هنا.
يتعين علينا إضافة قاعدتين للأمان لاستيعاب عميل Teku ويتعلق الأمر بالاتصال من نظير إلى نظير. تعتبر شبكات Blockchain لامركزية بمعنى أن العقد تتحدث مباشرة مع بعضها البعض. بدلاً من استشارة العقدة المركزية ، ستعمل العقدة الفردية على تطوير فهم لحالة الشبكة والحفاظ عليه من خلال “النميمة” مع العديد من العقد. هذا يعني أنه عندما يصافح أحد العملاء مع آخر ، فإنهم يتبادلون المعلومات حول الشبكة. تنتشر المعلومات في جميع أنحاء الشبكة ، ويتم ذلك مرات كافية مع عقد مختلفة. حاليًا ، لدى عقدة Eth2 Validator 74 نظيرًا تتحادث معهم.
يتواصل Teku مع العقد الأخرى على المنفذ 9000 ، لذلك سنفتح ذلك لـ UDP و TCP, نوعين مختلفين من بروتوكولات الاتصال.
بعد ذلك ، يجب أن تبدو كما يلي:
مفاتيح SSH وإطلاق المثيل
أخيرًا ، انتقل إلى “المراجعة والتشغيل” ، نظرة عامة على الخيارات التي تم إجراؤها. بمجرد الموافقة ، ستكون هناك قائمة منبثقة حول مفاتيح SSH. أنا لا أعرض بياناتي لأنها تحتوي على معلومات حساسة. وهي ، زوج المفاتيح المستخدم للمصادقة وتسجيل الدخول إلى المثيل الظاهري عبر SSH (سطر الأوامر المحلي). إذا لم يكن لديك زوج بالفعل ، فستنشئ AWS زوجًا لك. يجب عليك تنزيل هذا ومعاملته كمفتاح خاص في Ethereum! إنها الطريقة الوحيدة للاتصال بالمثيل الخاص بك ولن تقوم AWS بحفظه لك.
بمجرد أن يصبح كل شيء على ما يرام ، ستظهر هذه النافذة:
تمام! يتم ذلك من خلال ، دعنا ننتقل إلى الوصول إلى مثيلنا وتأمينه ثم تثبيت Teku وتشغيله!
الوصول إلى المثيل
الطريقة الرئيسية للوصول إلى مثيل AWS هي من خلال SSH, “بروتوكول تشفير لتشغيل خدمات الشبكة بأمان عبر شبكة غير آمنة.” كما ذكرنا سابقًا ، تقوم AWS افتراضيًا بتعطيل مصادقة كلمة المرور للوصول إلى المثيل. يمكنك فقط استخدام زوج المفاتيح الذي تم إنشاؤه قبل إطلاق المثيل. يجب أن يكون لزوج المفاتيح ملف a.pem ينتهي.
توفر AWS طريقة نظيفة للحصول على أمر SSH الخاص بك. بالنقر على المثيل قيد التشغيل من صفحة EC2 الرئيسية ، يوجد زر في أعلى اليد اليمنى يقول “اتصال”:
في الصفحة التالية ، سيكون هناك أمر SSH خاص بمثيلك. سيتم تنظيمها على النحو التالي:
ssh -i "PATH_TO_AWS_KEYPAIR.pem" [البريد الإلكتروني محمي]_IDENTIFIER.compute-ZONE.amazonaws.com
إدخال هذا الأمر في المحطة سيبدأ جلسة SSH. في المرة الأولى ، سيسألك الجهاز المحلي عما إذا كنت ترغب في الوثوق ببصمة ECDSA المقدمة من AWS. هذا لمنع أ رجل في منتصف الهجوم وإذا كان الأمر كذلك ، يمكن للمستخدم الحصول على بصمة إصبع المثيل هذه الخطوات.
في محطة منفصلة عن جلسة SSH الحالية ، انقل ملفات مفتاح المدقق اللازمة لتشغيل Teku. في منشور المدونة السابق ، مررنا عبر Staking 32 ETH والحصول على مفاتيح التحقق من صحة Ethereum 2.0. في النهاية ، تركنا هيكل الملف هذا:
eth2deposit-cli / └── validator_key_info / ├── KEYSTORE-M_123456_789_ABCD.json ├── KEYSTORE-M_123456_789_ABCD.txt └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
نحتاج إلى نقل ملف validator_key_info إلى مثيلنا الافتراضي. بروتوكول النسخ الآمن (scp) يسمح لنا بالقيام بذلك بأمان. قم بتكييف أمر scp العام أدناه باستخدام المسار إلى الدليل أعلاه وأمر SSH السابق:
scp -r -i "PATH_TO_AWS_KEYPAIR.pem" / PATH_TO_KEYS / eth2deposit-cli / validator_key_info / [البريد الإلكتروني محمي]_IDENTIFIER.compute-ZONE.amazonaws.com:~
(لاحظ “: ~” في نهاية الأمر بأكمله.)
يجب أن ترى حدوث نقل للملف. إذا عدت إلى جلسة SSH الخاصة بك وقمت بكتابة الأمر ls ، فسترى الدليل المنقولة.
تثبيت Teku
الآن بعد أن أصبح لدينا ملفات المدقق التي نحتاجها ، سنقوم بتثبيت Teku. أولاً ، علينا تحديث البرامج الموجودة وتثبيت أنظمة Java المطلوبة:
قم بتثبيت Java
sudo apt التحديث && sudo apt install default-jre && sudo apt install default-jdk
تحقق مرة أخرى من تثبيت Java بنجاح مع:
جافا الإصدار
تثبيت ثنائي
ابحث عن أحدث إصدار مستقر من Teku هنا. انسخ عنوان الارتباط إلى ملف tar.gz ، ثم من جلسة SSH الخاصة بك ، قم بتنزيله. هذا ما بدا لي ، من المرجح أن يكون إصدارك مختلفًا:
curl -JLO https://bintray.com/consensys/pegasys-repo/download_file؟file_path=teku-20.11.1.tar.gz
قم بفك ضغط الملف الذي تم تنزيله باستخدام الأمر التالي. إذا كان لديك إصدار مختلف ، فقم بتبديل اسم الملف هذا بدلاً من teku-20.11.1.tar.gz:
tar -zxvf teku-20.11.1.tar.gz
لدواعي النظافة ، قم بإزالة ملف tar.gz.
بعد كل هذه الخطوات ، إليك الشكل الذي يجب أن يبدو عليه دليل منزلك (قد يختلف رقم إصدار Teku ومحتوياته:
ubuntu / └── teku-20.11.1 / LICENSE ├── bin / lib / licence -ependency.html ├── teku.autocomplete.sh └── validator_key_info / ├── KEYSTORE -M_123456_789_ABCD.json ├── KEYSTORE-M_123456_789_ABCD.txt └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
قم بإنشاء مستخدم غير جذري
تم نسخ هذه الخطوة من Somer Esat ممتاز Ubuntu / Teku تعليمي
سننشئ مستخدمًا غير جذر يسمى teku يمكنه تشغيل Teku. اكتب ما يلي:
sudo useradd – no-create-home – shell / bin / false teku
سننشئ دليل بيانات مخصصًا لـ Teku أيضًا ، ثم نمنح مستخدم teku حق الوصول إليه:
sudo mkdir / var / lib / teku && sudo chown -R teku: teku / var / lib / teku
إنشاء خدمة النظام
هذه الخطوة مقتبسة من Somer Esat ممتاز Ubuntu / Teku تعليمي
ستؤدي هذه الخطوة إلى إنشاء خدمة تقوم بتشغيل Teku في الخلفية. سيسمح أيضًا للجهاز بإعادة تشغيل الخدمة تلقائيًا إذا توقفت لسبب ما. هذه خطوة ضرورية للتأكد من أن المدقق يعمل 24-7.
قم بإنشاء ملف الخدمة باستخدام محرر نصوص nano:
sudo nano /etc/systemd/system/teku.service
في هذا الملف (الذي يجب أن يكون فارغًا) ، سنضع سلسلة من الأوامر لكي ينفذها systemd عند بدء الخدمة. إليك الكود أدناه ، سيتعين عليك إدراج العناصر التالية التي جمعناها خلال هذه الرحلة:
- نقطة نهاية HTTP Eth1 Infura
- validator_key_info مسار الدليل مع ملفين صالحين مرتبطين بالمفتاح
- مسار البيانات المخصص (lib / var / teku)
ضع هذه القيم في الكود الغامق أدناه ، ثم انسخها كلها في محرر نصوص nano:
[الوحدة] الوصف = تريد عقدة Teku Beacon = network-online.target After = network-online.target [الخدمة] النوع = simple User = teku Group = teku Restart = RestartSec = 5 ExecStart = / home / ubuntu / teku-20.11 .1 / bin / teku – الشبكة = mainnet –eth1-endpoint = INFURA_ETH1_HTTP_ENDPOINT_GOES_HERE –validator-keys = / home / ubuntu / validator_key_info / KEYSTORE-M_123456_789_ABCD.json: /home/ubuntu/validator_key_info/validator_keys/89 –rest-api-enabled = true –rest-api-docs-enabled = true – metrics-enabled –validators-keystore-locking-enabled = false –مسار قاعدة البيانات = / var / lib / teku [تثبيت] WantedBy = multi-user.target
اكتب الأمر X ، ثم اكتب “Y” لحفظ التغييرات
علينا إعادة تشغيل “systemctl” لتحديثه:
sudo systemctl الخفي إعادة تحميل
ابدأ الخدمة:
sudo systemctl ابدأ teku
تحقق للتأكد من أنه بدأ على ما يرام:
sudo systemctl status teku
إذا رأيت أي أخطاء ، فاحصل على مزيد من التفاصيل عن طريق تشغيل:
sudo journalctl -f -u teku.service
يمكنك إيقاف خدمة Teku عن طريق تشغيل:
sudo systemctl stop teku
تحقق من صفحة استكشاف الأخطاء وإصلاحها Teku بحثًا عن الأخطاء الشائعة أو تحقق من الخلاف Teku, التي يراقبها الفريق.
بمجرد أن تشعر أنه قد تم تسوية الأمور ، قم بتمكين الخدمة من إعادة التشغيل إذا تم إيقاف تشغيلها عن طريق التشغيل:
sudo systemctl تمكين teku
ها أنت ذا! يجب أن يتم طهي الأشياء على طول الآن. عند فحص خدمة Teku ، سترى سلسلة من السجلات تشير إلى حدث مزامنة ، وهذا هو المدقق الذي يقوم بمزامنة سلسلة المنارة. بمجرد وصولها إلى الرأس ، ستتغير هذه السجلات لقراءة حدث Slot ، وسترى أيضًا أداء التصديق وعروض الحظر.
إطلاق
المصدر: Beaconcha.in
في الأول من كانون الأول (ديسمبر) الساعة 12 ظهرًا بالتوقيت العالمي المنسق ، تم التحقق من صحة الكتل الأولى لسلسلة منارة بيكون. الكتلة الأولى جاءت من المدقق 19026, مع الكتابة الغامضة على الجدران ، “كان السيد F هنا.” بعد اثني عشر ثانية جاءت الكتلة التالية ، الكتابة على الجدران تشير إلى أن المدقق قد يكون موجودًا فيه زوغ ، سويسرا. نمت سلسلة منارات Eth2 بشكل مطرد ، كتلة كتلة كل 12 ثانية. ثم جاءت العقبة التالية: هل سيكون هناك عدد كافٍ من المدققين على الإنترنت لإنهاء المرحلة الأولى؟ نعم! 82.27٪ من المدققين شهدوا بصحة الحقبة 0 ، الطابق الأرضي الذي يضرب به المثل لسلسلة منارة. يمكنك قراءة المزيد حول إطلاق Beacon Chain وماذا بعد ذلك هنا.
المصدر: Beaconcha.in
نحن الآن في Epoch 760 ، مما يعني أن Beacon Chain تعمل بسلاسة لمدة أسبوع تقريبًا.
هذه لقطة من وجهة نظري للحظة التكوين ، باستخدام الإعداد الموضح في هذا المنشور:
في الدفعة التالية ، سنلخص كيف تسير الأمور. سأصل إلى المقاييس من Teku ، وسأناقش تكلفة تشغيل AWS ، وأناقش بإيجاز حالة الشبكة.
ابقوا متابعين!
الموارد والروابط
بفضل جيمس بيك ، وميريديث باكستر ، وجيسون كرومان ، وآرون ديفيس ، وشاميندا ديفيتوتاويلا ، وبن إدجينتون ، وذا دارك جيستر ، وسومر إيسات ، وجوزيف لوبين ، وكولين مايرز ، ونيك نيلسون ، ومارا شميدت ، وأدريان ساتون ، وأليكس تودوراتش على الدعم والمساعدة الفنية.
اشترك في النشرة الإخبارية الخاصة بنا للحصول على أحدث أخبار Ethereum وحلول المؤسسات وموارد المطورين والمزيد.