الأحداث
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 48 من 53.
يسجّل الحدث إدخالًا في السجل لتراقبه التطبيقات خارج السلسلة. صرّح باسمه وحقوله ذات الأنواع على مستوى العقد، ثم استخدم emit لإنتاج السجل. تختلف الأحداث عن متغيرات الحالة وعن وحدة التحكم العملية.
صرّح بهذا على مستوى العقد:
event Counted(uint256 value);استخدمه داخل الدالة main المتوفرة:
emit Counted(17);
console.log(uint256(17));ينتج Counted سجلّ أحداث يحتوي على حقل رقمي واحد. تستدعي وحدة التحكم الطباعة بشكل منفصل للقيمة سبعة عشر في مشغّل التمرين هذا. لا تُضمَّن سجلات الأحداث في اختبارات المخرجات النصية، لذا يجب أن يُصدر التمرين الصحيح الحدث ويطبع القيمة المطلوبة بشكل منفصل.
صرّح عن الأحداث باستخدام event، وأنتج سجلاتها باستخدام emit.
التحدي
سهلصرّح بالحدث Updated(uint256 value). أطلق Updated(amount)، ثم اطبع amount.
تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 amount. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدامتدرّب بنفسك: Playground لـ Solidity