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

अपना पहला स्मार्ट अनुबंध डिप्लॉय करना

स्मार्ट अनुबंध
Remix
Solidity
परिनियोजित करना
शुरआती
jdourlens
3 अप्रैल 2020
4 मिनट का पठन

मुझे लगता है कि आप भी हमारी तरह एथेरियम ब्लॉकचेन पर अपने पहले स्मार्ट अनुबंध को डिप्लॉय करने और उसके साथ इंटरैक्ट करने के लिए उत्साहित हैं।

चिंता न करें, क्योंकि यह हमारा पहला स्मार्ट अनुबंध है, हम इसे स्थानीय टेस्ट नेटवर्क पर डिप्लॉय करेंगे, ताकि इसे डिप्लॉय करने और इसके साथ जितना चाहें खेलने में आपका कोई खर्च न हो।

अपना अनुबंध लिखना

पहला कदम रीमिक्स पर जाना (opens in a new tab) और एक नई फ़ाइल बनाना है। रीमिक्स इंटरफ़ेस के ऊपरी बाएँ भाग में एक नई फ़ाइल जोड़ें और अपनी इच्छित फ़ाइल का नाम दर्ज करें।

रीमिक्स इंटरफ़ेस में एक नई फ़ाइल जोड़ना

नई फ़ाइल में, हम निम्नलिखित कोड पेस्ट करेंगे।

1// SPDX-License-Identifier: MIT
2pragma solidity >=0.5.17;
3
4contract Counter {
5
6 // गणनाओं की संख्या रखने के लिए अहस्ताक्षरित int प्रकार का सार्वजनिक चर
7 uint256 public count = 0;
8
9 // वह फ़ंक्शन जो हमारे काउंटर को बढ़ाता है
10 function increment() public {
11 count += 1;
12 }
13
14 // गणना मान प्राप्त करने के लिए गैर-आवश्यक गेटर
15 function getCount() public view returns (uint256) {
16 return count;
17 }
18
19}

यदि आप प्रोग्रामिंग के आदी हैं तो आप आसानी से अनुमान लगा सकते हैं कि यह प्रोग्राम क्या करता है। यहाँ पंक्ति-दर-पंक्ति एक व्याख्या दी गई है:

  • पंक्ति 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

क्या यह ट्यूटोरियल सहायक था?