شراء العملات المشفرة
الأسواق
العقود الفورية
العقود الآجلةBTC
مدخرات
مركز الأحداث
مركز المكافآت
المزيد
مهرجان صفر رسوم
Geth (Go Ethereum): ما Geth (Go Ethereum)؟Geth، اختصاراً لـGo Ethereum، عميل تنفيذ مفتوح المصدر لـEthereum مكتوب بلغة البرمجة Go.وهو برنامج يتيح للحاسوب الاتصال بشبكة Ethereum والتحقق من نشاط البلوكشين وتنفيذ العقود الذكGeth (Go Ethereum): ما Geth (Go Ethereum)؟Geth، اختصاراً لـGo Ethereum، عميل تنفيذ مفتوح المصدر لـEthereum مكتوب بلغة البرمجة Go.وهو برنامج يتيح للحاسوب الاتصال بشبكة Ethereum والتحقق من نشاط البلوكشين وتنفيذ العقود الذك

Geth (Go Ethereum)

2026/10/13 15:40
#Advanced
Humanity
H$0.05533-1.98%
PX
PX$0.0108-5.26%
NODE
NODE$0.005021-0.84%
TokenFi
TOKEN$0.001829-0.86%
Ethereum
ETH$2,378.5-1.07%

ما Geth (Go Ethereum)؟

Geth، اختصاراً لـGo Ethereum، عميل تنفيذ مفتوح المصدر لـEthereum مكتوب بلغة البرمجة Go.

وهو برنامج يتيح للحاسوب الاتصال بشبكة Ethereum والتحقق من نشاط البلوكشين وتنفيذ العقود الذكية والحفاظ على الحالة الحالية لـEthereum وتوفير بيانات البلوكشين للمحافظ والتطبيقات اللامركزية.

يصف موقع Go Ethereum الرسمي Geth بأنه تطبيق لـEthereum بلغة Go وبوابة إلى الويب اللامركزي.

كان Geth جزءاً من Ethereum منذ مراحل تطوير الشبكة الأولى، وعمل على الشبكة الرئيسية لـEthereum منذ إطلاقها عام 2015.

وهو ليس عملة مشفرة أو توكن محفظة أو آلية إجماع أو بلوكتشين منفصلاً.

بل هو أحد تطبيقات قواعد البرمجيات التي تحدد طبقة التنفيذ في Ethereum.

يمكن للمستخدم تشغيل Geth لإدارة عقدة Ethereum، أو الوصول إلى معلومات البلوكشين من دون الاعتماد كلياً على مزود بيانات خارجي، أو بث معاملات موقعة، أو فحص تنفيذ العقود الذكية، أو بناء بنية تحتية للعملات المشفرة.

منذ انتقال Ethereum إلى إثبات الحصة، يتعين عادةً تشغيل Geth إلى جانب عميل إجماع لتكوين عقدة Ethereum كاملة.

ما وظيفة Geth؟

يعالج Geth جانب التنفيذ في Ethereum.

يستقبل المعاملات من المستخدمين والعُقد الأخرى، ويتحقق من توافقها مع قواعد Ethereum، ويحفظ المعاملات المعلقة الصالحة في مجمع المعاملات.

وينفذ شيفرة العقود الذكية عبر آلة Ethereum الافتراضية (EVM).

ويحسب التغييرات التي تطرأ على أرصدة الحسابات وأرصدة التوكنات وتخزين العقود واستهلاك الغاز وأجزاء أخرى من حالة Ethereum.

كما يتحقق من حمولات التنفيذ الواردة في الكتل الجديدة للتأكد من أن كل معاملة مدرجة تنتج النتيجة الصحيحة.

ويحتفظ بقاعدة بيانات محلية تضم ترويسات البلوكشين وبيانات المعاملات وإيصالاتها وشيفرة العقود وحالة Ethereum المطلوبة وفق إعدادات العقدة المختارة.

ويتواصل مع عُقد تنفيذ Ethereum الأخرى عبر شبكة الند للند.

كما يتيح واجهات API تسمح للمحافظ وأدوات التحليلات وأنظمة التداول ومستكشفات البلوكشين والتطبيقات اللامركزية بطلب بيانات Ethereum.

يوضح توثيق بنية عقدة Geth الرسمي أن Geth مسؤول عن معالجة المعاملات ونشرها وإدارة الحالة وإنشاء حمولات التنفيذ وتنفيذ EVM.

هل Geth عقدة Ethereum كاملة؟

لا يشكل Geth وحده عادةً عقدة Ethereum كاملة في ظل بنية إثبات الحصة في Ethereum.

تتكون العقدة الكاملة من عميل تنفيذ وعميل إجماع يعملان معاً.

يعمل Geth كعميل تنفيذ، بينما يتتبع عميل الإجماع سلسلة إثبات الحصة ويعالج التصديقات ويطبق قواعد اختيار السلسلة ويحدد الكتلة التي تمثل رأس السلسلة الحالي.

يتبادل العميلان المعلومات عبر واجهة موثقة تسمى Engine API.

وتُحمى هذه الواجهة باستخدام سر مشترك بصيغة JSON Web Token، يُعرف عادةً باسم JWT secret.

يستخدم Geth معلومات السلسلة الواردة من عميل الإجماع لتحديد الكتلة التي ينبغي أن يزامن نفسه معها.

ويستخدم عميل الإجماع Geth للتحقق من تنفيذ المعاملات والحصول على حمولات التنفيذ للكتل المقترحة.

يشرح دليل الاتصال الرسمي بعملاء الإجماع كيفية تواصل العميلين عبر منفذ RPC موثق.

ويحتاج مشغل المدقق أيضاً إلى برنامج مدقق منفصل متصل بعميل الإجماع.

لا يؤدي تشغيل Geth تلقائياً إلى جعل المشغل مدققاً، ولا يتطلب منه تخزين ETH.

ما عميل تنفيذ Ethereum؟

عميل التنفيذ برنامج يطبق قواعد المعاملات والعقود الذكية في Ethereum.

ويدير حالة طبقة التنفيذ التي تسجل معلومات مثل أرصدة ETH وأرقام الحسابات المتسلسلة وشيفرة العقود المنشورة وقيم تخزين العقود.

