Ethereum स्मार्ट कॉन्ट्रैक्ट - एक स्मार्ट कॉन्ट्रैक्ट को कैसे निष्पादित करें?



इस Ethereum स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल में, आप सीखेंगे कि Truffle और Ethereum Private Network का उपयोग करके स्मार्ट कॉन्ट्रैक्ट कैसे बनाएं, नियुक्त करें और निष्पादित करें।

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

जातीय विकास में रुचि है? इस लाइव को देखें ।





c ++ में नाम स्थान क्या हैं

हम इस Ethereum स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल में निम्नलिखित विषयों को देखेंगे:

  1. केस का उपयोग करें: बीमा प्रक्रिया में स्मार्ट अनुबंध
  2. स्मार्ट कॉन्ट्रैक्ट्स के लाभ
  3. पूर्व आवश्यक स्थापित करना
  4. जेनेसिस ब्लॉक को कॉन्फ़िगर करना
  5. एथेरियम प्राइवेट नेटवर्क चला रहा है
  6. एथेरियम अकाउंट बनाना
  7. एथेरियम स्मार्ट कॉन्ट्रैक्ट बनाना
  8. एथेरियम स्मार्ट अनुबंध निष्पादित करना

केस का उपयोग करें: बीमा प्रक्रिया में स्मार्ट अनुबंध

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



आइए एक उड़ान विलंब बीमा का एक उदाहरण देखें। मान लीजिए कि आप स्रोत A से गंतव्य C की उड़ान लेना चाहते हैं, लेकिन आपके पास सीधी उड़ान नहीं है। तो, आप एक कनेक्टिंग उड़ान (बी के माध्यम से) लेने का फैसला करते हैं। अब, आपका मार्ग A से B तक और फिर B से C तक होगा, जहाँ B वह हवाई अड्डा है जहाँ आप उड़ानें बदलते रहेंगे। दुर्भाग्य से, आपके पास A से B और B से C तक की उड़ानों के बीच अधिक समय का अंतर नहीं है, यदि किसी भी संयोग से, A से B की उड़ान में देरी हो रही है, तो आप B से C तक की उड़ान को याद करेंगे। इसे महसूस करें और बस अपने आप को भारी नुकसान से बचाने के लिए, आप एक उड़ान विलंब बीमा लें।

उड़ान विलंब बीमा - एडुरका

अब, यदि आपकी उड़ान A से B में देरी हो रही है (जो आपको B से C की उड़ान में छूट जाएगी), तो आपको बीमा राशि का भुगतान किया जाएगा। यह काम करने का सामान्य तरीका है, यदि आपकी उड़ान में देरी हो रही है, तो आप बीमा का दावा करते हैं। फिर, वहाँ कुछ व्यक्ति बीमा को सत्यापित और अनुमोदित करेंगे और अंत में, आपको अपनी बीमा राशि मिल जाएगी। लेकिन यह काफी लंबी प्रक्रिया है।



बीमा प्रक्रिया में सुधार के लिए आप स्मार्ट कॉन्ट्रैक्ट का उपयोग कैसे कर सकते हैं?

जब यह वित्तीय लेनदेन की बात आती है, और विशेष रूप से जब आपको पैसा मिल रहा होता है, तो 'तेज, बेहतर', क्या यह नहीं है? तो, आइए देखें कि स्मार्ट कॉन्ट्रैक्ट्स बीमा प्रक्रिया को कैसे तेज कर सकते हैं। स्मार्ट कॉन्ट्रैक्ट्स डिजिटल कॉन्ट्रैक्ट्स होते हैं जो कुछ शर्तों को पूरा करने पर स्वचालित रूप से निष्पादित होते हैं। फ्लाइट डिले इंश्योरेंस के लिए उड़ान भरने में देरी करने वाले लोगों को बीमा राशि का भुगतान करने के लिए एक स्मार्ट कॉन्ट्रैक्ट लिखा जा सकता है। इसलिए, जब उड़ान में देरी होती है और यह देरी प्रणाली द्वारा दर्ज की जाती है, तो बीमा तुरंत भुगतान किया जाता है।

होला! कुछ सेकंड में भुगतान की गई बीमा राशि। यह कैसे सरल और तेज स्मार्ट कॉन्ट्रैक्ट एक प्रक्रिया होती है।

