تشغيل عقدة Geth: Go-Ethereum على شبكة Ethereum
قررتَ التوقف عن الاعتماد على نقطة نهاية Infura لإدارة بيانات محفظتك. ربما عرض عليك صديقٌ شرح كيفية تخزين 32 إيثيريوم. ربما يكون تطبيقك اللامركزي على وشك الانهيار بسبب تجاوز حدّ معدل المعاملات في يوم إطلاقه. مهما كان السبب، فالجملة التالية واحدةٌ دائمًا: أنت بحاجة إلى تشغيل عقدة Geth.
تبدو هذه الجملة أكثر تعقيدًا مما هي عليه في الواقع. Geth، اختصارًا لـ go-ethereum، هو عميل تنفيذ إيثيريوم الأصلي، كُتب بلغة البرمجة Go بواسطة جيفري ويلك وفريق عالمي مفتوح المصدر في عام 2014. يمكن تشغيله على أي حاسوب محمول حديث مزود بقرص SSD ذي سعة تخزين كبيرة. وكذلك على جهاز Hetzner باشتراك شهري قدره 30 دولارًا. تكمن الصعوبة في أوامر التثبيت، وليس في الخيارات المحيطة بها: أي وضع مزامنة نختار، وأي عميل توافق نربطه بـ Geth، وماذا يحدث بعد عملية الدمج، وكيفية الحفاظ على تشغيل العقدة عند امتلاء القرص في الساعة الثانية صباحًا.
يشرح هذا الدليل العملية كاملةً. بدءًا من شراء الأجهزة، مرورًا بالتثبيت، ومزامنة Snap، والاقتران بعد دمج البيانات مع عميل الإجماع، ووحدة تحكم JavaScript، والحسابات وClef، وإعداد المدقق، وصولًا إلى الأعطال الشائعة. في نهاية هذا الدليل، ستعرف تمامًا ما يفعله جهازك عند ظهور سجلات الأخطاء البيضاء، وما يجب فعله عند توقفها.
ما هي عقدة Geth ولماذا هي مهمة اليوم؟
عقدة Geth هي جهاز كمبيوتر يُشغّل عميل go-ethereum ومتصل بشبكة إيثيريوم اللامركزية. يقوم الجهاز بتنزيل الكتل، والتحقق من كل معاملة، وتشغيل العقود الذكية على آلة إيثيريوم الافتراضية، والاحتفاظ بنسخة متزامنة من حالة الشبكة. من الخارج، تبدو كعملية هادئة تستمع إلى بعض المنافذ. أما في الداخل، فهي بمثابة محاسب دقيق لا يقبل أي بيانات أخرى. تحتفظ بنسختها الخاصة من بيانات سلسلة الكتل، وتتيح لمحفظتك التحقق من أرصدة الحسابات أو إرسال المعاملات إلى السلسلة، كما تتيح لتطبيقك اللامركزي التفاعل مع سلسلة الكتل مباشرةً بدلاً من استخدام واجهة برمجة تطبيقات خارجية.
لماذا يُعدّ كل هذا مهمًا في عام 2026؟ التركيز. يمرّ معظم حركة مرور التطبيقات اللامركزية العامة على شبكة إيثيريوم عبر عدد قليل من مزوّدي خدمات RPC المستضافة - مثل Infura وAlchemy وQuickNode، بالإضافة إلى بعض الشركات الأصغر. وقد قامت Infura وحدها بمعالجة أكثر من 600 مليار طلب على سلسلة الكتل العام الماضي. وهي موثوقة في الغالب، ولكنها أيضًا تُشكّل نقطة ضعف رئيسية: فعندما يتعطل أحد المزوّدين في منطقة ما، تظهر نصف المحافظ المُوجّهة إلى تلك النقطة أرصدة قديمة ومعاملات عالقة إلى حين إصلاحها. شغّل عقدة Geth الخاصة بك، ولن تُشكّل هذه المشكلة برمتها عائقًا أمامك.
الأمر يتعلق أيضاً بالأرقام. يُحصي مُتتبع عُقد إيثرسكان حوالي 13,678 عُقدة إيثيريوم نشطة حول العالم اعتباراً من أبريل 2026. تمتلك الولايات المتحدة 37.55% منها، أي حوالي 5,171 عُقدة. أما ألمانيا فلديها 16.05%، والصين 12.06%. إن إنشاء عُقدة إضافية ليس عملاً بطولياً، بل هو أمرٌ مفيد، وتستمر الشبكة في الاعتماد على جهود المستخدمين.
هناك سبب أعمق أيضًا. يبقى إيثيريوم إيثيريوم لأن أي شخص يستطيع التحقق منه دون طلب إذن. يُعدّ Geth العميل الأكثر شيوعًا لإجراء هذا التحقق. في كل مرة يُضيف فيها مُشغّل مستقل عقدة Geth جديدة، يصبح اختراق الشبكة أكثر صعوبة. هذا المنطق موجود قبل عملية الدمج ولم يضعف منذ ذلك الحين.