عندما تصل معاملة إلى Geth، يتحقق العميل من توقيع المرسل والرقم المتسلسل وإعدادات الغاز والرصيد المتاح وتنسيق المعاملة وشروط الصلاحية الأخرى.

إذا تضمنت المعاملة عقداً ذكياً، يشغّل Geth تعليمات EVM البرمجية ذات الصلة ويحسب التغييرات الناتجة في الحالة.

وعندما يتلقى Geth كتلة من عميل الإجماع المتصل به، يعيد تنفيذ معاملات الكتلة بدلاً من الوثوق عميانياً بالنتيجة المقترحة.

إذا تعارضت نتيجة التنفيذ مع قواعد Ethereum، يبلغ Geth عن عدم صلاحية الحمولة.

يمثل هذا التحقق المستقل جزءاً مهماً من أمن Ethereum، لأن كل عقدة تطبق البروتوكول محلياً.

كيف يستخدم Geth آلة Ethereum الافتراضية؟

آلة Ethereum الافتراضية هي بيئة الحوسبة التي تعمل فيها العقود الذكية على Ethereum.

يكتب المطورون العقود الذكية عادةً بلغة عالية المستوى، ثم يحولونها إلى تعليمات EVM برمجية.

يتضمن Geth تطبيقاً لـEVM يقرأ هذه التعليمات وينفذها.

وقد تنفذ هذه التعليمات عمليات حسابية أو تقرأ تخزين العقود أو تحدّث أرصدة التوكنات أو تصدر سجلات الأحداث أو تنشئ عقوداً أو تستدعي عقوداً أخرى.

تستهلك كل عملية كمية محددة من الغاز، ما يمنع العمليات الحسابية غير المحدودة من تعطيل الشبكة.

يحسب Geth الغاز المستهلك أثناء التنفيذ ويرفض المعاملات التي تتجاوز حد الغاز أو تخالف قواعد التنفيذ في Ethereum.

ويمكن للمطورين أيضاً استخدام أدوات تتبع EVM في Geth لفحص العمليات الفردية المنفذة أثناء المعاملة.

يفيد التتبع في التحقيق في المعاملات الفاشلة وقياس استهلاك الغاز وتحليل سلوك العقود وتحديد مصدر تغيير غير متوقع في الحالة.

ما أحدث إصدار من Geth؟

أشارت صفحة التنزيلات الرسمية لـGeth إلى أن الإصدار 1.17.4 هو أحدث إصدار مستقر في يوليو 2026.

ينبغي للمستخدمين مراجعة صفحة التنزيلات الرسمية لـGeth قبل التثبيت أو التحديث، إذ قد تصدر إصدارات صيانة وأمن جديدة في أي وقت.

يوصى بالإصدارات المستقرة لمعظم مشغلي العُقد، لأنها خضعت لاختبارات أكثر من إصدارات التطوير.

قد يؤدي تشغيل إصدار قديم إلى مشكلات في المزامنة أو تعريض العقدة لثغرات معروفة أو منعها من متابعة ترقية مجدولة لشبكة Ethereum.

يمكن لمشغل العقدة التحقق من الإصدار المثبت عبر تشغيل

geth version
في بيئة سطر الأوامر.

ويتضمن Geth أيضاً الأمر

geth version-check
، الذي يقارن الإصدار المثبت بمعلومات الثغرات الأمنية المنشورة من المشروع.

يشرح توثيق الإفصاح عن الثغرات في Geth الرسمي آلية عمل هذا الفحص الأمني.

كيف تعمل المزامنة في Geth؟

المزامنة هي العملية التي ينزّل Geth خلالها ما يكفي من بيانات Ethereum ويتحقق منها للوصول إلى أحدث حالة صالحة للبلوكشين.

لا تعرف العقدة المثبتة حديثاً تلقائياً أرصدة الحسابات الحالية أو تخزين العقود أو سجل المعاملات أو أحدث كتلة.

بل عليها الحصول على البيانات من العُقد النظيرة والتحقق من توافقها مع قواعد بروتوكول Ethereum.

بعد انتقال Ethereum إلى إثبات الحصة، يحتاج Geth أيضاً إلى عميل إجماع متزامن لتوفير وجهة موثوقة لمزامنة طبقة التنفيذ.

يوفر Geth إعدادات مختلفة للمزامنة والتخزين تناسب حالات استخدام متنوعة.

يعتمد الإعداد المناسب على ما إذا كان المشغل يحتاج إلى الحالة الحالية أو سجل معاملات أقدم أو حالة تاريخية للعقود أو إثباتات تشفيرية أو وصولاً سريعاً إلى البيانات.

ما Snap Sync في Geth؟

Snap Sync وضع المزامنة الافتراضي لإنشاء عقدة Ethereum كاملة باستخدام Geth.

فبدلاً من تنفيذ كل كتلة منذ كتلة التأسيس قبل الوصول إلى الحالة الحالية، يبدأ Snap Sync من لقطة حالة حديثة نسبياً ويتحقق من البيانات اللازمة لمواكبة السلسلة.

وهذا الأسلوب أسرع بكثير من إعادة بناء حالة Ethereum كاملةً بدءاً من الكتلة الأولى.

أثناء Snap Sync، ينزّل Geth ترويسات الكتل وأجسامها وإيصالات المعاملات وبيانات الحالة من العُقد النظيرة.

كما ينفذ عملية تُعرف باسم استكمال الحالة (state healing) للحصول على الأجزاء المفقودة من الحالة والتأكد من اكتمال قاعدة البيانات المحلية.

وبعد بلوغ رأس السلسلة، تنتقل العقدة إلى معالجة الكتل بالطريقة العادية، كتلة تلو الأخرى.

يحدد توثيق أوضاع المزامنة في Geth Snap Sync بوصفه السلوك الافتراضي.

وتظل العقدة التي تمت مزامنتها عبر Snap Sync تتحقق بشكل مستقل من بيانات Ethereum، وتُعد عقدة كاملة.

تشير كلمة «Snap» إلى طريقة إجراء المزامنة الأولية، ولا تعني أن العقدة تعتمد دائماً على لقطة غير متحقق منها.