स्मार्ट कॉन्ट्रैक्ट्स के लाभ

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

  • स्वचालित: प्रक्रिया के सभी चरण स्मार्ट कॉन्ट्रैक्ट के साथ स्वचालित रूप से होते हैं
  • कोई मध्यवर्ती नहीं: जब आप स्मार्ट कॉन्ट्रैक्ट का उपयोग करते हैं, तो आपको काम पाने के लिए एक मध्यवर्ती की आवश्यकता नहीं होती है क्योंकि स्मार्ट कॉन्ट्रैक्ट द्वारा सब कुछ नियंत्रित किया जाएगा।
  • प्रभावी लागत: स्मार्ट कॉन्ट्रैक्ट्स का उपयोग करने से आपको बैंकों द्वारा चार्ज किए गए लेनदेन शुल्क और मध्यवर्ती द्वारा सेवा शुल्क शुल्क (यदि कोई हो) पर पैसे की बचत होगी

अब, हम जानते हैं कि दुनिया को एक तेज़ जगह बनाने के लिए स्मार्ट कॉन्ट्रैक्ट्स का उपयोग कैसे किया जा सकता है, आइए इस एथेरेम स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल में हाथों-हाथ हिस्सा लें।

पूर्व आवश्यक स्थापित करना

इस Ethereum स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल के लिए, हमें 5 महत्वपूर्ण अनुप्रयोगों की आवश्यकता होगी:

  • NodeJS
  • एनपीएम
  • एथेरम
  • ट्रफल
  • सॉलिडिटी कंपाइलर

NodeJS स्थापित करना

NodeJS एक जावास्क्रिप्ट फ्रेमवर्क है जिसका उपयोग सर्वर एप्लिकेशन बनाने के लिए किया जाता है। जैसा कि हम एक निजी नेटवर्क का उपयोग कर रहे हैं, NodeJS नेटवर्क एप्लिकेशन का निर्माण करना आसान बना देगा।

Nodejs को स्थापित करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ:

$ sudo apt-get install नोडज

एनपीएम स्थापित करना

एनपीएम का मतलब नोड पैकेज मैनेजर होता है और इसका इस्तेमाल नोड्स एप्लीकेशन चलाने के लिए किया जाता है।

एनपीएम स्थापित करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ:

$ sudo apt-get install npm

एथेरियम स्थापित करना

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

Ethereum स्थापित करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ:

$ sudo apt-get install सॉफ़्टवेयर-properties-common-$ $ sudo add-apt-repository -y ppa: Ethereum / ethereum $ sudo apt-get update $ sudo apt-get install Ethereum

ट्रफल स्थापित करना

Truffle Ethereum Blokchains के लिए डेवलपमेंट एन्वायरमेंट, टेस्टिंग फ्रेमवर्क और एसेट पाइपलाइन है।

Truffle को स्थापित करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ:

$ npm स्थापित -g ट्रफल

संकल्पी संकलक स्थापित करना

सॉलिडिटी एक प्रोग्रामिंग लैंग्वेज है जिसका इस्तेमाल स्मार्ट कॉन्ट्रैक्ट्स को लिखने के लिए किया जाता है। हमारे सिस्टम पर स्मार्ट कॉन्ट्रैक्ट्स चलाने के लिए, हमें सॉलिडिटी कंपाइलर इंस्टॉल करना होगा।

सॉलिडिटी कंपाइलर स्थापित करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ:

$ sudo npm इंस्टाल -g सोल

जेनेसिस ब्लॉक को कॉन्फ़िगर करना

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

पहले एक नई निर्देशिका बनाएं और फिर उस निर्देशिका में हम बनाएँगे उत्पत्ति फ़ाइल

$ mkdir Ethereum-network $ cd ethereum-network $ nano genesis.json

अब, निम्नलिखित पंक्तियों को दर्ज करें genesis.json फ़ाइल:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0}'आवंटित': {}, 'कठिनाई': '200' '' गैसलिमिट ':' 99999999999999 ''}

इसे सहेजें और बाहर निकलें।

एथेरियम प्राइवेट नेटवर्क चला रहा है

इस Etheruem स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल में, हम एक निजी नेटवर्क पर एक Ethereum स्मार्ट कॉन्ट्रैक्ट तैनात करेंगे। इसलिए, इस नेटवर्क को शुरू करने के लिए हम निम्नलिखित कमांड का उपयोग करेंगे:

$ गत - ददातिर ।/ दतादिर इनिट ।/genesis.json

