Ethereum Tutorial - एथेरम में एक गहरा लुक!



यह एथेरियम ट्यूटोरियल एथरेम को एक वास्तुशिल्प दृष्टिकोण से समझाता है और यह भी कि यह डीएपीएस और डीएओ के निर्माण के लिए सबसे बड़ा मंच कैसे बनता है।

एथेरियम ट्यूटोरियल:

इस Ethereum Tutorial ब्लॉग में, मैं Ethereum के आर्किटेक्चर के आंतरिक कामकाज के बारे में बताऊंगा और मैं आपको एक साधारण से Ethereum के कार्यान्वयन को भी दिखाऊंगा स्मार्ट अनुबंध

मैं एथेरियम को एक प्रोग्रामेबल ब्लॉकचेन के रूप में देखता हूं जो भविष्य में बी 2 सी उद्यम के अधिकांश हिस्से की सेवा करेगा। Ethereum ने डेवलपर्स को बिटकॉइन ब्लॉकचेन जैसे पूर्वनिर्धारित संचालन तक सीमित करने के बजाय, ब्लॉकचैन पर निष्पादित किए जाने वाले जटिल मॉडल बनाने की स्वतंत्रता प्रदान की।





इस दृष्टिकोण के साथ, एथेरियम ने खुद को विकेंद्रीकृत अनुप्रयोगों और संगठनों के ढेर सारे मंच के रूप में बदल दिया है, जिसमें शामिल नहीं हैं, लेकिन यह क्रिप्टो-मुद्राओं तक सीमित नहीं है।

मैं इस 'Ethereum Tutorial' ब्लॉग के चलाने के माध्यम से कई विषयों को संपूर्ण तरीके से कवर करूंगा। इन विषयों में शामिल हैं:



आप एथेरियम ट्यूटोरियल की इस रिकॉर्डिंग के माध्यम से जा सकते हैं जहां हमारे प्रशिक्षकों ने विस्तृत तरीके से विषयों को समझाया है इससे आपको इस अवधारणा को बेहतर ढंग से समझने में मदद मिलेगी।

एथेरियम ट्यूटोरियल | एथेरम स्मार्ट कॉन्ट्रैक्ट्स | Edureka

एथेरियम ट्यूटोरियल: एथेरियम अकाउंट्स

Ethereum नेटवर्क के दो प्रकार के खाते हैं:



  • बाहरी खाते
  • अनुबंध खाते

इन खातों को, बाह्य और अनुबंध दोनों को 'राज्य वस्तु' के रूप में संदर्भित किया जाता है और इसमें एथेरियम नेटवर्क के 'राज्य' शामिल होते हैं। प्रत्येक राज्य वस्तु में एक अच्छी तरह से परिभाषित राज्य होता है। बाहरी खातों के लिए, राज्य में खाता शेष शामिल होता है जबकि अनुबंध खातों के लिए राज्य को मेमोरी स्टोरेज और बैलेंस द्वारा परिभाषित किया जाता है।

मैं बाह्य खातों को केवल खातों के रूप में संदर्भित करूंगा। इन खातों का स्वामित्व नेटवर्क के बाहरी एजेंटों द्वारा किया जाता है जिसमें प्रत्येक सामान्य उपयोगकर्ता, खनिक, स्वचालित एजेंट आदि शामिल होते हैं।

इन खातों को आम तौर पर सार्वजनिक कुंजी क्रिप्टोग्राफी एल्गोरिदम जैसे आरएसए की मदद से नियंत्रित किया जाता है। बाहरी खातों का मुख्य उद्देश्य एथेरम ब्लॉकचैन के साथ बातचीत करने के लिए उपयोगकर्ताओं के लिए एक माध्यम के रूप में सेवा करना है।

दूसरी ओर, अनुबंध खाते, एक विशिष्ट पते पर ब्लॉकचेन पर रहने वाले कोड का एक संग्रह है। ये कॉन्ट्रैक्ट बाहरी खातों, या अन्य कॉन्ट्रैक्ट्स द्वारा एक विशिष्ट कॉल-टू-एक्शन फ़ंक्शन के माध्यम से मंगाए जाते हैं। ये अनुबंध उच्च-स्तरीय स्क्रिप्टिंग भाषाओं जैसे सॉलिडिटी, सर्पेंट या एलएलएल में लिखे गए हैं। इथेरेम ब्लॉकचैन पर रहने वाले प्रत्येक अनुबंध को एक विशिष्ट प्रारूप में संग्रहीत किया जाता है जिसे ईवीएम (एथेरम वर्चुअल मशीन) बायटेकोड कहा जाता है जो एक एथेरम विशिष्ट बाइनरी प्रारूप है।