ما Full Sync في Geth؟

يعالج Full Sync كتل Ethereum بالتتابع بدءاً من نقطة أقدم، وقد يبدأ من كتلة التأسيس.

ينزّل Geth كل كتلة وينفذ معاملاتها ويعيد بناء الحالة الناتجة.

يتطلب هذا الأسلوب وقتاً وقدرة حاسوبية أكبر من Snap Sync.

وقد يكون مفيداً للأبحاث المتخصصة أو إنشاء عُقد الأرشيف أو اختبار البروتوكول أو الحالات التي يرغب فيها المشغل تحديداً في إعادة بناء سجل التنفيذ.

ولا تتحول العقدة التي تستخدم Full Sync تلقائياً إلى عقدة أرشيف، إذ قد يحذف Geth البيانات الأقدم بعد أن تصبح غير مطلوبة للتشغيل العادي.

يجب ضبط وضع الأرشيف بشكل منفصل عندما يحتاج المشغل إلى وصول مباشر إلى الحالات التاريخية للحسابات والعقود.

ما عقدة Geth الكاملة؟

تتحقق عقدة Geth الكاملة من تنفيذ Ethereum وتخزن بيانات كافية لتوفير معلومات البلوكشين الحالية ومعالجة الكتل الجديدة.

ويمكنها التحقق من المعاملات بشكل مستقل بدلاً من الوثوق بخدمة بعيدة لتقديم نتائج صحيحة.

كما يمكن للعقدة الكاملة توفير أرصدة الحسابات وشيفرة العقود وإيصالات المعاملات وسجلات الأحداث ومعلومات الحالة الحديثة وغيرها من البيانات عبر واجهات API.

لكنها لا تحتفظ بالضرورة بكل نسخة تاريخية من كل حساب وكل خانة في تخزين العقود الذكية.

قد تُحذف الحالات الأقدم أو يعاد بناؤها عند الإمكان لتقليل متطلبات التخزين.

وهذا يجعل العقدة الكاملة القياسية أكثر ملاءمة للمشغلين المنزليين ومطوري التطبيقات من عقدة الأرشيف الكاملة.

كما يعزز تشغيل عقدة كاملة التحكم الشخصي، إذ يستطيع المشغل إرسال المعاملات والاستعلام عن Ethereum عبر بنية تحتية جرى التحقق منها محلياً.

ما عقدة أرشيف Geth؟

تخزن عقدة أرشيف Geth حالة Ethereum التاريخية، ما يتيح للمستخدمين الاستعلام عن أرصدة الحسابات أو تخزين العقود أو قيم الحالة الأخرى كما كانت في كتل أقدم.

وهذا يختلف عن الاحتفاظ بسجل المعاملات والإيصالات التاريخية فقط.

قد تعرف العقدة العادية أن معاملة أُجريت قبل سنوات، من دون أن تحتفظ بنسخة جاهزة للوصول من كل قيمة تخزين للعقود في تلك الفترة.

تفيد عُقد الأرشيف في تحليلات البلوكشين وأنظمة الضرائب وأدوات الامتثال ومستكشفات البلوكشين والمحاكاة التاريخية وأبحاث العقود الذكية وتصحيح الأخطاء المتقدم.

يدعم Geth عُقد الأرشيف القديمة القائمة على التجزئة وعُقد الأرشيف الأحدث القائمة على المسارات.

يوصي دليل وضع الأرشيف الرسمي لـGeth بالنهج القائم على المسارات لعمليات النشر الحالية.

ما وضع الأرشيف القائم على المسارات؟

وضع الأرشيف القائم على المسارات تصميم تخزين أحدث أُدخل في Geth بالإصدار 1.16.0.

ويخزن الحالة التاريخية بكفاءة أعلى من تصميم الأرشيف القديم القائم على التجزئة.

تقدّر الوثائق الرسمية أن أرشيف الشبكة الرئيسية لـEthereum القائم على المسارات، والذي يتضمن سجل الحالة المسطح كاملاً، قد يحتاج إلى نحو 2 TB من التخزين.

وقد يؤدي الاحتفاظ ببيانات إضافية تاريخية لشجرة Merkle لدعم نطاق أوسع من الإثباتات إلى زيادة متطلبات التخزين كثيراً.

وبالمقارنة، قد تتجاوز قاعدة بيانات الأرشيف القديمة القائمة على التجزئة 20 TB، وقد يستغرق إنشاؤها انطلاقاً من كتلة التأسيس أشهراً.

كما يتيح وضع الأرشيف القائم على المسارات للمشغلين اختيار عدد الحالات التاريخية التي يرغبون في الاحتفاظ بها.

وقد يقلل تحديد فترة احتفاظ محدودة استهلاك التخزين إذا لم يحتج المشروع إلى الحالة في كل كتلة تاريخية.

بدءاً من Geth 1.17.x، يمكن للمشغلين ضبط الاحتفاظ بعُقد شجرة Merkle التاريخية عند الحاجة إلى دعم إثباتات Merkle التاريخية.

ينبغي التخطيط لإعدادات الأرشيف قبل النشر، لأن البيانات المحذوفة عبر التقليم قد لا يمكن استعادتها من دون إعادة بنائها أو استيراد البيانات المطلوبة.

ما التقليم في Geth؟

يزيل التقليم بيانات البلوكشين التي لم تعد مطلوبة لوضع التشغيل المحدد للعقدة.

تنتج Ethereum المعاملات والإيصالات وحالات العقود وبيانات التنفيذ الجديدة باستمرار، لذلك قد يتجاوز حجم قاعدة البيانات غير المقلمة سعة جهاز التخزين.

يزيل تقليم الحالة هياكل الحالة الأقدم مع الإبقاء على البيانات المطلوبة للتحقق من السلسلة الحالية.

وقد يزيل تقليم السجل أجسام الكتل والإيصالات الأقدم مع الاحتفاظ بالترويسات والمعلومات اللازمة للتحقق من الإجماع.

يشرح دليل تقليم السجل في Geth كيفية تقليل المشغلين لاستخدام التخزين مع الحفاظ على وظائف العقدة العادية.