$ geth --port 4321 --networkid 1234 --datadir =। / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

आगे बढ़ने से पहले, मैं ऊपर दिए गए कमांड में इस्तेमाल किए गए कुछ महत्वपूर्ण झंडे समझाता हूँ:

दातादिर: निर्देशिका जहां ब्लॉकचेन से संबंधित डेटा संग्रहीत है।

आरपीसी: HTTP-RPC सर्वर को सक्षम करता है।

आरपीसीपोर्ट तथा rpcaddr क्रमशः नेटवर्क का पोर्ट और पता सेट करने के लिए उपयोग किया जाता है।

rpcapi: हमें विभिन्न एपीआई का उपयोग करके एथेरियम नेटवर्क के साथ बातचीत करने की अनुमति देता है।

जेथ को एथेरियम प्राइवेट ब्लॉकचेन से कनेक्ट करना

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

$ geth संलग्न http://127.0.0.1:8543

अब, हम गेथ कंसोल में हैं जहाँ हम ब्लॉकचेन के साथ बातचीत करने के लिए कमांड चला सकते हैं।

एथेरियम अकाउंट बनाना

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

अब तक के चरणों का पालन करते हुए, हम पहले से ही गेथ कंसोल में हैं। एक नया खाता बनाने के लिए, Geth कंसोल में निम्न कमांड चलाएँ:

> Personal.newAccount ('सीडफ्रेज़')

बदलो 'बीजारोपण“उस पासवर्ड के साथ जिसे आप इस खाते के लिए सेट करना चाहते हैं।

हमने एक नया खाता बनाया है, लेकिन इस खाते का कोई आधार नहीं है। ज़रुरत हैकिसी भी लेन-देन करने और पंख पाने के लिए पंखहमारे खाते में, हम माइनिंग इथर शुरू करेंगे। खनन शुरू करने के लिए, हमें पहले खाते को अनलॉक करना होगा। आइए खाते को अनलॉक करें और खनन शुरू करें।

> Personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.art ()

जैसा कि खनन होता रहता है, कुछपंखइस खाते में जमा किया जाएगा।

ध्यान दें : ये पंख हैं डमी पंख और कोई वास्तविक दुनिया मूल्य नहीं है।

शेष राशि की जांच करने के लिएपंखखाते में हम निम्नलिखित कमांड चलाएंगे:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ईथर')

जब आप इस कमांड को नियमित अंतराल पर चलाते हैं, तो आप देखेंगे कि दपंखखनन के कारण बढ़ रहे हैं।

खनन को रोकने के लिए, निम्नलिखित कमांड चलाएँ:

> miner.stop ()

एथेरियम स्मार्ट कॉन्ट्रैक्ट बनाना

ट्रफल प्रोजेक्ट बनाना

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

इसे शुरू करने के लिए, हमें पहले Truffle प्रोजेक्ट को स्टोर करने के लिए एक नई निर्देशिका बनाना है। और फिर उस निर्देशिका में, हम एक नया Truffle प्रोजेक्ट बनाएंगे। एक नया टर्मिनल खोलें और नीचे दिए गए कमांड चलाएं:

$ mkdir truffle $ cd ट्रफल $ truffle init

truffle init आदेश एक ट्रफल परियोजना के लिए आवश्यक सभी आवश्यक फाइलें बनाएगा।

अब जब हमारे पास एथेरम स्मार्ट कॉन्ट्रैक्ट को तैयार करने के लिए सब कुछ है, तो आइए हम एक 'हैलो वर्ल्ड' स्मार्ट कॉन्ट्रैक्ट लिखें।

'हैलो वर्ल्ड' स्मार्ट कॉन्ट्रैक्ट लिखना

सभी अनुबंध 'अनुबंध' निर्देशिका में लिखे जाने चाहिए। हम इस निर्देशिका पर स्विच करेंगे और 'HelloWorld.sol' नाम के साथ एक अनुबंध बनाएंगे और इस फ़ाइल में निम्नलिखित लाइनें जोड़ेंगे:

प्रचार की वैधता ^ 0.4.15 अनुबंध HelloWorld {स्ट्रिंग सार्वजनिक संदेश फ़ंक्शन हैलो () सार्वजनिक {संदेश = 'हैलो वर्ल्ड!' }}

यह बात है! लेकिन इस स्मार्ट अनुबंध को स्वयं निष्पादित नहीं किया जा सकता है। हमें इसके लिए कुछ विन्यास करने होंगे।