यह केवल उचित होगा कि मैं अब ईवीएम की व्याख्या करता हूं कि मैंने आपको ईवीएम-बायटेकोड के बारे में बताया है।

एथेरियम ट्यूटोरियल: एथेरियम वर्चुअल मशीन

एथेरियम, एक देहाती तरीके से, सामान्यीकृत प्रोटोकॉल के एक सेट को परिभाषित करता है जो विकेन्द्रीकृत अनुप्रयोगों के विकास के स्तंभ बन गए हैं। इस के केंद्र में, एथेरियम वर्चुअल मशीन है। नीचे दिया गया आंकड़ा वास्तुकला की व्याख्या करता है:

एथेरियम आर्किटेक्चर - एथेरियम ट्यूटोरियल - एडुर्का

c ++ नाम स्थान का उपयोग कैसे करें

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

अब जब हम प्लेटफ़ॉर्म की कोर को समझते हैं, तो नेटवर्क नोड्स पर एक गहरी नज़र डालें।

एथेरियम ट्यूटोरियल: एथेरम नेटवर्क

एथेरियम नेटवर्क एक सार्वजनिक ब्लॉकचेन नेटवर्क है। यह नेटवर्क पर चलने वाले सभी विकेंद्रीकृत सहकर्मी से सहकर्मी अनुप्रयोगों और संगठनों का आधार बनाता है। नेटवर्क में दो प्रकार के नोड्स शामिल होते हैं, पूर्ण नोड्स और लाइट-वेट-नोड्स।

पूर्ण नोड्स उत्पत्ति ब्लॉक के बाद से लेन-देन का संपूर्ण इतिहास सम्‍मिलित करें। वे ब्लॉकचेन नेटवर्क की अखंडता का एक पूर्ण प्रमाण हैं। पूर्ण नोड्स में प्रत्येक लेन-देन होता है जिसे एथेरियम के विनिर्देशों द्वारा निर्धारित नियमों के अनुसार सत्यापित किया गया है।

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

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

एथेरियम ट्यूटोरियल: ईथर और गैस

ईथर, क्रिप्टो-मुद्रा का नाम है जिसका उपयोग एथेरियम नेटवर्क पर लेनदेन के लिए भुगतान करने के लिए किया जाता है। सामान्य लेन-देन और सेवाओं के लिए भुगतान करने के लिए, ईथर का उपयोग गैस खरीदने के लिए भी किया जाता है, जिसका उपयोग ईवीएम के भीतर गणना के लिए भुगतान करने के लिए किया जाता है।

ईथर मीट्रिक इकाई है और इसमें बहुत सारे संप्रदाय हैं जो लेनदेन और गैस का सही भुगतान करने में मदद करते हैं। सबसे छोटी संप्रदाय a.k.a आधार इकाई को वेई कहा जाता है। उनके विशिष्ट नामों के साथ संप्रदाय नीचे दी गई तालिका में देखे जा सकते हैं:

इकाइयाँवी वैल्यूवी
वीई1 वीएक
केवी1 ई 3 वी1,000
मेवे1e6 वी1,000,000
बुनना1 ई 9 वी1,000,000,000
माइक्रो इथर1e12 वी1,000,000,000,000 रु
मिलीमीटर1 ई 15 वी1,000,000,000,000,000 रु
ईथर1 ई 18 वी1,000,000,000,000,000,000,000 रु

जैसा कि पहले चर्चा की गई थी, हम जानते हैं कि ईवीएम उस कोड को चलाने के लिए जिम्मेदार है जो उसके नेटवर्क पर तैनात है। तो क्या ईवीएम पर अनंत लूप चलाने से कोई रोक रहा है और पूरी तरह से इसकी मेमोरी को ओवरलोड कर रहा है? यहीं से गैस की अवधारणा सामने आती है।