ينبغي إجراء عملية التقليم وفق التعليمات الرسمية فقط، مع إيقاف Geth بالكامل عندما يتطلب الأمر الوصول إلى قاعدة البيانات دون اتصال.

قد يؤدي مقاطعة صيانة قاعدة البيانات أو السماح لعدة عمليات بالوصول إلى مجلد البيانات نفسه إلى تلفها.

وقد يتمكن المشغلون الذين يحتاجون إلى البيانات القديمة لاحقاً من استعادة سجلات محددة عبر ملفات Era موثقة، وفق نوع المعلومات المحذوفة.

ما متطلبات تشغيل Geth من الأجهزة؟

ينبغي تشغيل Geth عموماً على حاسوب مزود بمعالج حديث متعدد الأنوية وذاكرة كافية ومحرك أقراص صلب سريع واتصال إنترنت عريض النطاق ومستقر ومساحة تخزين تكفي نمو البلوكشين المستمر.

تكتسب سرعة القرص أهمية خاصة، لأن المزامنة واستكمال الحالة يتطلبان كثيراً من عمليات قراءة قاعدة البيانات وكتابتها.

قد يكون القرص الصلب التقليدي بطيئاً جداً بالنسبة إلى قاعدة بيانات Geth النشطة التي تستخدمها عقدة عادية على الشبكة الرئيسية.

تتطلب إعدادات الأرشيف مساحة تخزين أكبر بكثير من إعدادات العقدة الكاملة القياسية.

كما تعتمد السعة المطلوبة على إعدادات التقليم وتخصيص الذاكرة المؤقتة والاحتفاظ بالسجل ونظام التشغيل وعميل الإجماع والبرامج الأخرى التي تعمل على الجهاز.

ينبغي للمشغلين مراجعة متطلبات الأجهزة الرسمية لـGeth الأحدث قبل شراء المعدات.

ولا ينبغي السماح بامتلاء مساحة التخزين بالكامل، لأن عمليات قاعدة البيانات والتقليم قد تتطلب مساحة عمل إضافية متاحة.

ينبغي أن تركز استراتيجية النسخ الاحتياطي على المفاتيح الخاصة وملفات الإعداد وأسرار JWT وغيرها من المعلومات التي لا يمكن استبدالها، بدلاً من افتراض ضرورة نسخ قاعدة بيانات البلوكشين كاملةً دائماً.

كيف تتصل التطبيقات بـGeth؟

تتصل التطبيقات عادةً بـGeth عبر واجهة JSON-RPC الخاصة بـEthereum.

تتيح JSON-RPC للبرمجيات إرسال طلبات منظمة وتلقي استجابات منظمة من العقدة.

فقد تطلب المحفظة رصيد حساب، بينما قد يستدعي تطبيق لامركزي إحدى وظائف العقد أو يقدّر كمية الغاز اللازمة للمعاملة.

يدعم Geth واجهة JSON-RPC عبر HTTP وWebSocket ومقابس الاتصال بين العمليات.

تشرح وثائق JSON-RPC الخاصة بـGeth الرسمية وسائل الاتصال المتاحة وإعداداتها.

يُستخدم HTTP على نطاق واسع للطلبات العادية، مثل قراءة رصيد أو إرسال معاملة موقعة.

وتدعم اتصالات WebSocket التواصل المستمر والاشتراك في الأحداث الفورية.

يوفر الاتصال المحلي بين العمليات عموماً واجهة أكثر أماناً واكتمالاً عندما يعمل التطبيق على الجهاز نفسه الذي يعمل عليه Geth.

ما مساحات أسماء RPC في Geth؟

ينظم Geth أساليب JSON-RPC ضمن مساحات أسماء بحسب الغرض منها.

تتضمن مساحة الاسم

eth
أساليب Ethereum الشائعة المتعلقة بالكتل والمعاملات والحسابات والسجلات والاستدعاءات وتقدير الغاز.

توفر مساحة الاسم

net
معلومات أساسية عن الشبكة.

وتتضمن مساحة الاسم

web3
وظائف مساعدة عامة.

وتتيح مساحة الاسم

txpool
معلومات عن المعاملات المعلقة والموضوعة في قائمة الانتظار.

توفر مساحة الاسم

debug
أساليب متقدمة للتتبع والفحص.

وتتيح مساحة الاسم

admin
التحكم في العُقد النظيرة وأجزاء من نسخة Geth المحلية.

ينبغي عدم إتاحة مساحات الأسماء الحساسة عبر شبكات غير موثوقة، لأنها قد تكشف معلومات داخلية أو تستهلك موارد كبيرة أو تسمح بإجراءات إدارية.

لا يفعّل Geth عبر HTTP افتراضياً سوى مجموعة محدودة من مساحات الأسماء.

هل يمكن استخدام Geth كعقدة RPC؟

نعم، يمكن لـGeth توفير خدمات Ethereum RPC للمحافظ والمواقع الإلكترونية والأنظمة الآلية وتطبيقات البلوكشين.

وقد يقلل تشغيل نقطة نهاية Geth RPC خاصة من الاعتماد على مزود بنية تحتية خارجي.

وقد يعزز الخصوصية أيضاً، لأن استعلامات الحسابات وإرسال المعاملات لا تحتاج إلى الإرسال إلى نقطة نهاية عامة لا صلة لها بالمستخدم.

لكن تشغيل Geth باستخدام خيار HTTP وحده لا يكفي لتوفير خدمة RPC عامة موثوقة.

يتعين على المشغل التخطيط للمصادقة والتصفية وحدود الطلبات والمراقبة وموازنة الأحمال والنسخ الاحتياطي ومنع إساءة الاستخدام والحماية من الطلبات التي تستهلك موارد كثيرة.

وقد يؤدي إتاحة واجهات API العامة للتتبع أو الإدارة إلى مخاطر خطيرة على الأمن والأداء.

تحذر وثائق الأمان في Geth من تعريض نقاط نهاية API للإنترنت العام مباشرةً من دون بنية تحتية وقائية إضافية.

كيف يتصل Geth بالعُقد الأخرى؟

يستخدم Geth بروتوكولات شبكات الند للند في Ethereum لاكتشاف عُقد التنفيذ الأخرى والتواصل معها.

