प्रमुख मजकुराकडे जा

तुमचा पहिला स्मार्ट कॉन्ट्रॅक्ट तैनात करणे

स्मार्ट कॉन्ट्रॅक्ट
Remix
Solidity
डिप्लॉयिंग
नवशिक्या
jdourlens
३ एप्रिल, २०२०
3 मिनिट वाचन

मला वाटते की तुम्ही इथेरियम ब्लॉकचेनवर तुमच्या पहिल्या स्मार्ट कॉन्ट्रॅक्टसोबत संवाद साधण्यासाठी आणि तैनात करण्यासाठी आमच्याइतकेच उत्सुक आहात.

काळजी करू नका, कारण हा आपला पहिला स्मार्ट कॉन्ट्रॅक्ट आहे, आम्ही तो स्थानिक चाचणी नेटवर्कवर तैनात करू, त्यामुळे तुम्हाला तो तैनात करण्यासाठी आणि त्याच्यासोबत हवा तितका खेळण्यासाठी काहीही खर्च येणार नाही.

आपला कॉन्ट्रॅक्ट लिहिणे

पहिली पायरी म्हणजे Remix ला भेट देणे (opens in a new tab) आणि एक नवीन फाईल तयार करणे. Remix इंटरफेसच्या वरच्या डाव्या भागात एक नवीन फाईल जोडा आणि तुम्हाला हवं असलेलं फाईल नाव टाका.

Remix इंटरफेसमध्ये एक नवीन फाईल जोडणे

नवीन फाईलमध्ये, आम्ही खालील कोड पेस्ट करू.