गैस का उपयोग नेटवर्क पर कम्प्यूटेशनल संसाधनों के भुगतान के लिए एक मीट्रिक के रूप में किया जाता है। नेटवर्क के प्रत्येक अनुबंध में गैस की एक अधिकतम मात्रा होती है जिसे वह अपनी गणना के लिए उपयोग कर सकता है। यह 'के रूप में जाना जाता है गैस की सीमा अन्य संबंधित गैस शब्द इस प्रकार हैं:

  • गैस की कीमत : यह ईथर और इसके अन्य संप्रदायों जैसे टोकन के संदर्भ में गैस की लागत है। गैस के मूल्य को स्थिर करने के लिए, गैस मूल्य एक अस्थायी मूल्य होता है जैसे कि यदि टोकन या मुद्रा की कीमत में उतार-चढ़ाव होता है, तो गैस की कीमत समान वास्तविक मूल्य रखने के लिए बदल जाती है।
  • गैस शुल्क : यह प्रभावी रूप से किसी विशेष लेनदेन या प्रोग्राम (जिसे अनुबंध कहा जाता है) को चलाने के लिए भुगतान की जाने वाली गैस की मात्रा है।

इसलिए, अगर कोई कोड का एक टुकड़ा चलाने की कोशिश करता है जो हमेशा के लिए चलता है, तो अनुबंध अंततः अपनी गैस सीमा को पार कर जाएगा और अनुबंध को लागू करने वाले पूरे लेनदेन को अपनी पिछली स्थिति में वापस ले जाएगा।


अब जब हम मुद्रा के बारे में जानते हैं, तो आइए उस प्रक्रिया पर एक नज़र डालें जो नई मुद्रा उत्पन्न करती है।

एथेरियम ट्यूटोरियल: माइनिंग

एथेरम, अन्य सार्वजनिक ब्लॉकचेन प्रौद्योगिकियों की तरह बहुत कुछ प्रोत्साहन आधारित मॉडल के माध्यम से सुरक्षा सुनिश्चित करता है। इसे प्रूफ-ऑफ-वर्क तंत्र कहा जाता है। नीचे दिया गया आंकड़ा बताता है कि इथेरियम खनन कैसे काम करता है:

अधिक तकनीकी दृष्टिकोण से, उपयोग किए जाने वाले प्रूफ-ऑफ-वर्क एल्गोरिथम को एटाश कहा जाता है, जो डैगर-हाशिमोटो एल्गोरिथम से प्रेरित हैशिंग एल्गोरिथ्म है।

अब जब हमने एथेरियम के काम के आर्किटेक्चर को देखा है और इसके आवश्यक तत्वों पर चर्चा की है, तो आइए वास्तविक दुनिया की समस्या और उसी को हल करने के लिए एथेरियम के दृष्टिकोण को देखें।

एथेरियम ट्यूटोरियल: विकेंद्रीकृत क्राउड फंडिंग केस का उपयोग

समस्या का विवरण : एक अच्छा 'विचार' सफल व्यवसाय शुरू करने के लिए आज की दुनिया में सब कुछ नहीं है। एक विचार को लागू करने के लिए बहुत सारे धन और प्रयास की आवश्यकता होती है। यह वह जगह है जहाँ 'किकस्टार्टर' जैसे संगठन चित्र में आते हैं। वे इसे चलाने के लिए अपनी परियोजना के लिए दान के लिए आवश्यक सार्वजनिक जोखिम के साथ परियोजनाएं प्रदान करते हैं, लेकिन इस तरह के एक मकसद के केंद्रीकृत वास्तुकला में इसकी गिरावट है, मुख्य रूप से जिस तरह से पुरस्कारों को संभाला जाता है। चूंकि केंद्रीकृत प्राधिकरण सभी निर्णय लेता है, इसलिए सिस्टम नियमों के लिए प्रवण हैं:

  • जो कोई भी अभियान के लिए समय सीमा से चूक गया, वह किसी और में नहीं मिल सकता है
  • कोई भी डोनर जिसने अपना मन बदल लिया है, वह बाहर नहीं निकल सकता

दृष्टिकोण :

हम समस्या का समाधान करने के लिए विकेंद्रीकृत कार्यप्रणाली लेते हैं, जैसा कि नीचे दी गई तस्वीर में बताया गया है:

उपाय :

यहाँ उपरोक्त समस्या कथन के लिए सॉलिडिटी स्मार्ट अनुबंध है।