تتبادل العُقد النظيرة معلومات الكتل والمعاملات وبيانات الحالة ورسائل المزامنة.

تساعد مجموعة سليمة من العُقد النظيرة العقدة على تلقي المعاملات الجديدة وبيانات السلسلة من مصادر مستقلة متعددة.

يتحقق Geth من البيانات الواردة بدلاً من الوثوق بالعقدة النظيرة لمجرد إنشاء اتصال معها.

يمكن رفض البيانات غير الصالحة أو الضارة، وقد يُقطع الاتصال بالعُقد النظيرة التي تخالف قواعد البروتوكول أو تُفرض عليها عقوبات.

ينبغي أن يكون منفذ الند للند متاحاً للوصول عندما يرغب المشغل في قبول العقدة لاتصالات واردة.

يؤدي منفذ JSON-RPC غرضاً مختلفاً، ولا ينبغي عادةً كشفه للعامة لمجرد تحسين الاتصال بالعُقد النظيرة.

ينبغي أن تميز جدران الحماية بين منفذ الند للند العام وواجهات الإدارة والتطبيقات الخاصة.

كيف يتعامل Geth مع المعاملات المعلقة؟

يحفظ Geth المعاملات الصالحة التي لم تُدرج بعد في كتلة ضمن مجمع المعاملات.

ويفصل المجمع بين المعاملات الجاهزة للإدراج وتلك التي لا يمكن تنفيذها بعد.

قد توضع المعاملة في قائمة الانتظار لأن معاملة سابقة للحساب نفسه لم تصل بعد، أو لأن رقمها المتسلسل أعلى من المطلوب.

ينشر Geth المعاملات المؤهلة إلى عُقد التنفيذ الأخرى عبر شبكة الند للند.

يمكن استبدال المعاملات عندما تستخدم معاملة جديدة الرقم المتسلسل نفسه للحساب وتستوفي متطلبات رسوم الاستبدال.

يمكن للتطبيقات فحص النشاط المعلق عبر واجهات API محددة لمجمع المعاملات، متى كانت هذه الأساليب مفعّلة.

ولا يوجد ضمان لإدراج معاملة تظهر في المجمع المحلي ضمن كتلة.

فقد تُستبدل أو تُحذف أو ترفضها عُقد أخرى أو تظل معلقة عندما تكون رسومها منخفضة مقارنةً بظروف الشبكة الحالية.

هل يستطيع Geth تخزين المفاتيح الخاصة للعملات المشفرة؟

يتضمن Geth وظيفة Keystore التي يمكنها تخزين مفاتيح Ethereum الخاصة المشفرة.

وتُحمى الملفات المشفرة بكلمات مرور يختارها المستخدم.

قد يؤدي فقدان ملف المفتاح ونسخته الاحتياطية معاً إلى فقدان الوصول نهائياً إلى العملات المشفرة المرتبطة به.

وقد يتمكن المهاجم الذي يحصل على مفتاح خاص غير مشفر من التحكم في الأصول المرتبطة بذلك المفتاح.

يوصي فريق Geth بفصل توقيع المعاملات عن عملية العقدة باستخدام أداة توقيع خارجية.

لم تعد إصدارات Geth الحديثة تتضمن Clef مباشرةً، وعلى المستخدمين الذين يختارونها الحصول عليها من مشروعها الرسمي الذي تتم صيانته بصورة منفصلة.

أُهملت مساحة أسماء RPC القديمة

personal
لصالح أساليب أكثر أماناً للتوقيع الخارجي.

ينبغي لمشغلي العُقد عدم إتاحة الحسابات المفتوحة أو أساليب التوقيع الحساسة عبر نقطة نهاية RPC عامة مطلقاً.

كيفية تثبيت Geth بأمان

يمكن تثبيت Geth عبر حزم جاهزة رسمية أو مديري حزم مدعومين أو صور حاويات أو الشيفرة المصدرية.

يقدم دليل تثبيت Geth الرسمي تعليمات لأنظمة التشغيل الرئيسية.

ينبغي للمستخدمين الحصول على الملفات التنفيذية من المشروع الرسمي أو من مصدر حزم موثوق فقط.

ينبغي التحقق من توقيعات الإصدارات وقيم التحقق (checksums) عندما توفرها عملية التثبيت.

عادةً ما يكون الإصدار المستقر أنسب لعقدة عملات مشفرة إنتاجية من إصدار تطويري لم يخضع للاختبار.

ينبغي إيقاف العقدة بطريقة سليمة قبل إجراء تحديث يدوي للبرنامج.

وعلى المشغلين قراءة ملاحظات الإصدار قبل التحديث، لأن الإصدار قد يغير خيارات سطر الأوامر أو تنسيقات قواعد البيانات أو متطلبات ترقية الشبكة أو الإجراءات الأمنية.

ينبغي الاحتفاظ بنسخة احتياطية حديثة من ملفات الإعداد والمواد الرئيسية التي لا يمكن استبدالها قبل إجراء الصيانة.

هل يمكن لـGeth العمل على شبكات Ethereum الاختبارية؟

يمكن لـGeth الاتصال بشبكات Ethereum الاختبارية العامة المدعومة عند تشغيله بإعداد الشبكة المناسب.

تتيح الشبكات الاختبارية للمطورين نشر العقود وإرسال المعاملات واختبار اتصالات المحافظ ودراسة تشغيل العُقد من دون استخدام ETH الخاص بالشبكة الرئيسية.

ليس المقصود أن تكون لـETH الاختبارية قيمة نقدية حقيقية، وهي منفصلة عن ETH على الشبكة الرئيسية.

ينبغي للمطورين اختيار شبكة اختبارية تخضع للصيانة حالياً، بدلاً من الاعتماد على شبكة أُوقف دعمها.

ويجب تشغيل Geth مع عميل إجماع متوافق عند استخدام شبكة اختبارية تعتمد بنية إثبات الحصة في Ethereum.

ولا تنتقل عناوين العقود والأرصدة وسجلات المعاملات والتوكنات تلقائياً من شبكة اختبارية إلى أخرى.