جيث، جو إيثيريوم، وبروتوكول إيثيريوم
ثلاثة أسماء، مشروع واحد. يخلط الناس بينها في المحادثات ولا يحدث أي خلل، ولكن إليكم التفاصيل الفعلية.
بروتوكول إيثيريوم ليس كودًا برمجيًا، بل هو مواصفات مكتوبة على الورق الأصفر ومجموعة كبيرة من مقترحات تحسين إيثيريوم (EIPs)، ويمكن لأي شخص كتابة برنامج عميل له. أما Go Ethereum، أو go-ethereum، فهو تطبيق بروتوكول إيثيريوم بلغة Go. Geth هو برنامج سطر الأوامر الموجود داخل Go Ethereum، والذي يُشغّل من سطر الأوامر، ويُضبط باستخدام الخيارات، ويُستخدم للتفاعل مع شبكة إيثيريوم. كل ما عدا ذلك في المستودع عبارة عن مكتبات ووظائف مساعدة مُغلّفة به. "عقدة Geth" هي ببساطة جهاز قمت بتشغيل Geth عليه، ووجهته إلى دليل `chaindata`، وتركته يتصل بشبكة إيثيريوم الرئيسية.
توجد برامج عميلة مختلفة لنفس البروتوكول. Nethermind مكتوب بلغة C#، وBesu مكتوب بلغة Java، وErigon وReth كلاهما مكتوبان بلغة Rust. جميعها تستخدم نفس تنسيق البيانات، ولكن تختلف في الكود والأداء والسجلات.
يُعدّ Geth أقدمها. ساهم فيه أكثر من 400 شخص، ويتولى بيتر سزيلاجي إدارته منذ سنوات. مقره الرئيسي هو مؤسسة إيثيريوم، ومصدره متاح على ethereum/go-ethereum على GitHub، ورخصته هي رخصة جنو العمومية العامة، GPL-3.0 للملفات التنفيذية وLGPL-3.0 لرمز المكتبة. الإصدار المستقر الحالي، وقت كتابة هذا، هو v1.17.2 - الاسم الرمزي "EMF Suppressor" - سيصدر في 30 مارس 2026. وقد عالج ثلاث ثغرات أمنية (CVE-2026-26313، -26314، -26315) وعلّم العميل كيفية المزامنة مع سلاسل الكتل التي تم حذف سجلاتها قبل تحديث براغ.
تأتي مجموعة من الأدوات الشقيقة مع Geth. Clef هو مُوقِّع منفصل يحافظ على مفاتيحك الخاصة بعيدًا عن العقدة نفسها. يحوّل Abigen واجهة برمجة تطبيقات Solidity إلى روابط Go قابلة للاستخدام. تتيح لك أداة `evm` تشغيل رمز البايت بشكل منفصل عند الحاجة إلى تصحيح خطأ مُحدد. لا يُشترط استخدام أي منها، لكنك ستستخدم واحدًا منها على الأقل خلال أسبوع.
لماذا تشغيل عقدة: الخصوصية، السرعة، السيادة
يلجأ معظم من يديرون عقدة Geth الخاصة بهم إلى هذا الخيار لأحد ثلاثة أسباب رئيسية. أولاً، الخصوصية. فعندما تتصل محفظة بخادم RPC مُستضاف، يرى هذا الخادم كل عنوان، وكل استدعاء للعقد، وكل طلب عرض سعر. أما العقدة المُستضافة ذاتيًا فتقطع هذا الاتصال. إذ لا وجود للخادم. محفظتك تطلب من جهازك، وجهازك يطلب من الشبكة، وجهازك فقط هو من يرى البيانات.
الأداء هو السبب الثاني. تُقيّد خوادم RPC المستضافة سرعة نقل البيانات. يبلغ الحد الأقصى للطلبات في المستوى المجاني من Infura 100,000 طلب يوميًا؛ بينما تبلغ تكلفة مستوى Team 225 دولارًا شهريًا مقابل 75 مليون طلب يوميًا. تُقدّم العقدة المحلية حركة مرور البيانات بسرعة الذاكرة دون أي تكلفة لكل استدعاء. بالنسبة لتطبيق لامركزي يسحب الحالة مع كل تحميل للصفحة، يكون فرق زمن الاستجابة ملحوظًا. أما بالنسبة لروبوت المراجحة الذي يفحص ذاكرة التخزين المؤقت، فهو الفرق بين إتمام الصفقة ومشاهدتها تمر سريعًا. عالجت الشبكة الرئيسية نفسها حوالي 200.4 مليون معاملة في الربع الأول من عام 2026، وبلغت ذروتها عند 2.88 مليون معاملة في 16 يناير، لذا فإن العقدة القادرة على مواكبة الشبكة تُؤدي عملًا حقيقيًا.
السيادة هي المعيار الثالث. إذا قمتَ بتخزين بياناتك على شبكة إيثيريوم، فإن الشبكة تتوقع من مُدقِّقك نشر كتلة عندما يحين دوره. يُعدّ تفويض عملية النشر إلى بروتوكول RPC مشترك مسموحًا به تقنيًا، ولكنه هشّ من الناحية التشغيلية. شغّل عميل طبقة التنفيذ الخاص بك، وستتحكّم بدورك. وينطبق الأمر نفسه على مُطوّري التطبيقات اللامركزية الجادّين، ومحلّلي البيانات على السلسلة، والباحثين عن أفضل قيمة للتحقق من صحة البيانات، وأي شخص يعتمد عمله على توفّر إيثيريوم له تحديدًا.
بعد الدمج: Geth وعميل Consensus الخاص بك
قبل سبتمبر 2022، كان برنامج Geth واحدًا يقوم بكل شيء. كان يتواصل مع الشبكة، ويشغل آلة إيثيريوم الافتراضية (EVM)، ويختار الكتلة الفائزة من بين الكتل المتنافسة عبر آلية إثبات العمل. بعد دمج الشبكة، تم تقسيم هذا العمل إلى النصف. لا يزال Geth يشغل آلة إيثيريوم الافتراضية ويحتفظ بالبيانات. أما البرنامج الثاني - عميل الإجماع - فيتولى الآن آلية إثبات الحصة: تبادل المعلومات بين المدققين، والتصويت على ما يُعتد به، وإبلاغ Geth بالنسخة المعتمدة.
لذا، فإن كل إعداد حديث لـ Geth عبارة عن زوج من العمليات، وليس عملية واحدة. اختر عميل إجماع لتشغيله بالتوازي معه. الخيارات المتاحة هي Lighthouse (Rust)، وPrysm (Go)، وTeku (Java)، وNimbus (Nim)، وLodestar (TypeScript). تتواصل العمليتان مع بعضهما البعض عبر قناة خاصة تُسمى واجهة برمجة تطبيقات المحرك (Engine API)، ويتم التحكم بها بواسطة سر JWT تقوم بإنشائه مرة واحدة وتمريره إلى كلا الطرفين باستخدام `--authrpc.jwtsecret`.
شغّل Geth بمفرده، بدون عميل توافق، وستظهر في السجلات رسالة مثل: "شبكة ما بعد الدمج، ولكن لم يتم رصد عميل إشارة. يُرجى تشغيل واحد لمتابعة السلسلة!". ستبقى العقدة في مكانها، غير فعّالة. لم يعد Geth بمفرده عقدة إيثيريوم كاملة. الزوج هو الوحدة.
يُعدّ تنوّع العملاء أمرًا بالغ الأهمية هنا. يطالب مجتمع إيثيريوم المشغلين بتوزيع تطبيقاتهم على جانبي الانقسام، لأنه إذا انتهى المطاف بأكثر من ثلثي المدققين على نفس العميل الذي يعاني من خلل، فإن هؤلاء المدققين سيواجهون عقوبة خصم كاملة قدرها 32 إيثيريوم عند حدوث أي عطل. تشير أحدث الإحصائيات من موقع clientdiversity.org إلى أن نسبة عملاء Geth ستصل إلى حوالي 41% في عام 2026؛ بينما يشير تقرير Stake.fish لعام 2026 إلى نسبة أقرب إلى 50%. على أي حال، هذه النسبة أقل من أكثر من 86% في عام 2023، ولكنها لا تزال أعلى من عتبة الأمان البالغة 33% التي يعتبرها المجتمع مثالية. ولهذا السبب، يختار بعض المشغلين الجدد عمدًا Nethermind أو Besu أو Reth، على الرغم من أن Geth هي الخطوة الأولى الأسهل.
أحدثت ترقية Pectra، التي تجمع بين براغ وإلكترا والتي تم تفعيلها في 7 مايو 2025، تغييرًا جذريًا في مهام مشغلي الشبكات. رفعت EIP-7251 الحد الأقصى للرصيد الفعلي لكل مدقق من 32 إيثيريوم إلى 2048 إيثيريوم. وبذلك، أصبح بإمكان مشغلي التخزين، الذين كانوا يديرون 1000 مدقق بشكل فردي، دمجهم في 16 مدققًا رئيسيًا. كما قلّصت EIP-6110 فترة الانتظار بين الإيداع والتفعيل من حوالي 12 ساعة إلى حوالي 13 دقيقة. ومنحت EIP-7002 المدققين القدرة على بدء عملية السحب بأنفسهم، بدلًا من انتظار توقيع المودع الأصلي. أصبح تشغيل مجموعة مدققين مرتبطة بشبكة Geth في عام 2026 أسهل بكثير مما كان عليه في عام 2024.
المكونات المادية: وحدة المعالجة المركزية، وذاكرة الوصول العشوائي، ووحدة التخزين SSD لعقد Geth
مستوى الأجهزة المطلوبة في عام 2026 أعلى مما هو مذكور في الوثائق الرسمية. لذا، خطط للسنوات الثلاث القادمة، وليس للسنوات الثلاث الأخيرة.
| عنصر | الوثائق الرسمية لـ Geth (2023، لا تزال سارية) | واقع بمستوى المشغل (خوادم تشيري، تشينستاك، 2026) | عقدة الأرشيف (مستندة إلى المسار، الإصدار 1.16+) |
|---|---|---|---|
| وحدة المعالجة المركزية | معالج رباعي النواة | معالج AMD أو Intel حديث ثماني النواة / 16 خيطًا | 8 أنوية أو أكثر، أداء عالي أحادي الخيوط |
| كبش | 16 جيجابايت | 32 جيجابايت كحد أدنى، و64 جيجابايت أكثر سلاسة | 64 جيجابايت أو أكثر |
| تخزين | قرص صلب SSD بسعة 2 تيرابايت | محرك أقراص الحالة الصلبة NVMe بسعة 4 إلى 8 تيرابايت | 4 تيرابايت NVMe (معتمد على المسار، تم استخدام حوالي 2 تيرابايت) |
| شبكة | 25 ميجابت في الثانية | من 300 إلى 500 ميجابت في الثانية لبروتوكول RPC الكامل | سرعة 300 ميجابت في الثانية أو أكثر |
| قوة | توصي شركة UPS | توصي شركة UPS بشدة | مطلوب UPS |
التخزين هو ما يُفاجئ المشغلين الجدد. تبلغ سعة عقدة Geth الكاملة، بعد مزامنتها وتقليص حجمها، حوالي 650 جيجابايت اليوم. وتشير وثائق Geth نفسها إلى أنها تضيف حوالي 14 جيجابايت أسبوعيًا. أضف عميلًا للإجماع، ومساحة تخزين تكفي لبضعة أشهر، وأي حركة مرور RPC من الطبقة الثانية تخطط لخدمتها. ستحصل سريعًا على ما بين 4 و8 تيرابايت من NVMe.
كلمةٌ حول نوع القرص. تعمل أقراص SATA SSD تقنيًا، لكنها تُعطّل عمليات المزامنة وتفقد بعض الشهادات تحت الضغط. أما أقراص NVMe، فهي ضرورية في عام 2026. لم تعد الأقراص الصلبة التقليدية خيارًا عمليًا منذ سنوات. إذا كان مزود الخدمة لديك يُقدّم أقراص SATA فقط في الباقة الرخيصة، فادفع أكثر. الحسابات مُرهِقة: تعطل قرص SATA يُكلّفك مكافآت التحقق المفقودة في كل دورة.
تُعدّ ذاكرة الوصول العشوائي (RAM) الفخ الثاني. لا تزال صفحة Geth الرسمية للأجهزة، والتي تم تحديثها آخر مرة في عام 2023، تُشير إلى 16 جيجابايت. بحلول عام 2026، اعتمدت كل من Cherry Servers وChainstack وbacloud على 32 جيجابايت كحد أدنى للعمل، مع اعتبار 64 جيجابايت الخيار الأمثل. يُخزّن Geth جزءًا كبيرًا من بياناته في الذاكرة، ويحتاج برنامج الإجماع إلى حصته. أضف إلى ذلك Prometheus وGrafana وأي برامج أخرى تستخدمها فعليًا، وستنفد ذاكرة 16 جيجابايت بسرعة.
يُعدّ المعالج المركزي (CPU) الأسهل من بين الثلاثة. تتمتع معالجات سطح المكتب الحديثة بقدرة فائقة على الأداء. لذا، فإن سرعة الساعة ليست هي المشكلة الأساسية، بل الأهم هو عدد النوى والتعليمات الحديثة. يضمن بروتوكول AVX2 سرعة التحقق من التوقيعات. كما أن ثماني نوى تمنع تعطل الجهاز نتيجةً لزيادة مفاجئة في التزامن. وبالنظر إلى المستقبل، فقد ارتفع حدّ رسوم الغاز للكتلة من 30 مليونًا إلى 45 مليونًا ثم إلى 60 مليونًا بين منتصف عام 2024 ونوفمبر 2025. وقد أشارت مؤسسة إيثيريوم إلى أن هذا الحد سيتجاوز 100 مليون حتى عام 2026. هذا هو المنحنى الذي يجب مراعاته عند تحديد حجم المعالج، وليس حجم المعاملات في العام الماضي.
أوضاع مزامنة Geth لسلسلة كتل إيثيريوم
يُعد وضع المزامنة أهمّ عنصر يُشغّله مُستخدم Geth الجديد. اختيار الوضع الخاطئ يعني إضاعة أسبوع كامل في تنزيل بيانات لم تكن بحاجة إليها.
| وضع | ما يخزنه | قرص في عام 2026 | مزامنة الوقت | حالة الاستخدام |
|---|---|---|---|---|
| التقاط (افتراضي) | الحالة الراهنة + الإيصالات الأخيرة | حوالي 650 جيجابايت، +14 جيجابايت/أسبوع | من يوم إلى ثلاثة أيام (أسرع على NVMe) | التطبيقات اللامركزية، والمحافظ، والمدققون |
| ممتلىء | الحالة الحالية + كل رأسية تعود إلى البداية | حوالي 1 تيرابايت | من 3 إلى 5 أيام | التحقق من كل كتلة من التكوين |
| الأرشيف (المعتمد على المسار، الإصدار 1.16+) | الحالة التاريخية عبر الفروق العكسية | من 1.9 إلى 2.0 تيرابايت | من أسبوع إلى أسبوعين | معظم حالات استخدام الأرشيف |
| الأرشيف (القديم القائم على التجزئة) | كل حالة تاريخية، كل إيصال، كل محاولة | من 12 إلى 20 تيرابايت | من 4 إلى 8 أسابيع | مؤشرات التمويل اللامركزي التي تحتاج إلى eth_getProof |
Snap هو الخيار الافتراضي، وهو الخيار الأمثل في أغلب الأحيان. فهو يلتقط لقطة حديثة لحالة الشبكة من النظراء، ثم يُكمل البيانات المطلوبة تلقائيًا. يمكنك تشغيل عقدة Geth في غضون يومين على جهاز ذي مواصفات جيدة. كما أنه يدعم المحافظ والتطبيقات اللامركزية والمُدقّقين بكفاءة عالية. الأمر الوحيد الذي لا يستطيع فعله هو الإجابة على أسئلة تاريخية مثل "ما هو رصيد فيتاليك في 7 أكتوبر 2017؟". إذا لم تكن هذه المعلومة مهمة بالنسبة لك، فلا داعي للتفكير في وضع المزامنة.
لا يزال خيار المزامنة الكاملة متاحًا. معظم المستخدمين لا يحتاجون إليه. يقوم الوضع الكامل بتتبع كل كتلة وصولًا إلى كتلة التكوين، ويعيد تنفيذ كل معاملة، مما يُمكّن العميل من التحقق من سلسلة الكتل من البداية إلى النهاية بدلًا من الاعتماد على لقطة Snap. يُفيد هذا الخيار إذا كنتَ قلقًا بشأن Snap، أو إذا كنتَ تُنشئ أرشيفًا بسجل مُختصر. لا يُفيد هذا الخيار في العمليات العادية.
يُعدّ الأرشيف هو النظام الأكثر استهلاكًا للموارد، وقد شهد عام 2025 تغييرًا في عقد الأرشيف. قبل إصدار v1.16، كانت عقدة الأرشيف تتطلب من 12 إلى 20 تيرابايت من مساحة تخزين SSD سريعة، أي ما يُعادل خادمًا صغيرًا. أضاف الإصدار v1.16 نمط أرشفة قائم على المسار، يخزن البيانات التاريخية كفروقات عكسية، ويُقلل متطلبات مساحة القرص إلى ما يقارب 1.9 إلى 2.0 تيرابايت على الشبكة الرئيسية. هذا يُقلل حجم بيانات Geth ليُقارب حجم بيانات Erigon (حوالي 1.77 تيرابايت). في البداية، كان العيب هو أن الأرشفة القائمة على المسار لا تدعم إثباتات Merkle التاريخية (باستخدام `eth_getProof` على الكتل القديمة). كانت مُفهرسات التمويل اللامركزي (DeFi) وغيرها من أحمال العمل التي تتطلب إثباتات كثيرة لا تزال بحاجة إلى الأرشفة التقليدية القائمة على التجزئة. في فبراير 2026، أضاف الإصدار v1.17.0 دعمًا للإثباتات إلى النمط القائم على المسار في بعض التكوينات - راجع ملاحظات الإصدار لمعرفة الإصدار المُناسب لك. عادةً ما يكون مُشغّلو الأرشفة هم مُستكشفو الكتل، وفرق الطب الشرعي الرقمي، ومراكز التحليلات المُتخصصة. معظم الأشخاص الذين يقرؤون هذا الدليل لن يحتاجوا إليه أبداً.
ملاحظة جانبية: تم إيقاف وضع العميل الخفيف، وهو الخيار القديم `--syncmode "light"`، ولم يعد مدعومًا على الشبكة الرئيسية. إذا نصحك دليل تعليمي من عام 2026 بتشغيل Geth في الوضع الخفيف، فهذا الدليل قديم.

