Урок 3

تقنيات تحسين الغاز باستخدام Remix

من المهم أن تتدرب الآن بعد أن أتقنت بعض أساليب تحسين التخزين الأساسية. تفاعل مع الأمثلة المعروضة وجرب إنشاء الأمثلة الخاصة بك. في الجلسة التالية، سنتعمق في تحسين رؤية الوظائف وإعادة استخدام التعليمات البرمجية مع المكتبات. ضع في اعتبارك أن التحسين هو فن وعلم في نفس الوقت. استمر في التجربة!

تحسين التخزين

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

لماذا التخزين مكلف؟

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

متغيرات تخزين التعبئة

مقدمة العملة

تقوم Solidity بتخزين المتغيرات في الفتحات. كل فتحة هي 32 بايت. عندما يمكن احتواء المتغيرات داخل فتحة واحدة، يمكن قراءتها أو تحديثها باستخدام عملية SLOAD أو SSTORE واحدة، على التوالي.

كما هو موضح في المثال

ضع في اعتبارك عقدين:

صلابة
//بدون تحسين
صلابة البراغما ^ 0.8.9؛

عقد تخزين غير محسّن {
    uint256 public value1;
    uint256 public value2;
}
صلابة
//مع التحسين
صلابة البراغما ^ 0.8.9؛

التخزين الأمثل للعقد {
    uint128 public value1;
    uint128 public value2;
}
  1. انشر كلا العقدين في Remix ولاحظ اختلافات الغاز عند التفاعل مع متغيراتها.

  2. في الإصدار المحسّن، تشترك كل من value1 و value2 في فتحة واحدة بحجم 32 بايت.

إعادة استخدام فتحات التخزين

مقدمة العملة

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

كما هو موضح في المثال

صلابة
صلابة البراغما ^ 0.8.9؛

مثال استرداد العقد {
 uint256 البيانات المؤقتة العامة؛

 وظيفة تخزين البيانات المؤقتة (بيانات uint256) العامة {
        temporaryData = data;
    }

    وظيفة مسح البيانات المؤقتة () العامة {
        delete temporaryData;
    }
}
  1. انشر هذا العقد في Remix.

  2. قم بتخزين بعض البيانات المؤقتة ثم قم بمسحها.

  3. تحقق من تكلفة الغاز. لاحظ استرداد الغاز الذي تحصل عليه لعملية الحذف.

استخدام الأحداث بدلاً من التخزين للبيانات التاريخية

مقدمة العملة

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

كما هو موضح في المثال

صلابة
صلابة البراغما ^ 0.8.9؛

مثال على حدث العقد {
 بيانات الحدث المخزنة (بيانات uint256)؛

 وظيفة تخزين البيانات (بيانات uint256) العامة {
        emit DataStored(data);
    }
}
  1. قم بنشر العقد والتفاعل معه في Remix.

  2. لاحظ تكاليف الغاز الأرخص عند مقارنتها بالتخزين.

التطلع إلى الأمام

من المهم أن تتدرب الآن بعد أن أتقنت بعض أساليب تحسين التخزين الأساسية. تفاعل مع الأمثلة المعروضة وجرب إنشاء الأمثلة الخاصة بك. في الجلسة التالية، سنتعمق في تحسين رؤية الوظائف وإعادة استخدام التعليمات البرمجية مع المكتبات. ضع في اعتبارك أن التحسين هو فن وعلم في نفس الوقت. استمر في التجربة!

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
Каталог
Урок 3

تقنيات تحسين الغاز باستخدام Remix

من المهم أن تتدرب الآن بعد أن أتقنت بعض أساليب تحسين التخزين الأساسية. تفاعل مع الأمثلة المعروضة وجرب إنشاء الأمثلة الخاصة بك. في الجلسة التالية، سنتعمق في تحسين رؤية الوظائف وإعادة استخدام التعليمات البرمجية مع المكتبات. ضع في اعتبارك أن التحسين هو فن وعلم في نفس الوقت. استمر في التجربة!

تحسين التخزين

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

لماذا التخزين مكلف؟

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

متغيرات تخزين التعبئة

مقدمة العملة

تقوم Solidity بتخزين المتغيرات في الفتحات. كل فتحة هي 32 بايت. عندما يمكن احتواء المتغيرات داخل فتحة واحدة، يمكن قراءتها أو تحديثها باستخدام عملية SLOAD أو SSTORE واحدة، على التوالي.

كما هو موضح في المثال

ضع في اعتبارك عقدين:

صلابة
//بدون تحسين
صلابة البراغما ^ 0.8.9؛

عقد تخزين غير محسّن {
    uint256 public value1;
    uint256 public value2;
}
صلابة
//مع التحسين
صلابة البراغما ^ 0.8.9؛

التخزين الأمثل للعقد {
    uint128 public value1;
    uint128 public value2;
}
  1. انشر كلا العقدين في Remix ولاحظ اختلافات الغاز عند التفاعل مع متغيراتها.

  2. في الإصدار المحسّن، تشترك كل من value1 و value2 في فتحة واحدة بحجم 32 بايت.

إعادة استخدام فتحات التخزين

مقدمة العملة

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

كما هو موضح في المثال

صلابة
صلابة البراغما ^ 0.8.9؛

مثال استرداد العقد {
 uint256 البيانات المؤقتة العامة؛

 وظيفة تخزين البيانات المؤقتة (بيانات uint256) العامة {
        temporaryData = data;
    }

    وظيفة مسح البيانات المؤقتة () العامة {
        delete temporaryData;
    }
}
  1. انشر هذا العقد في Remix.

  2. قم بتخزين بعض البيانات المؤقتة ثم قم بمسحها.

  3. تحقق من تكلفة الغاز. لاحظ استرداد الغاز الذي تحصل عليه لعملية الحذف.

استخدام الأحداث بدلاً من التخزين للبيانات التاريخية

مقدمة العملة

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

كما هو موضح في المثال

صلابة
صلابة البراغما ^ 0.8.9؛

مثال على حدث العقد {
 بيانات الحدث المخزنة (بيانات uint256)؛

 وظيفة تخزين البيانات (بيانات uint256) العامة {
        emit DataStored(data);
    }
}
  1. قم بنشر العقد والتفاعل معه في Remix.

  2. لاحظ تكاليف الغاز الأرخص عند مقارنتها بالتخزين.

التطلع إلى الأمام

من المهم أن تتدرب الآن بعد أن أتقنت بعض أساليب تحسين التخزين الأساسية. تفاعل مع الأمثلة المعروضة وجرب إنشاء الأمثلة الخاصة بك. في الجلسة التالية، سنتعمق في تحسين رؤية الوظائف وإعادة استخدام التعليمات البرمجية مع المكتبات. ضع في اعتبارك أن التحسين هو فن وعلم في نفس الوقت. استمر في التجربة!

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.