ينبغي عدم إعادة استخدام المفاتيح الخاصة المستخدمة في بيئات التجربة مع عملات مشفرة قيّمة على الشبكة الرئيسية، لأن الأنظمة الاختبارية قد تكشف المفاتيح عبر السجلات أو النصوص البرمجية أو أدوات التطوير غير الآمنة.

هل يمكن لـGeth إنشاء شبكة Ethereum خاصة؟

يمكن استخدام Geth لإنشاء شبكة معزولة متوافقة مع Ethereum، عبر إعداد مخصص لملف التأسيس.

للشبكة الخاصة رقم سلسلة وحسابات وإعدادات بروتوكول وعُقد وسجل بلوكشين خاص بها.

ولا تتصل تلقائياً بالشبكة الرئيسية لـEthereum، ولا ترث أصولها.

يشرح دليل الشبكة الخاصة في Geth الرسمي كيفية تهيئة قاعدة بيانات الشبكة عبر ملف تأسيس مخصص.

يمكن للشبكات الخاصة دعم اختبارات التطبيقات متعددة المستخدمين وأبحاث البلوكشين وتجارب الشبكات وبيئات التطوير المضبوطة.

تعني كلمة «خاصة» أن الوصول إلى الشبكة مقيد أو أنها معزولة.

لكن ذلك لا يعني أن الشبكة مشفرة أو آمنة تلقائياً أو محمية من جميع الهجمات.

تتطلب الشبكات الخاصة الإنتاجية تصميم الإجماع وضوابط الوصول وإدارة العُقد النظيرة والمراقبة وأمن المفاتيح بعناية.

Geth لمطوري العقود الذكية

يمكن لمطوري العقود الذكية استخدام Geth مصدراً محلياً موثوقاً لبيانات Ethereum المتحقق منها.

ويمكنهم إرسال معاملات نشر العقود واستدعاء وظائفها واسترجاع سجلات الأحداث وتقدير الغاز ومحاكاة المعاملات وفحص آثار التنفيذ.

يستطيع وضع التطوير في Geth إنشاء بلوكشين محلي مؤقت للاختبار من دون الاتصال بشبكة عامة.

كما يوفر المشروع بلوكشين محاكاة داخل الذاكرة عبر مكتبات Go.

ويمكن للمطورين استخدام واجهات API للتتبع لمعرفة سبب إلغاء معاملة أو استهلاكها غازاً أكثر من المتوقع.

قد يجعل تشغيل عقدة محلية الاختبار أكثر قابلية لإعادة الإنتاج، لأن المطور يتحكم في إصدار البرنامج وواجهات API والبيانات المخزنة.

ولا يثبت نجاح الاختبار عبر Geth أن العقد الذكي آمن.

تظل العقود الإنتاجية بحاجة إلى الاختبار ومراجعة الشيفرة وتحليل الأذونات والنمذجة الاقتصادية والتدقيق الأمني المناسب.

Geth كمكتبة Go

لا يقتصر Go Ethereum على برنامج Geth الذي يعمل عبر سطر الأوامر.

يمكن للمطورين استيراد حزم Go Ethereum إلى تطبيقات Go لبناء بنية تحتية مخصصة لـEthereum.

يشرح توثيق مكتبة Geth الرسمي كيفية إعادة استخدام المشاريع لحاوية العقدة والشبكات وخدمة Ethereum ونظام RPC وارتباطات العقود والبلوكشين المحاكى.

يمكن للمطور بناء عقدة متخصصة أو إضافة مساحة أسماء RPC مخصصة أو الاتصال بـEthereum عبر عميل Go أو إنشاء نظام فهرسة خاص بتطبيق معين.

توفر الحزمة

ethclient
واجهة Go لعمليات JSON-RPC الشائعة في Ethereum.

وتنشئ أداة

abigen
روابط Go آمنة الأنواع انطلاقاً من الواجهة الثنائية للتطبيق (ABI) الخاصة بالعقد الذكي.

يتيح الأمر

evm
للمطورين تنفيذ تعليمات EVM البرمجية وفحصها في بيئة مضبوطة.

يمنح استخدام Geth كمكتبة المطورين إمكانية الوصول إلى شيفرة خضعت للاختبار خلال سنوات من تشغيل Ethereum، لكن التعديلات المخصصة تظل بحاجة إلى مراجعة أمنية مستقلة.

Geth والتخزين في Ethereum

يمكن أن يعمل Geth عميلَ تنفيذ ضمن إعداد مدقق Ethereum.

يتواصل برنامج المدقق مع عميل الإجماع، الذي يتواصل بدوره مع Geth عبر Engine API.

يتحقق Geth من المعاملات ويجهز حمولات التنفيذ عندما يُختار المدقق لاقتراح كتلة.

كما يتحقق من حمولات التنفيذ الواردة من الشبكة.

لا يخزن Geth مفتاح توقيع إثبات الحصة الخاص بالمدقق ضمن دوره المعتاد كعميل تنفيذ.

تُدار مفاتيح المدقق عبر برنامج المدقق وإجراءات الأمان المرتبطة به.

قد يؤثر تعطل Geth في أداء المدقق، إذ قد يتعذر عليه اقتراح كتلة كاملة أو التحقق من بيانات التنفيذ.

لذلك يحتاج مشغلو التخزين إلى المراقبة وأجهزة كافية واتصال إنترنت موثوق وتحديثات في الوقت المناسب وعملية استعادة مجربة.

أفضل ممارسات الأمان في Geth

ينبغي لمشغلي العُقد إبقاء Geth محدثاً، إذ تتضمن إصدارات العملاء بانتظام إصلاحات للأخطاء وتحسينات للأداء وتغييرات للبروتوكول وتصحيحات أمنية.

ينبغي أن تستمع واجهات RPC إلى عناوين موثوقة فقط، ما لم يكن المشغل يدير عن قصد خدمة عامة مؤمنة على نحو مناسب.

يجب عدم إتاحة واجهات API الإدارية والتصحيحية ومجمع المعاملات والتوقيع للمستخدمين غير الموثوق بهم.