व्यावहारिक सॉलिडिटी ^ 0.4.16 इंटरफ़ेस टोकन {फंक्शन ट्रांसफर (एड्रेस रिसीवर, यूइंट अमाउंट)} कॉन्ट्रैक्ट क्राउडेल {एड्रेस पब्लिक बेनेफिशियरी uint पब्लिक फंडिंग यूटिल पब्लिक अमाउंट। Uint पब्लिक डेडलाइन uint पब्लिक प्राइस पब्लिक टोकन टोकन मैपिंग (एड्रेस => uint256) पब्लिक बैलेंसऑफ bool FundGoalReached = false bool crowdsaleClosed = झूठी घटना GoalReached (पता प्राप्तकर्ता, uint कुलAmountRaised) ईवेंट FundTransfer (पता बैकर, यूंट राशि, बूल आइसकंटेशन) / ** * Constrctor function * * सेटअप स्वामी * / फ़ंक्शन Crowdsale (पता ifSuccessSendendendendendion) जब मालिक सफल होता है, तो धन उंट धन प्राप्त करता हैGoalInInthers // लक्ष्य राशि बढ़ाने के लिए uint periodInMinute // दिए गए समय uint etherCostOfEachToken // ईथर के पते में इक्विटी की लागत पताOfToktUsedAsReward // टोकन पता) {लाभार्थी = ifSuccessfulSendTo »धन उगाहने के लिए धन उगाहना + periodInMinutes * 1 मिनट की कीमत = etherCostOfEachToken * 1 ईथर से kenReward = token (addressOfTokenUsedAsReward)} / ** * फ़ॉलबैक फ़ंक्शन * * बिना नाम वाला फ़ंक्शन वह डिफ़ॉल्ट फ़ंक्शन है जिसे जब भी किसी कॉन्ट्रैक्ट * / फ़ंक्शन () को देय राशि भेजता है तो उसे कॉल किया जाता है (आवश्यकता (crowdsaleClosed) uint राशि = msg! value balanceOf [msg.sender] + = राशि राशिRaised + = राशि tokenReward.transfer (msg.sender, राशि / कीमत) FundTransfer (msg.sender, राशि, सत्य)} संशोधन के बाद रूपांतरण () {अगर (अब = धनराशि) {धनराशि का मूल्यांकन किया गया = true GoalReached (लाभार्थी, राशि प्राप्त)} crowdsaleClosed = true} / ** * धनराशि वापस लें * * यह देखने के लिए कि क्या लक्ष्य या समय सीमा समाप्त हो गई है, और यदि ऐसा है, और धन लक्ष्य तक पहुँच गया है, तो * पूरी राशि भेजता है। लाभार्थी को। यदि लक्ष्य प्राप्त नहीं हुआ था, तो प्रत्येक योगदानकर्ता उस राशि को निकाल सकता है जो उन्होंने योगदान किया था। * (function safeWithdrawal () afterDeadline {if ((फ़ंडिंगगैलReached) {uint राशि = balanceOf [msg.sender] balanceOf [msg.sender] = 0 अगर (राशि> 0) अगर (msg.sender.send (राशि)) { FundTransfer (msg.sender, amount, false)} और {{बैलेंस करें [msg.sender] = राशि}}} अगर (फ़ंडिंगहेल्ड रीचार्ज और& लाभार्थी == msg.sender) {अगर (लाभार्थी .send (राशि)) {FundTransfer (लाभार्थी) राशि, झूठी)} बाकी {// अगर हम लाभार्थी को धन भेजने में विफल रहते हैं, तो धनराशि को अनलॉक करें धन का संतुलन बनाए रखेंGoReached = false}}}

यदि आप एकांत सीखने में रुचि रखते हैं, तो हमारे ब्लॉग को देखें , जिसे विकसित करने के लिए उपयोग किया जाता हैवैयक्तिकस्मार्ट-कॉन्ट्रैक्ट्स।

यदि आप ब्लॉकचेन सीखना चाहते हैं और ब्लॉकचैन टेक्नोलॉजीज में अपना करियर बनाना चाहते हैं, तो हमारी जाँच करें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक जीवन की परियोजना के अनुभव के साथ आता है। यह प्रशिक्षण आपको ब्लॉकचेन को गहराई से समझने में मदद करेगा और आपको विषय पर महारत हासिल करने में मदद करेगा।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम जितनी जल्दी हो सके आप को वापस मिल जाएगा।