मुख्य सामग्री पर जाएं

स्मार्ट अनुबंधों से घटनाओं के साथ डेटा लॉग करना

स्मार्ट अनुबंध
remix
solidity
घटनाएँ
मध्यवर्ती
jdourlens
3 अप्रैल 2020
3 मिनट पढ़ें
पृष्ठ संपादित करें (opens in a new tab)

Solidity में, घटनाएँ ऐसे प्रेषित सिग्नल होते हैं जिन्हें स्मार्ट अनुबंध ट्रिगर कर सकते हैं। विकेंद्रीकृत एप्लिकेशन (dapp), या इथेरियम जेसन-आरपीसी API से जुड़ा कुछ भी, इन घटनाओं को सुन सकता है और उसके अनुसार कार्य कर सकता है। किसी घटना को अनुक्रमित (indexed) भी किया जा सकता है ताकि घटना के इतिहास को बाद में खोजा जा सके।

घटनाएँ

इस लेख को लिखते समय इथेरियम ब्लॉकचेन पर सबसे आम घटना Transfer घटना है जो ERC-20 टोकन द्वारा तब उत्सर्जित (emitted) होती है जब कोई टोकन ट्रांसफर करता है।

event Transfer(address indexed from, address indexed to, uint256 value);

घटना का हस्ताक्षर अनुबंध कोड के अंदर घोषित किया जाता है और इसे emit कीवर्ड के साथ उत्सर्जित किया जा सकता है। उदाहरण के लिए, transfer घटना यह लॉग करती है कि ट्रांसफर किसने भेजा (from), किसे भेजा (to) और कितने टोकन ट्रांसफर किए गए (value) हैं।

यदि हम अपने Counter स्मार्ट अनुबंध पर वापस जाते हैं और हर बार मान (value) बदलने पर लॉग करने का निर्णय लेते हैं। चूंकि यह अनुबंध तैनात करने के लिए नहीं है, बल्कि इसे विस्तारित करके एक और अनुबंध बनाने के लिए आधार के रूप में काम करने के लिए है: इसे एक एब्सट्रैक्ट (abstract) अनुबंध कहा जाता है। हमारे काउंटर उदाहरण के मामले में, यह इस तरह दिखेगा:

ध्यान दें कि:

  • लाइन 5: हम अपनी घटना और उसमें क्या शामिल है, पुराना मान और नया मान घोषित करते हैं।

  • लाइन 13: जब हम अपने count वेरिएबल को बढ़ाते हैं, तो हम घटना को उत्सर्जित करते हैं।

यदि अब हम अनुबंध को तैनात करते हैं और increment फ़ंक्शन को कॉल करते हैं, तो हम देखेंगे कि यदि आप logs नामक एरे (array) के अंदर नए लेन-देन पर क्लिक करते हैं तो Remix इसे स्वचालित रूप से प्रदर्शित करेगा।

Remix screenshot

लॉग आपके स्मार्ट अनुबंधों को डीबग करने के लिए वास्तव में उपयोगी होते हैं, लेकिन वे तब भी महत्वपूर्ण होते हैं जब आप विभिन्न लोगों द्वारा उपयोग किए जाने वाले एप्लिकेशन बनाते हैं और यह ट्रैक करने और समझने के लिए एनालिटिक्स बनाना आसान बनाते हैं कि आपके स्मार्ट अनुबंध का उपयोग कैसे किया जाता है। लेन-देन द्वारा उत्पन्न लॉग लोकप्रिय ब्लॉक एक्सप्लोरर में प्रदर्शित होते हैं और उदाहरण के लिए आप उनका उपयोग विशिष्ट घटनाओं को सुनने और उनके घटित होने पर कार्रवाई करने के लिए ऑफचेन स्क्रिप्ट बनाने के लिए भी कर सकते हैं।

पेज का अंतिम अपडेट: 3 मार्च 2026