يمكن لجدران الحماية والخوادم الوكيلة العكسية والمصادقة وتشفير النقل وتصفية الطلبات وتحديد المعدل والتسجيل والمراقبة الحد من مخاطر نقاط النهاية العامة.

ينبغي تخزين المفاتيح الخاصة وكلمات المرور بمعزل عن الخدمات المتاحة للعامة.

كما يجب حماية سر JWT المستخدم بين عميل التنفيذ وعميل الإجماع من الوصول غير المصرح به.

ينبغي ألا تصل أكثر من عملية Geth واحدة إلى مجلد البيانات في الوقت نفسه.

يحذر دليل الأمان الرسمي لـGeth من أن واجهات API العامة قد تؤدي إلى مخاطر حجب الخدمة ومخاطر الخصوصية واستنزاف الموارد ومحاولات توقيع غير مصرح بها.

كما ينبغي للمستخدمين التحقق من جميع تفاصيل المعاملة، لأن العقدة الآمنة لا تمنع الشخص من الموافقة على تفاعل خبيث مع عقد ذكي.

فوائد تشغيل Geth

يتيح تشغيل Geth للمستخدم التحقق محلياً من تنفيذ Ethereum بدلاً من الوثوق بكل استجابة يقدمها مزود بعيد.

وقد يعزز الخصوصية، إذ يمكن أن تظل عمليات فحص الأرصدة وقراءة العقود وإرسال المعاملات ضمن بنية تحتية يتحكم فيها المستخدم.

كما يمنح المطورين وصولاً مباشراً إلى أساليب RPC المتقدمة ومجمعات المعاملات والسجلات وآثار التنفيذ وإعدادات العقدة.

ويسهم في تحسين شبكة الند للند في Ethereum بإضافة عقدة أخرى يديرها مشغل مستقل.

ويتيح لشركات العملات المشفرة التحكم في الاحتفاظ بالبيانات وحدود الطلبات وتحديثات البرامج وتوافر الخدمة.

كما يمكنه دعم عمليات المدققين وأبحاث البلوكشين وأنظمة المراقبة والمحافظ والتطبيقات اللامركزية.

ويوفر أيضاً وسيلة تعليمية لفهم كيفية تحقق Ethereum من المعاملات وإدارة حالتها.

حدود تشغيل Geth

يتطلب Geth صيانة مستمرة ومساحة تخزين وعرض نطاق وتحديثات للبرامج ومراقبة للنظام.

قد تستغرق المزامنة الأولية وقتاً طويلاً، تبعاً للأجهزة وسرعة الشبكة وجودة العُقد النظيرة ووضع العقدة المختار.

لا تستطيع العقدة الكاملة القياسية الإجابة عن كل استعلام متعلق بالحالة التاريخية بسرعة عقدة الأرشيف.

وقد تتطلب عقدة الأرشيف عدة تيرابايتات من التخزين وتخطيطاً تشغيلياً متخصصاً.

قد يؤدي الإعداد غير الصحيح لـRPC إلى تعريض العقدة أو الحسابات المتصلة بها لمخاطر أمنية جسيمة.

كما يؤدي تشغيل Geth إلى الاعتماد على قاعدة شيفرة عميل تنفيذ واحدة لتلك العقدة تحديداً.

تستفيد Ethereum من استخدام مشغلي العُقد تطبيقات متعددة طورتها جهات مستقلة عبر الشبكة ككل.

يشرح دليل تنوع عملاء Ethereum كيف يمكن لتوزيع متوازن للعملاء الحد من تأثير خطأ برمجي على الشبكة بأكملها.

مفاهيم خاطئة شائعة عن Geth

من المفاهيم الخاطئة أن Geth عملة مشفرة يمكن شراؤها أو تداولها.

Geth برنامج، بينما ETH هي العملة المشفرة الأصلية المستخدمة على Ethereum.

ومن المفاهيم الخاطئة أيضاً أن تثبيت Geth يبدأ تلقائياً تعدين العملات المشفرة.

لم تعد Ethereum تستخدم تعدين إثبات العمل، وقد أُهملت وظائف التعدين السابقة في Geth.

وهناك مفهوم خاطئ ثالث مفاده أن Geth وحده يكفي لمتابعة الشبكة الرئيسية لـEthereum.

في ظل إثبات الحصة، تتطلب العقدة الإنتاجية عادةً تشغيل Geth وعميل إجماع معاً.

أما المفهوم الخاطئ الرابع فهو أن العقدة الكاملة تخزن كل الحالات التاريخية.

يتطلب الوصول الكامل إلى الحالات التاريخية إعداد عقدة أرشيف.

والمفهوم الخاطئ الخامس هو أن فتح كل مساحات أسماء RPC يجعل العقدة أكثر فائدة.

تزيد مساحات الأسماء غير الضرورية مساحة الهجوم، وينبغي أن تظل معطلة.

والمفهوم الخاطئ السادس هو أن مزامنة العقدة تضمن أمان كل عقد ذكي.

يتحقق Geth من تنفيذ البروتوكول، لكنه لا يضمن أن منطق الأعمال في العقد عادل أو آمن أو خالٍ من السلوك الخبيث.

الأسئلة الشائعة

إلى ماذا يشير اسم Geth؟

Geth اختصار لـGo Ethereum، لأن العميل تطبيق لـEthereum مكتوب بلغة البرمجة Go.

هل Geth عملة مشفرة؟

لا، Geth برنامج لعُقد Ethereum، وليس عملة مشفرة أو توكناً.

هل Geth هو نفسه Ethereum؟

لا، Ethereum بروتوكول وشبكة بلوكشين، بينما Geth أحد تطبيقات قواعد طبقة التنفيذ في Ethereum.

فيم يُستخدم Geth؟

يُستخدم Geth للتحقق من معاملات Ethereum وتنفيذ العقود الذكية ومزامنة بيانات البلوكشين وتوفير الوصول عبر RPC وتشغيل البنية التحتية للعُقد ودعم المدققين.

هل يمكن تشغيل Geth منفرداً؟

يمكن استخدام Geth وحده في بعض حالات التطوير واستخدامه كمكتبة، لكن عقدة Ethereum إنتاجية كاملة تعتمد إثبات الحصة تحتاج عادةً إلى عميل إجماع متصل بها.