ट्रफल माइग्रेशन को कॉन्फ़िगर करना

अपने स्मार्ट कॉन्ट्रैक्ट को माइग्रेट करने के लिए, हमें एक फाइल जोड़ना होगा 'पलायन' में निर्देशिका 'ट्रफल' निर्देशिका। इस डायरेक्टरी में हम एक फाइल डालेंगे जिसका नाम है '2_deploy_contracts.js' इसमें निम्नलिखित सामग्री के साथ:

var HelloWorld = विरूपण साक्ष्य। ('./ HelloWorld.sol') मॉड्यूल.exports = function (परिनियोजक) {तैनातीकर्ता (HelloWorld)}

सुरषित और बहार।

हमारे नेटवर्क पर ट्रफल चलाने के लिए, हमें 'संपादन' करना होगा truffle.js में फाइल करें 'ट्रफल' निर्देशिका इस फ़ाइल को खोलें और निम्न प्रविष्टियाँ करें:

मॉड्यूल.एक्सपोर्ट्स = {आरपीसी: {होस्ट: 'लोकलहोस्ट', पोर्ट: 8543}, नेटवर्क: {डेवलपमेंट: {होस्ट: 'लोकलहोस्ट', पोर्ट: 8543, नेटवर्क_आईडी: '*',: '0xfa23121236b5ac8079cb6cf250e5284922ed9ba9a9, गैस'}}}

ध्यान दें: बदलो 'से' पिछले चरण में आपके द्वारा बनाए गए खाते के पते के साथ पता।

एथेरियम स्मार्ट अनुबंध निष्पादित करना

Ethereum स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल के इस अंतिम भाग में, हम देखेंगे कि हमारे Ethereum Private Network पर हमारे “Hello World” स्मार्ट कॉन्ट्रैक्ट को कैसे तैनात किया जाए।

संकलन और तैनाती स्मार्ट अनुबंध

इससे पहले कि हम अपने स्मार्ट कॉन्ट्रैक्ट को निष्पादित कर सकें, हमें पहले इसे हमारे एथेरियम प्राइवेट नेटवर्क पर संकलित कर देना होगा। हम निम्न आदेशों का उपयोग करके ऐसा करेंगे:

$ ट्रफल संकलन

अब, हमें अपना खाता अनलॉक करना होगा और खनन शुरू करना होगा। Geth कंसोल के साथ टर्मिनल पर वापस जाएं और निम्न कमांड चलाएँ:

> वैयक्तिक .unlockAccount (web3.eth.coinbase) > miner.start ()

और फिर, उस टर्मिनल पर वापस जाएं जिसके पास है 'ट्रफल' वर्तमान कार्य निर्देशिका के रूप में औरDaudनिम्नलिखित आदेश:

$ ट्रफल प्रवास

तैनाती पूरी होने का इंतजार करें।

निजी एथेरियम ब्लॉकचेन पर स्मार्ट अनुबंध को निष्पादित करना

'हैलो वर्ल्ड' स्मार्ट कॉन्ट्रैक्ट को निष्पादित करने के लिए, हमें ट्रफल कंसोल में प्रवेश करना होगा। ऐसा करने के लिए निम्नलिखित कमांड चलाएँ:

$ ट्रफल कंसोल

अब आप ट्रफल कंसोल में होंगे। स्मार्ट कॉन्ट्रैक्ट को निष्पादित करने के लिए, निम्न कमांड चलाएँ:

> var first_contract> HelloWorld.deployed ()। तब (फ़ंक्शन (उदाहरण) {first_contract = आवृत्ति})> dApp.message.call ()

बधाई हो! आपने अपना पहला Ethereum स्मार्ट कॉन्ट्रैक्ट बनाया है और इसे निष्पादित किया है। मुझे उम्मीद है कि यह Ethereum स्मार्ट कॉन्ट्रैक्ट ट्यूटोरियल जानकारीपूर्ण था और आपको एक Ethereum स्मार्ट कॉन्ट्रैक्ट को निष्पादित करने के तरीके के बारे में समझने में मदद मिली। अब, आगे बढ़ो और अन्य स्मार्ट कॉन्ट्रैक्ट्स लिखने और इसे निष्पादित करने का प्रयास करें।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इसे पोस्ट करें और हम तुम्हारे पास लौट आएंगे।

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