तुमचा पहिला स्मार्ट कॉन्ट्रॅक्ट तैनात करणे
मला वाटते की तुम्ही इथेरियम ब्लॉकचेनवर तुमच्या पहिल्या स्मार्ट कॉन्ट्रॅक्टसोबत संवाद साधण्यासाठी आणि तैनात करण्यासाठी आमच्याइतकेच उत्सुक आहात.
काळजी करू नका, कारण हा आपला पहिला स्मार्ट कॉन्ट्रॅक्ट आहे, आम्ही तो स्थानिक चाचणी नेटवर्कवर तैनात करू, त्यामुळे तुम्हाला तो तैनात करण्यासाठी आणि त्याच्यासोबत हवा तितका खेळण्यासाठी काहीही खर्च येणार नाही.
आपला कॉन्ट्रॅक्ट लिहिणे
पहिली पायरी म्हणजे Remix ला भेट देणे (opens in a new tab) आणि एक नवीन फाईल तयार करणे. Remix इंटरफेसच्या वरच्या डाव्या भागात एक नवीन फाईल जोडा आणि तुम्हाला हवं असलेलं फाईल नाव टाका.
नवीन फाईलमध्ये, आम्ही खालील कोड पेस्ट करू.
1// SPDX-License-Identifier: MIT2pragma solidity >=0.5.17;34contract Counter {56 // गणनेची संख्या ठेवण्यासाठी unsigned int प्रकाराचे सार्वजनिक व्हेरिएबल7 uint256 public count = 0;89 // आमचा काउंटर वाढवणारे फंक्शन10 function increment() public {11 count += 1;12 }1314 // गणनेचे मूल्य मिळवण्यासाठी अनावश्यक गेटर15 function getCount() public view returns (uint256) {16 return count;17 }1819}सर्व दाखवातुम्हाला प्रोग्रामिंगची सवय असल्यास, हा प्रोग्राम काय करतो याचा तुम्ही सहज अंदाज लावू शकता. येथे ओळीनुसार स्पष्टीकरण दिले आहे:
- ओळ 4: आम्ही
Counterनावाने एक कॉन्ट्रॅक्ट परिभाषित करतो. - ओळ 7: आमचा कॉन्ट्रॅक्ट 0 पासून सुरू होणारा
countनावाचा एक अनसाईंड इंटिजर संग्रहित करतो. - ओळ 10: पहिले फंक्शन कॉन्ट्रॅक्टच्या स्टेटमध्ये बदल करेल आणि आमचे
countव्हेरिएबलincrement()करेल. - दुसरे फंक्शन फक्त एक गेटर आहे जे स्मार्ट कॉन्ट्रॅक्टच्या बाहेर
countव्हेरिएबलचे मूल्य वाचण्यास सक्षम करते. लक्षात घ्या की, आम्ही आमचेcountव्हेरिएबल सार्वजनिक म्हणून परिभाषित केल्यामुळे हे आवश्यक नाही परंतु ते उदाहरण म्हणून दाखवले आहे.
आमच्या पहिल्या सोप्या स्मार्ट कॉन्ट्रॅक्टसाठी एवढेच आहे. तुम्हाला माहीत असेलच, हे Java किंवा C++ सारख्या OOP (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) भाषांमधील क्लाससारखे दिसते. आता आमच्या कॉन्ट्रॅक्टसोबत खेळण्याची वेळ आली आहे.
आपला कॉन्ट्रॅक्ट तैनात करणे
आपण आपला पहिला स्मार्ट कॉन्ट्रॅक्ट लिहिला असल्यामुळे, आता आपण त्याच्यासोबत खेळण्यासाठी तो ब्लॉकचेनवर तैनात करू.
ब्लॉकचेनवर स्मार्ट कॉन्ट्रॅक्ट तैनात करणे म्हणजे प्रत्यक्षात कोणतेही प्राप्तकर्ते निर्दिष्ट न करता संकलित स्मार्ट कॉन्ट्रॅक्टचा कोड असलेला व्यवहार पाठवणे.
आपण प्रथम डाव्या बाजूला असलेल्या कंपाइल आयकॉनवर क्लिक करून कॉन्ट्रॅक्ट कंपाइल करू:
नंतर कंपाइल बटणावर क्लिक करा:
तुम्ही "ऑटो कंपाइल" पर्याय निवडू शकता जेणेकरून तुम्ही टेक्स्ट एडिटरवर सामग्री सेव्ह करता तेव्हा कॉन्ट्रॅक्ट नेहमी कंपाइल होईल.
नंतर "तैनात करा आणि व्यवहार चालवा" स्क्रीनवर नेव्हिगेट करा:
एकदा तुम्ही "तैनात करा आणि व्यवहार चालवा" स्क्रीनवर आलात की, तुमच्या कॉन्ट्रॅक्टचे नाव दिसत असल्याची खात्री करा आणि तैनात करा वर क्लिक करा. तुम्ही पृष्ठाच्या शीर्षस्थानी पाहू शकता की, सध्याचे वातावरण "JavaScript VM" आहे, याचा अर्थ असा की जलद आणि कोणत्याही शुल्काशिवाय चाचणी घेण्यासाठी आम्ही स्थानिक चाचणी ब्लॉकचेनवर आपला स्मार्ट कॉन्ट्रॅक्ट तैनात करू आणि त्याच्याशी संवाद साधू.
एकदा तुम्ही "तैनात करा" बटणावर क्लिक केल्यावर, तुम्हाला तुमचा कॉन्ट्रॅक्ट तळाशी दिसेल. त्याचा विस्तार करण्यासाठी डावीकडील बाणावर क्लिक करा जेणेकरून आम्हाला आमच्या कॉन्ट्रॅक्टची सामग्री दिसेल. हे आमचे व्हेरिएबल counter, आमचे increment() फंक्शन आणि गेटर getCounter() आहे.
तुम्ही count किंवा getCount बटणावर क्लिक केल्यास, ते प्रत्यक्षात कॉन्ट्रॅक्टच्या count व्हेरिएबलची सामग्री प्राप्त करेल आणि प्रदर्शित करेल. आपण अद्याप increment फंक्शनला कॉल केलेला नसल्यामुळे, ते 0 प्रदर्शित करेल.
आता बटणावर क्लिक करून increment फंक्शनला कॉल करूया. तुम्हाला विंडोच्या तळाशी झालेल्या व्यवहारांचे लॉग दिसतील. तुम्ही increment बटणाऐवजी डेटा पुनर्प्राप्त करण्यासाठी बटण दाबत असाल तेव्हा लॉग वेगळे असल्याचे तुम्हाला दिसेल. कारण ब्लॉकचेनवर डेटा वाचण्यासाठी कोणत्याही व्यवहारांची (लिखाण) किंवा शुल्काची आवश्यकता नसते. कारण फक्त ब्लॉकचेनच्या स्टेटमध्ये बदल करण्यासाठी व्यवहार करणे आवश्यक आहे:
आपल्या increment() फंक्शनला कॉल करण्यासाठी व्यवहार निर्माण करणारे इंक्रीमेंट बटण दाबल्यानंतर, आपण काउंट किंवा गेटकाउंट बटणावर परत क्लिक केल्यास, आपल्याला आपल्या स्मार्ट कॉन्ट्रॅक्टची नवीन अपडेटेड स्टेट वाचायला मिळेल, ज्यात काउंट व्हेरिएबल 0 पेक्षा मोठे असेल.
पुढील ट्युटोरियलमध्ये, आपण आपल्या स्मार्ट कॉन्ट्रॅक्टमध्ये इव्हेंट्स कसे जोडू शकता हे पाहू. लॉगिंग इव्हेंट्स हा तुमचा स्मार्ट कॉन्ट्रॅक्ट डीबग करण्याचा आणि फंक्शन कॉल करताना काय होत आहे हे समजून घेण्याचा एक सोयीस्कर मार्ग आहे.
पृष्ठ अखेरचे अद्यतन: २६ एप्रिल, २०२४