هل يعدّن Geth عملة ETH؟

لا، استبدلت Ethereum تعدين إثبات العمل بالتحقق القائم على إثبات الحصة، لذلك لم تعد وظائف التعدين القديمة في Geth مستخدمة على الشبكة الرئيسية لـEthereum.

هل يتطلب تشغيل Geth امتلاك 32 ETH؟

لا، يمكن لأي شخص تشغيل عقدة Geth لا تؤدي دور المدقق من دون تخزين ETH.

هل يجعلني تشغيل Geth مدققاً على Ethereum؟

لا، يتطلب التحقق أيضاً عميل إجماع وبرنامج مدقق ومفاتيح مدقق ومبلغ التخزين المطلوب.

ما Snap Sync في Geth؟

Snap Sync طريقة المزامنة الافتراضية التي تحصل على حالة حديثة لـEthereum وتتحقق من البيانات اللازمة لمواكبة السلسلة الحالية.

هل عقدة Geth المتزامنة عبر Snap Sync عقدة كاملة؟

نعم، تتحقق العقدة المتزامنة عبر Snap Sync بشكل مستقل من تنفيذ Ethereum، وتصبح عقدة كاملة عادية بعد بلوغ رأس السلسلة.

ما الفرق بين عقدة Geth كاملة وعقدة أرشيف؟

تحتفظ العقدة الكاملة بالبيانات اللازمة للتحقق الحالي، بينما تحتفظ عقدة الأرشيف أيضاً بنسخ تاريخية من حالة Ethereum لإجراء استعلامات مباشرة عن الكتل القديمة.

ما مساحة التخزين اللازمة لعقدة أرشيف Geth؟

تعتمد المساحة على الإعداد، لكن الوثائق الحالية تقدرها بنحو 2 TB لأرشيف قائم على المسارات مع سجل كامل للحالة المسطحة، وتزيد عند الاحتفاظ ببيانات تاريخية لشجرة Merkle.

ما المنفذ الذي تستخدمه JSON-RPC في Geth؟

يستخدم خادم JSON-RPC عبر HTTP في Geth عادةً المنفذ 8545 افتراضياً عند تفعيل واجهة HTTP.

ما المنفذ الذي يربط Geth بعميل الإجماع؟

تستخدم Engine API الموثقة عادةً المنفذ 8551، لكن يمكن للمشغل ضبط منفذ مختلف.

هل من الآمن إتاحة RPC في Geth عبر الإنترنت؟

لا يوصى بإتاحتها مباشرةً للعامة من دون مصادقة وتصفية وحدود للطلبات ومراقبة وضوابط أمنية أخرى.

هل يستطيع Geth الاحتفاظ بالمفاتيح الخاصة؟

يدعم Geth ملفات Keystore مشفرة، لكن التوقيع الخارجي والفصل الدقيق للمفاتيح عن خدمات العُقد العامة يوفران ممارسات تشغيلية أكثر أماناً.

هل يمكن استخدام Geth لتطوير العقود الذكية؟

نعم، يمكن للمطورين استخدام Geth لنشر العقود واستدعائها والاستعلام عن أحداثها وتقدير الغاز ومحاكاة المعاملات وتتبعها واختبار البلوكشين محلياً.

هل يمكن لـGeth الاتصال بشبكة اختبارية؟

نعم، يمكن لـGeth الاتصال بشبكات Ethereum الاختبارية المدعومة عند تشغيله بإعدادات الشبكة وعميل الإجماع الصحيحة.

هل يمكن لـGeth إنشاء بلوكتشين خاصة؟

نعم، يمكن لـGeth تهيئة شبكة معزولة متوافقة مع Ethereum باستخدام إعداد مخصص لملف التأسيس.

كيف أتحقق من إصدار Geth؟

شغّل

geth version
في سطر الأوامر لعرض معلومات الإصدار المثبت.

كيف أتحقق من وجود ثغرات معروفة في Geth؟

شغّل

geth version-check
وراجع معلومات الإصدارات والثغرات الأمنية الرسمية قبل تشغيل عقدة إنتاجية.

هل ينبغي تحديث Geth باستمرار؟

نعم، فالتحديث في الوقت المناسب إلى إصدار مستقر مهم للأمن والتوافق مع ترقيات الشبكة والموثوقية والأداء.

الخاتمة

Geth عميل تنفيذ مفتوح المصدر لـEthereum، مكتوب بلغة Go، وأحد تطبيقات البرامج الأساسية المستخدمة للتفاعل مع بلوكشين Ethereum.

يتحقق من المعاملات وينفذ العقود الذكية عبر EVM ويدير حالة Ethereum ويتواصل مع العُقد النظيرة ويوفر بيانات البلوكشين عبر واجهات JSON-RPC.

في ظل بنية إثبات الحصة في Ethereum، يعمل Geth عادةً إلى جانب عميل إجماع لتكوين عقدة كاملة.

يمكن للمستخدمين تشغيل Geth كعقدة كاملة عادية أو تهيئة عقدة أرشيف للحالات التاريخية أو ربط التطبيقات عبر RPC أو دعم بنية المدققين أو إعادة استخدام حزم Go في برامج بلوكشين مخصصة.

يوفر Snap Sync خياراً افتراضياً عملياً لمعظم مشغلي العُقد، بينما يقلل التخزين الأرشيفي الأحدث القائم على المسارات الموارد اللازمة للتحليل التاريخي المتقدم.

قد يعزز تشغيل Geth التحقق والخصوصية والتحكم في البنية التحتية وإمكانية الوصول إلى بيانات Ethereum التفصيلية.

لكنه يتطلب أيضاً أجهزة كافية وإعداداً آمناً لواجهات API وتحديثات منتظمة ومراقبة وإدارة حذرة للمفاتيح.

ينبغي فهم Geth على أنه بنية تحتية أساسية للعملات المشفرة، لا عملة مشفرة بحد ذاته.

وتتمثل مهمته الرئيسية في تطبيق قواعد تنفيذ Ethereum بصورة مستقلة ومنح المستخدمين وصولاً مباشراً إلى رؤية للشبكة تم التحقق منها محلياً.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?