قم بتثبيت Geth على أنظمة Ubuntu و macOS و Windows
خطوة التثبيت قصيرة. اختر النظام الأساسي الذي تنوي تشغيله عليه فعلاً، وليس النظام الموجود على جهاز الكمبيوتر المحمول الخاص بك.
لينكس / أوبونتو (النظام الأساسي للعمل)
تعتمد معظم عقد Geth الإنتاجية على نظام Ubuntu. ويحتفظ فريق Ethereum بمستودع برامج شخصي (PPA)، ويمكنك الحصول على ملف تنفيذي جاهز للعمل بثلاثة أوامر عبر مدير حزم Ubuntu:
```
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
```
قم بتشغيل الأمر `geth version` للتأكد. يتتبع مستودع البرامج الشخصي (PPA) أحدث إصدار مستقر. في بيئة الإنتاج، عادةً ما يتم تثبيت إصدار معروف بجودته باستخدام أمر مثل `apt-get install ethereum=1.17.2-...`، ويتم التحديث بشكل دوري أكثر انتظامًا من التحديث "عندما يشاء apt".
نظام macOS (مناسب للمطورين)
في نظام macOS، يقوم برنامج Homebrew بهذه المهمة. سطران:
```
brew tap ethereum/ethereum
قم بتثبيت إيثيريوم باستخدام brew
```
تُعدّ أجهزة ماك مثالية لتجارب الشبكات التجريبية وتطوير التطبيقات اللامركزية. مع ذلك، نادرًا ما يُشغّل أحدٌ مُدقّق الشبكة الرئيسية على جهاز ماك. فإدارة الطاقة فيه مُفرطة، وقد يُدخل نظام macOS عقدة الإشارة في وضع السكون في أوقات غير مناسبة.
ويندوز
تتوفر ملفات تثبيت بصيغة `.exe` وملفات مضغوطة بصيغة `.zip` على موقع geth.ethereum.org وعلى صفحة إصدارات المشروع على GitHub. انقر على رابط التثبيت، واسمح له بتعديل متغير PATH، ثم افتح موجه الأوامر أو PowerShell وشغّل الأمر `geth version`. سيستجيب البرنامج.
يمكن لخادم Windows استضافة عقدة Geth مستقلة تمامًا. تميل حزم التحقق إلى استخدام Linux لأن عملاء الإجماع يُصممون لينكس في المقام الأول، ولكن يمكنك المزج بين الأنظمة المختلفة إذا رغبت. بقية هذا الدليل مكتوبة بأسلوب سطر أوامر Linux. أما ترجمتها إلى PowerShell فهي في الغالب مسألة فواصل مسارات وطريقة مختلفة لتنفيذ استمرارية الأسطر.
عامل ميناء
يُتيح لك الأمر `docker pull ethereum/client-go:stable` إنشاء حاوية نظيفة. يُعدّ Docker أسهل طريقة لاختبار إصدار جديد من Geth دون التأثير على نظامك المضيف. كما أنه خيارٌ مناسبٌ للنشر في بيئة إنتاجية إذا كان فريقك مُعتادًا على استخدام الحاويات. ملاحظة هامة: يجب أن يكون مُجلد Docker الذي يحتوي على `chaindata` على وحدة تخزين NVMe. فوضعه على مُجلد EBS عادي، أو وحدة تخزين HDD، أو مُجلد Docker Desktop على نظام Mac، سيؤدي إلى تكرار جميع مشاكل "المزامنة العالقة" المُتداولة على Reddit.
البناء من المصدر
تتطلب عمليات البناء من المصدر Go 1.23 أو أحدث، بالإضافة إلى مُصرّف لغة C. يُنشئ الأمر `make geth` عقدة Node فقط. بينما يُتيح لك الأمر `make all` الحصول على مجموعة الأدوات الكاملة: geth، وclef، وabigen، وevm، وdevp2p، وrlpdump. استخدم عمليات البناء من المصدر عندما تريد إصدارًا لم يتم تجميعه بعد، أو عندما يكون لديك تعديل خاص لا ترغب في صيانته كنسخة مُعدّلة.
تشغيل Geth: المزامنة الأولى ووحدة تحكم JSON-RPC
تم تثبيت البرنامج الثنائي، وتم إنشاء رمز JWT السري، وأصبح عميل الإجماع جاهزًا. يبدو الأمر الأول على جهاز الشبكة الرئيسية كالتالي تقريبًا:
```
geth \
--mainnet \
--datadir /var/lib/geth \
--syncmode snap \
--http \
--http.addr 127.0.0.1 \
--http.port 8545 \
--http.api eth,net,web3 \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551 \
--authrpc.jwtsecret /etc/geth/jwt.hex \
--authrpc.vhosts localhost
```
ثلاثة منافذ تُستخدم هنا. المنفذ 30303 عبر بروتوكولي TCP وUDP هو خط الاتصال المباشر بينك وبين باقي شبكة إيثيريوم. المنفذ 8545 هو بوابة HTTP-RPC التي يمر عبرها محفظتك وبرامجك النصية. المنفذ 8551 هو واجهة برمجة تطبيقات المحرك (Engine API)، والتي لا يمكن الوصول إليها إلا من خلال عميل الإجماع الخاص بك، ويتم تأمينها بواسطة رمز JWT السري.
للتفاعل مع العقدة قيد التشغيل، قم بتوصيل وحدة تحكم Geth. (وهي وحدة تحكم JavaScript مرتبطة بواجهات برمجة تطبيقات العقدة). افتح نافذة طرفية ثانية:
```
geth attach http://127.0.0.1:8545
```
الآن، كل دالة JSON-RPC هي استدعاء JavaScript. `eth.blockNumber`. `net.peerCount` (يُعتبر العدد حوالي 30 جيدًا على الشبكة الرئيسية). تُعيد `eth.syncing` القيمة `false` بمجرد أن تُكمل العقدة عملها. هل تريد معرفة رصيدك؟ `web3.fromWei(eth.getBalance('0x...'), 'ether')`. هذه هي واجهة التفاعل بالكامل.
ثم هناك ملف السجل. راقبه. السطر الذي يجب أن تراه هو "تم استيراد جزء جديد من السلسلة". هذا يعني أن Geth قد استوعب رأس السلسلة ويواكبها، حيث يستهلك كل قائمة جديدة من المعاملات من شبكة بلوك تشين إيثيريوم فور إرسالها. إذا كانت سجلاتك تُظهر "البحث عن النظراء" فقط، فهذا يعني أن جدار الحماية يحجب اتصالات P2P الواردة. افتح المنفذ 30303 على بروتوكولي TCP وUDP، وأعد تشغيل Geth، ثم حاول مرة أخرى. هذا هو الحل في أغلب الأحيان.
لأغراض الأتمتة، تدعم جميع مكتبات إيثيريوم الجديرة بالاستخدام بروتوكول JSON-RPC عبر HTTP، أو عبر WebSocket إذا تم تمرير الخيار `--ws`. تشمل هذه المكتبات: ethers.js، وweb3.js، وviem، وعميل Go، وعميل Python. تتعامل جميعها مع عقدة Geth المحلية تمامًا كما تتعامل مع Infura - ما عليك سوى توجيهها إلى `http://127.0.0.1:8545` والتوقف. يبقى الكود كما هو، والتغيير الوحيد هو الجهة التي تستجيب للطلب.
استخدم Geth: الحسابات، والمفاتيح الموسيقية، والمعاملات
لا يزال برنامج Geth يتضمن مدير حسابات، ولكن التوصية الحديثة هي فصل عملية التوقيع عن العقدة باستخدام برنامج Clef. Clef هو برنامج صغير منفصل يحتفظ بمفاتيحك ويطلب تأكيدًا صريحًا في كل مرة يحاول فيها أي برنامج استخدامها.
إنشاء حساب من خلال Clef يبدو كالتالي:
```
clef newaccount --keystore /var/lib/geth/keystore
```
يتطلب تطبيق Clef كلمة مرور لا تقل عن عشرة أحرف. يقوم التطبيق بإنشاء ملف مخزن مفاتيح مشفر، ثم يُعيد إليك عنوانًا. هذا العنوان هو حساب مملوك خارجيًا (EOA)، وهو نفس نوع الحساب الذي تُنشئه محافظ الأجهزة أو MetaMask. لا شيء مميز.
لتفعيل استخدام Clef مع Geth، وجّه العقدة إلى مقبس IPC الخاص بـ Clef: `--signer=/path/to/clef.ipc`. من تلك اللحظة، يجب الموافقة على كل طلب معاملة، سواءً أكان من وحدة تحكم Geth أو من تطبيق لامركزي يستخدم واجهة برمجة تطبيقات JSON-RPC، في طرفية Clef. هذا هو النموذج الذي يوصي به فريق Geth في عام 2026. تُخزّن المفاتيح خارج العقدة، ولا يمكن للعقدة، بمفردها، إنفاق أي عملة رقمية (wei).
تبدو عملية النقل من وحدة التحكم كالتالي:
```
eth.sendTransaction({
from: '0xca57f3b40b42fcce3c37b8d18adbca5260ca72ec',
to: '0xce8dba5e4157c2b284d8853afeeea259344c1653',
value: web3.toWei(0.1, 'ether')
});
```
يظهر تطبيق Clef. تقوم بالتأكيد. تدخل المعاملة إلى قائمة المعاملات المؤقتة، وبعد ثوانٍ قليلة تُضاف إلى كتلة. خلف هذا السطر الواحد، قام Geth بالبحث عن قيمة nonce، وتقدير الرسوم، وتسليم التوقيع إلى Clef، والبث، والتحقق من التضمين. تتكرر هذه العملية نفسها في كل تطبيق لامركزي.
بالنسبة للمهام الأكثر تعقيدًا، تقبل نقطة نهاية JSON-RPC نفسها عمليات إرسال المعاملات، والاشتراكات في الأحداث، واستدعاءات وظائف العرض، والتتبعات. من وجهة نظر المكتبة، لا يمكن تمييز مثيل Geth المحلي الخاص بك عن عقدة مستضافة - باستثناء أنه أسرع، ومجاني لكل استدعاء، ومملوك لك.
إعداد المدقق: قم بتخزين الإيثيريوم واربح المكافآت
بمجرد مزامنة عقدة Geth الخاصة بك وربطها بعميل الإجماع، فإن إضافة مدقق هي في الغالب عملية تهيئة. لا تحتاج إلى تثبيت عقدة جديدة. تستمر طبقة التنفيذ (Geth) في أداء وظيفتها. يتولى عميل الإجماع دور المدقق: حيث يوقع على الشهادات في كل دورة، وعندما يختار البروتوكول المدقق الخاص بك، يطلب من Geth تجميع محتويات الكتلة.
هناك ثلاثة عناصر أساسية لتفعيل النظام. أولًا، إيداع 32 إيثر. يتم إنشاء مفاتيح التحقق باستخدام واجهة سطر الأوامر الرسمية للإيداع، ثم إرسال معاملة الإيداع إلى العقد على الشبكة الرئيسية، وانتظار التفعيل. ثانيًا، عملية عميل التحقق. تعمل هذه العملية بالتزامن مع عقدة الإشارة، وتحتفظ بمفتاح التوقيع الخاص بك، وتوقع الشهادات وفقًا للجدول الزمني المحدد. ثالثًا، MEV-Boost أو إعداد مرحل، إذا كنت ترغب في الحصول على مكافآت ترتيب المعاملات بالإضافة إلى المكافأة الأساسية. لا يقوم Geth نفسه بتشغيل التحقق، بل يقوم بذلك عميل الإجماع. Geth هو نقطة التنفيذ التي تُنشئ حمولة الكتلة الفعلية عند تفعيل خانة التحقق الخاصة بك.
يهتم المدققون يوميًا بثلاثة مؤشرات رئيسية: الشهادات المفقودة، ووقت تشغيل المزامنة، وضغط القرص. غالبًا ما تُعزى الشهادات المفقودة إلى تأخر إحدى العقد عن العقدة الرئيسية، وهو ما يُعزى بدوره غالبًا إلى عمليات إدخال/إخراج القرص أو فقدان أحد النظراء. يُعد ضغط القرص على شبكة Geth السبب الرئيسي لهذه المشكلة. فإذا انخفض عن مواصفات NVMe الموصى بها، سينخفض أداء عملية التحقق، وبالتالي ستنخفض المكافآت.
يستخدم معظم مُستخدمي التخزين المنزلي حاسوبًا صغيرًا مُخصصًا: مثل Intel NUC أو Beelink أو جهاز Ryzen مُصمم خصيصًا. تتراوح تكلفة الأجهزة بين 800 و2000 دولار أمريكي لمرة واحدة. وتُضاف تكلفة الطاقة والإنترنت من 10 إلى 20 دولارًا أمريكيًا شهريًا. تُشير تقديرات Coin Bureau لعام 2026 إلى أن تكلفة مُدقِّق Hetzner مُحترف تتراوح بين 30 و40 دولارًا أمريكيًا شهريًا، وعقدة AWS الأساسية الكاملة أقل من 100 دولار أمريكي، وعقدة AWS للأرشيف حوالي 1500 دولار أمريكي. يُحقق التخزين الفردي عائدًا سنويًا بنسبة 4% تقريبًا على المكافأة الأساسية، ويرتفع إلى 5-6% مع MEV-Boost؛ وعلى الأجهزة المنزلية، يُغطي هذا العائد التكاليف في غضون 4 إلى 6 أشهر تقريبًا بسعر الإيثيريوم الحالي. في أواخر عام 2025، كان لدى الشبكة حوالي 1.06 مليون مُدقِّق نشط، يمتلكون ما بين 35 و37 مليون إيثيريوم (29 إلى 31% من المعروض). وتسيطر Lido وحدها على 27.7% من إجمالي المُخزَّن. كوين بيس، 8.4%. كل مدقق مستقل إضافي يقلب هذا التركيز بهدوء في الاتجاه الآخر، وهذا هو السبب الرئيسي وراء استمرار الناس في ممارسة التخزين الفردي.
شبكة الاختبار مقابل الشبكة الرئيسية: أين يتم تشغيل عقدة إيثيريوم
لا تبدأ على الشبكة الرئيسية. الأخطاء سهلة للغاية على شبكة الاختبار، بل إنها مجانية تمامًا. يتعامل Geth مع جميع الشبكات المدعومة بعلامة واحدة.
شبكتا اختبار إيثيريوم اللتان يجب عليك الاهتمام بهما في عام 2026 هما Holesky، وهي شبكة اختبار طويلة الأمد تركز على المدققين، وSepolia، وهي شبكة أخف وزنًا تركز على التطبيقات. هل تريد عقدة Geth على Sepolia؟ استبدل `--mainnet` بـ `--sepolia`. أما Holesky؟ فاستبدلها بـ `--holesky`. يجب أن يكون مسار مجلد بياناتك منفصلاً عن مسار مجلد `chaindata` على الشبكة الرئيسية. إذا استخدمت نفس المجلد، سيرفض Geth البدء لأن مُعرّف السلسلة غير متطابق - وهو نوع من رسائل الخطأ التي تستغرق ثلاثين ثانية لإصلاحها وساعة للعثور عليها.
إيثر شبكة الاختبار مجاني. توفر صنابير مثل Paradigm Multifaucet وصنبور Sepolia على faucet.sepolia.dev كمية كافية من إيثر Sepolia لنشر العقود، وإجراء اختبارات التكامل، وإرسال آلاف المعاملات. الإيثر هنا وهمي. أما باقي البيانات فهي حقيقية: تعمل آلة إيثريوم الافتراضية (EVM) بنفس الطريقة، وواجهة برمجة تطبيقات JSON-RPC هي نفسها، والربط بعميل الإجماع الخاص بك هو نفسه، والجهد التشغيلي هو نفسه. شغّل نظامك على Sepolia لمدة أسبوع قبل ربط أي شيء بالشبكة الرئيسية.
انتهت صلاحية شبكات الاختبار القديمة. روبستن، رينكبي، كوفان، غويرلي - جميعها متوقفة عن العمل. إذا كان أحد الدروس التعليمية لا يزال يطلب منك تشغيل Geth باستخدام `--ropsten`، فهذا يعني أنه إصدار ما قبل الدمج، ويجب عليك إغلاق علامة التبويب.
لإنشاء بيئة خاصة حقيقية، أنشئ شبكتك الخاصة. يُشغّل وضع `--dev` في Geth سلسلة عقدة واحدة في ثوانٍ، وهو أمرٌ مثالي لاختبارات الوحدات. أما بالنسبة للشبكات الخاصة متعددة الأجهزة، فأنشئ ملف `genesis.json` مخصصًا، وشاركه بين الأجهزة، وابدأ كل عملية Geth باستخدام `--datadir` مع الإشارة إلى مجلد chaindata جديد. يوفر إطار عمل Kurtosis كل هذا في أمر واحد إذا كنت تفضل تجنب التوصيل اليدوي.
مشاكل عقدة Geth الشائعة وكيفية حلها
تندرج معظم حوادث الجيث ضمن مجموعة صغيرة من الأنماط. وعادةً ما يكون الحل سريعًا بمجرد التعرف على النمط.
توقفت عملية المزامنة عند نسبة مئوية قليلة. عقدة Geth الخاصة بك متصلة بالإنترنت ولكنها لا تلحق بالركب: عدد النظراء منخفض جدًا، أو أن عرض النطاق الترددي لديك مُشبع، أو أن القرص لا يستطيع مواكبة السرعة. تحقق من `net.peerCount` في وحدة التحكم. إذا كان أقل من 15، فهذا يعني أن منفذ P2P الوارد لديك محمي بجدار ناري. افتح المنفذين 30303 TCP وUDP. إذا كان المنفذ سليمًا، فقم بتشغيل الأمر `iostat -xm 5` على نظام Linux أثناء المزامنة؛ إذا وصل استخدام القرص الصلب SSD إلى 100%، فهذا يعني أن عملية الإدخال/الإخراج لديك محدودة وتحتاج إلى وحدة تخزين أسرع. ملاحظة خاصة بالإصدار: تم إصدار Geth v1.17.1 (3 مارس 2026) خصيصًا لإصلاح مشكلة في مزامنة snap في الإصدار v1.17.0؛ إذا كنت لا تزال تستخدم هذا الإصدار، فإن الترقية هي الحل.
"شبكة ما بعد الدمج، ولكن لم يتم رصد أي عميل إشارة." عميل الإجماع لا يعمل، أو أن سر JWT غير متطابق، أو أن عميل الإجماع موجه إلى منفذ AuthRPC خاطئ. تحقق من مسار JWT، والمنفذ 8551، وتأكد من بدء كلا العمليتين باستخدام نفس ملف السر.
يمتلئ القرص خلال الليل. قد يؤدي مزامنة Snap إلى ارتفاع استخدام القرص بشكل مفاجئ خلال مرحلة إصلاح الحالة الأولية. يتم تشغيل عملية التقليم تلقائيًا بعد ذلك. إذا بدأت باستخدام قرص SSD بسعة 1 تيرابايت، فسيلحق بك رأس القراءة/الكتابة في النهاية. الحل دائمًا هو توفير مساحة أكبر، وليس تقليمًا أكثر حدة، لأن عملية التقليم في Geth مضبوطة مسبقًا. انقل بيانات chaindata إلى قرص NVMe أكبر حجمًا وقم بمزامنتها باستخدام rsync.
لن يبدأ برنامج Geth: "لم يتم العثور على قاعدة بيانات متوافقة مع هذا الإصدار من Geth". ربما تم تشغيل البرنامج سابقًا على مُعرّف سلسلة مختلف، أو إصدار أقدم من Geth، أو في حالة تالفة. مجلد `chaindata` غير متطابق. إما أن تعيد مزامنة البيانات إلى مجلد بيانات جديد، أو أن تعود إلى إصدار Geth السابق.
مشكلة في التحقق من صحة البيانات. إذا كانت عقدة Geth تقرأ كل كتلة جديدة بشكل صحيح، ولكن لا يزال التحقق من صحة البيانات يفشل في التحقق من صحتها، فابحث أولاً عن ضغط القرص، ثم الشبكة، وأخيراً وحدة المعالجة المركزية. النمط في أدوات المراقبة مثل Netdata واضح لا لبس فيه: تصل معلومات توقف الضغط (PSI) للقرص إلى 30% أو أكثر خلال فترات التحقق من صحة البيانات.
طلبات RPC بطيئة. قد يؤدي استخدام عميل تطبيق لامركزي ثقيل لـ `eth_getLogs` أو `debug_traceTransaction` إلى استهلاك كامل موارد وحدة المعالجة المركزية لـ Geth. انقل هذا النوع من البيانات إلى عقدة منفصلة، أو استخدم `--rpc.gascap` و`--rpc.txfeecap` لتقييد المكالمات المكلفة.
عادة أخيرة: راقب سجلات النظام باستمرار خلال الأسبوع الأول لضمان تشغيل Geth بسلاسة تحت ضغط العمل الفعلي. تُسهّل أدوات مثل Netdata وPrometheus + Grafana، أو ببساطة الأمر `journalctl -fu geth`، اكتشاف أعطال النظام المبكرة. بحلول الأسبوع الثاني، يكفي التنبيه بشأن حالات عدم اكتمال الشهادات ومعدل امتلاء القرص.
مقارنة بين Geth وعملاء إيثيريوم الآخرين: المفاضلات
يُعدّ Geth الخيار الافتراضي الأول. ولكنه ليس الخيار الوحيد، وتعتمد الإجابة على سؤال "هل يجب عليّ التبديل؟" على احتياجاتك.
| عميل | لغة | حصة 2026 (clientdiversity.org / Stake.fish range) | نقاط القوة | استخدم إذا... |
|---|---|---|---|---|
| جيث | يذهب | من 41 إلى 50% | الاستقرار، مجتمع كبير، حالات التخلف عن السداد الرسمية | تريد العقدة الأولى الأكثر أمانًا |
| العقل الباطن | سي شارب | من 25 إلى 38% | مزامنة سريعة وسلسة، متوافقة مع الإضافات، هايبرليدجر | أنت تريد عميل تنفيذ غير مكتوب بلغة Go |
| بيسو | جافا | من 10 إلى 16% | ميزات المؤسسات، والسلاسل المُرخّصة، وهايبرليدجر | أنت تدير سلسلة مُرخصة |
| ريث | الصدأ | من 2 إلى 8% | قاعدة بيانات معيارية وحديثة، ومزامنة سريعة | أنت تريد عميل Rust الرائد |
| إريجون | Rust/Go | من 3 إلى 7% | أرشيف مضغوط (حوالي 1.77 تيرابايت)، استعلامات تاريخية سريعة | أنت بحاجة إلى عقدة أرشيف صغيرة |
الحجة التي يسوقها المجتمع لاختيار بديل لـ Geth هي تنوع العملاء. فإذا تجاوز عميل تنفيذ واحد أغلبية الثلثين على الشبكة الرئيسية، وقام بتحديث مليء بالأخطاء، فإن المدققين على هذا العميل معرضون لخطر الإيقاف. تقسيم أسطول المدققين على عميلين يقلل هذا الخطر إلى النصف. بالنسبة للمُراهن المنزلي، فالأمر أبسط: اختر العميل الذي يمكنك الحفاظ عليه، وشغّله بكفاءة، ولا تُبدّله إلا لسبب محدد. بنية العقدة متشابهة في جميعها، لذا فإن التبديل لاحقًا أسهل مما يبدو. Erigon وReth تحديدًا ناضجان بما يكفي الآن ليكونوا عملاء أساسيين، وليسوا مجرد فضوليين.