अपना पहला स्मार्ट अनुबंध डिप्लॉय करना
मुझे लगता है कि आप भी हमारी तरह एथेरियम ब्लॉकचेन पर अपने पहले स्मार्ट अनुबंध को डिप्लॉय करने और उसके साथ इंटरैक्ट करने के लिए उत्साहित हैं।
चिंता न करें, क्योंकि यह हमारा पहला स्मार्ट अनुबंध है, हम इसे स्थानीय टेस्ट नेटवर्क पर डिप्लॉय करेंगे, ताकि इसे डिप्लॉय करने और इसके साथ जितना चाहें खेलने में आपका कोई खर्च न हो।
अपना अनुबंध लिखना
पहला कदम रीमिक्स पर जाना (opens in a new tab) और एक नई फ़ाइल बनाना है। रीमिक्स इंटरफ़ेस के ऊपरी बाएँ भाग में एक नई फ़ाइल जोड़ें और अपनी इच्छित फ़ाइल का नाम दर्ज करें।
नई फ़ाइल में, हम निम्नलिखित कोड पेस्ट करेंगे।
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.17;
contract Counter {
// गणनाओं की संख्या रखने के लिए अहस्ताक्षरित int प्रकार का सार्वजनिक चर
uint256 public count = 0;
// वह फ़ंक्शन जो हमारे काउंटर को बढ़ाता है
function increment() public {
count += 1;
}
// गणना मान प्राप्त करने के लिए गैर-आवश्यक गेटर
function getCount() public view returns (uint256) {
return count;
}
}
यदि आप प्रोग्रामिंग के आदी हैं तो आप आसानी से अनुमान लगा सकते हैं कि यह प्रोग्राम क्या करता है। यहाँ पंक्ति-दर-पंक्ति एक व्याख्या दी गई है:
- पंक्ति 4: हम
Counterनाम से एक अनुबंध को परिभाषित करते हैं। - पंक्ति 7: हमारा अनुबंध
countनामक एक अहस्ताक्षरित पूर्णांक संग्रहीत करता है जो 0 से शुरू होता है। - पंक्ति 10: पहला फ़ंक्शन अनुबंध की स्थिति को संशोधित करेगा और हमारे
countचर कोincrement()करेगा। - पंक्ति 15: दूसरा फ़ंक्शन स्मार्ट अनुबंध के बाहर
countचर के मान को पढ़ने में सक्षम होने के लिए सिर्फ एक गेटर है। ध्यान दें कि, जैसा कि हमने अपनेcountचर को सार्वजनिक के रूप में परिभाषित किया है, यह आवश्यक नहीं है लेकिन इसे एक उदाहरण के रूप में दिखाया गया है।
हमारे पहले सरल स्मार्ट अनुबंध के लिए बस इतना ही। जैसा कि आप जानते होंगे, यह जावा या सी++ जैसी OOP (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) भाषाओं के एक वर्ग जैसा दिखता है। अब हमारे अनुबंध के साथ खेलने का समय है।
हमारे अनुबंध को डिप्लॉय करना
जैसा कि हमने अपना पहला स्मार्ट अनुबंध लिखा है, अब हम इसे ब्लॉकचेन पर डिप्लॉय करेंगे ताकि इसके साथ खेल सकें।
ब्लॉकचेन पर स्मार्ट अनुबंध को डिप्लॉय करना वास्तव में केवल एक लेनदेन भेजना है जिसमें संकलित स्मार्ट अनुबंध का कोड होता है, बिना किसी प्राप्तकर्ता को निर्दिष्ट किए।
हम पहले बाईं ओर संकलन आइकन पर क्लिक करके अनुबंध का संकलन करेंगे:
फिर संकलन बटन पर क्लिक करें:
आप "ऑटो कंपाइल" विकल्प चुन सकते हैं ताकि जब आप टेक्स्ट एडिटर पर सामग्री सहेजते हैं तो अनुबंध हमेशा संकलित हो जाएगा।
फिर "डिप्लॉय और रन ट्रांजैक्शन" स्क्रीन पर नेविगेट करें:
एक बार जब आप "डिप्लॉय और रन ट्रांजैक्शन" स्क्रीन पर हों, तो दोबारा जांचें कि आपका अनुबंध का नाम दिखाई देता है और डिप्लॉय पर क्लिक करें। जैसा कि आप पृष्ठ के शीर्ष पर देख सकते हैं, वर्तमान परिवेश "जावास्क्रिप्ट VM" है जिसका अर्थ है कि हम तेजी से और बिना किसी शुल्क के परीक्षण करने में सक्षम होने के लिए एक स्थानीय परीक्षण ब्लॉकचेन पर अपने स्मार्ट अनुबंध को डिप्लॉय और इंटरैक्ट करेंगे।
एक बार जब आप "डिप्लॉय" बटन पर क्लिक कर लेंगे, तो आप देखेंगे कि आपका अनुबंध नीचे दिखाई दे रहा है। इसे विस्तृत करने के लिए बाईं ओर तीर पर क्लिक करें ताकि हम अपने अनुबंध की सामग्री देख सकें। यह हमारा चर counter, हमारा increment() फ़ंक्शन और गेटर getCounter() है।
यदि आप count या getCount बटन पर क्लिक करते हैं, तो यह वास्तव में अनुबंध के count चर की सामग्री को पुनः प्राप्त करेगा और इसे प्रदर्शित करेगा। चूंकि हमने अभी तक increment फ़ंक्शन को कॉल नहीं किया है, इसलिए इसे 0 प्रदर्शित करना चाहिए।
आइए अब बटन पर क्लिक करके increment फ़ंक्शन को कॉल करें। आप देखेंगे कि किए गए लेनदेन के लॉग विंडो के नीचे दिखाई दे रहे हैं। आप देखेंगे कि जब आप increment बटन के बजाय डेटा को पुनः प्राप्त करने के लिए बटन दबा रहे होते हैं तो लॉग अलग होते हैं। ऐसा इसलिए है क्योंकि ब्लॉकचेन पर डेटा पढ़ने के लिए किसी लेनदेन (लिखने) या शुल्क की आवश्यकता नहीं होती है। क्योंकि केवल ब्लॉकचेन की स्थिति को संशोधित करने के लिए एक लेनदेन करने की आवश्यकता होती है:
इन्क्रिमेंट बटन दबाने के बाद जो हमारे increment() फ़ंक्शन को कॉल करने के लिए एक लेनदेन उत्पन्न करेगा, यदि हम काउंट या गेटकाउंट बटन पर वापस क्लिक करते हैं तो हम अपने स्मार्ट अनुबंध की नई अपडेट की गई स्थिति को पढ़ेंगे, जिसमें काउंट वेरिएबल 0 से बड़ा होगा।
अगले ट्यूटोरियल में, हम कवर करेंगे कि आप अपने स्मार्ट अनुबंधों में इवेंट्स कैसे जोड़ सकते हैं। लॉगिंग इवेंट्स आपके स्मार्ट अनुबंध को डीबग करने और यह समझने का एक सुविधाजनक तरीका है कि फ़ंक्शन को कॉल करते समय क्या हो रहा है।
पेज का अंतिम अपडेट: 3 मार्च 2026