1// SPDX-License-Identifier: MIT
2pragma solidity >=0.5.17;
3
4contract Counter {
5
6 // गणनेची संख्या ठेवण्यासाठी unsigned 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: आमचा कॉन्ट्रॅक्ट 0 पासून सुरू होणारा count नावाचा एक अनसाईंड इंटिजर संग्रहित करतो.
  • ओळ 10: पहिले फंक्शन कॉन्ट्रॅक्टच्या स्टेटमध्ये बदल करेल आणि आमचे count व्हेरिएबल increment() करेल.
  • दुसरे फंक्शन फक्त एक गेटर आहे जे स्मार्ट कॉन्ट्रॅक्टच्या बाहेर count व्हेरिएबलचे मूल्य वाचण्यास सक्षम करते. लक्षात घ्या की, आम्ही आमचे count व्हेरिएबल सार्वजनिक म्हणून परिभाषित केल्यामुळे हे आवश्यक नाही परंतु ते उदाहरण म्हणून दाखवले आहे.

आमच्या पहिल्या सोप्या स्मार्ट कॉन्ट्रॅक्टसाठी एवढेच आहे. तुम्हाला माहीत असेलच, हे Java किंवा C++ सारख्या OOP (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) भाषांमधील क्लाससारखे दिसते. आता आमच्या कॉन्ट्रॅक्टसोबत खेळण्याची वेळ आली आहे.

आपला कॉन्ट्रॅक्ट तैनात करणे

आपण आपला पहिला स्मार्ट कॉन्ट्रॅक्ट लिहिला असल्यामुळे, आता आपण त्याच्यासोबत खेळण्यासाठी तो ब्लॉकचेनवर तैनात करू.

ब्लॉकचेनवर स्मार्ट कॉन्ट्रॅक्ट तैनात करणे म्हणजे प्रत्यक्षात कोणतेही प्राप्तकर्ते निर्दिष्ट न करता संकलित स्मार्ट कॉन्ट्रॅक्टचा कोड असलेला व्यवहार पाठवणे.

आपण प्रथम डाव्या बाजूला असलेल्या कंपाइल आयकॉनवर क्लिक करून कॉन्ट्रॅक्ट कंपाइल करू:

Remix टूलबारमधील कंपाइल आयकॉन

नंतर कंपाइल बटणावर क्लिक करा:

Remix सॉलिडिटी कंपाइलरमधील कंपाइल बटण

तुम्ही "ऑटो कंपाइल" पर्याय निवडू शकता जेणेकरून तुम्ही टेक्स्ट एडिटरवर सामग्री सेव्ह करता तेव्हा कॉन्ट्रॅक्ट नेहमी कंपाइल होईल.

नंतर "तैनात करा आणि व्यवहार चालवा" स्क्रीनवर नेव्हिगेट करा:

Remix टूलबारमधील तैनात आयकॉन

एकदा तुम्ही "तैनात करा आणि व्यवहार चालवा" स्क्रीनवर आलात की, तुमच्या कॉन्ट्रॅक्टचे नाव दिसत असल्याची खात्री करा आणि तैनात करा वर क्लिक करा. तुम्ही पृष्ठाच्या शीर्षस्थानी पाहू शकता की, सध्याचे वातावरण "JavaScript VM" आहे, याचा अर्थ असा की जलद आणि कोणत्याही शुल्काशिवाय चाचणी घेण्यासाठी आम्ही स्थानिक चाचणी ब्लॉकचेनवर आपला स्मार्ट कॉन्ट्रॅक्ट तैनात करू आणि त्याच्याशी संवाद साधू.

Remix सॉलिडिटी कंपाइलरमधील तैनात बटण

एकदा तुम्ही "तैनात करा" बटणावर क्लिक केल्यावर, तुम्हाला तुमचा कॉन्ट्रॅक्ट तळाशी दिसेल. त्याचा विस्तार करण्यासाठी डावीकडील बाणावर क्लिक करा जेणेकरून आम्हाला आमच्या कॉन्ट्रॅक्टची सामग्री दिसेल. हे आमचे व्हेरिएबल counter, आमचे increment() फंक्शन आणि गेटर getCounter() आहे.

तुम्ही count किंवा getCount बटणावर क्लिक केल्यास, ते प्रत्यक्षात कॉन्ट्रॅक्टच्या count व्हेरिएबलची सामग्री प्राप्त करेल आणि प्रदर्शित करेल. आपण अद्याप increment फंक्शनला कॉल केलेला नसल्यामुळे, ते 0 प्रदर्शित करेल.

Remix सॉलिडिटी कंपाइलरमधील फंक्शन बटण

आता बटणावर क्लिक करून increment फंक्शनला कॉल करूया. तुम्हाला विंडोच्या तळाशी झालेल्या व्यवहारांचे लॉग दिसतील. तुम्ही increment बटणाऐवजी डेटा पुनर्प्राप्त करण्यासाठी बटण दाबत असाल तेव्हा लॉग वेगळे असल्याचे तुम्हाला दिसेल. कारण ब्लॉकचेनवर डेटा वाचण्यासाठी कोणत्याही व्यवहारांची (लिखाण) किंवा शुल्काची आवश्यकता नसते. कारण फक्त ब्लॉकचेनच्या स्टेटमध्ये बदल करण्यासाठी व्यवहार करणे आवश्यक आहे:

व्यवहारांचा लॉग

आपल्या increment() फंक्शनला कॉल करण्यासाठी व्यवहार निर्माण करणारे इंक्रीमेंट बटण दाबल्यानंतर, आपण काउंट किंवा गेटकाउंट बटणावर परत क्लिक केल्यास, आपल्याला आपल्या स्मार्ट कॉन्ट्रॅक्टची नवीन अपडेटेड स्टेट वाचायला मिळेल, ज्यात काउंट व्हेरिएबल 0 पेक्षा मोठे असेल.

स्मार्ट कॉन्ट्रॅक्टची नवीन अपडेटेड स्टेट

पुढील ट्युटोरियलमध्ये, आपण आपल्या स्मार्ट कॉन्ट्रॅक्टमध्ये इव्हेंट्स कसे जोडू शकता हे पाहू. लॉगिंग इव्हेंट्स हा तुमचा स्मार्ट कॉन्ट्रॅक्ट डीबग करण्याचा आणि फंक्शन कॉल करताना काय होत आहे हे समजून घेण्याचा एक सोयीस्कर मार्ग आहे.

पृष्ठ अखेरचे अद्यतन: २६ एप्रिल, २०२४

हे मार्गदर्शन उपयुक्त होते का?