लेन-देन — ETH.BUILD
ETH.BUILD शैक्षिक टूल का उपयोग करके इथेरियम लेन-देन कैसे काम करते हैं, इसका एक प्रदर्शन। देखें कि इथेरियम नेटवर्क पर लेन-देन कैसे बनाए जाते हैं, उन पर हस्ताक्षर किए जाते हैं और उन्हें कैसे भेजा जाता है।
प्रकाशित होने की तिथि: 14 जनवरी 2021
ऑस्टिन ग्रिफिथ द्वारा एक ट्यूटोरियल जो यह प्रदर्शित करता है कि ETH.BUILD विज़ुअल प्रोग्रामिंग टूल का उपयोग करके इथेरियम लेन-देन कैसे काम करते हैं — जिसमें लेन-देन संरचना, गैस मूल्य, हस्ताक्षर करना, प्रसारण और लेन-देन पूल शामिल हैं।
यह ट्रांसक्रिप्ट ऑस्टिन ग्रिफिथ द्वारा प्रकाशित मूल वीडियो ट्रांसक्रिप्ट (opens in a new tab) की एक सुलभ प्रति है। इसे पढ़ने में आसानी के लिए थोड़ा संपादित किया गया है।
लेन-देन शुल्क और खनिक प्रोत्साहन (0:00)
आज ETH.BUILD पर हम लेन-देन के बारे में बात करने जा रहे हैं। अब तक, हमारे पास ये लेन-देन ब्लॉक में माइन किए जा रहे हैं, ब्लॉक में पैक किए जा रहे हैं, और एक चेन में माइन किए जा रहे हैं। हम इस बारे में बात करना चाहते हैं कि ब्लॉक इनाम के अलावा खनिक को क्या प्रोत्साहित करता है — कि वह हमारे लेन-देन को पूल से निकाले, इसे एक ब्लॉक में डाले और इसे चेन पर माइन करे, पूल में मौजूद अन्य लोगों की तुलना में। पूल में हजारों लोग हो सकते हैं जो सभी एक तरह से बोली लगा रहे हैं, और वह बोली इस शुल्क के साथ है।
मेरे लेन-देन में एक शुल्क हो सकता है जो कहता है "मैं एलिस हूँ और मैं बॉब को 5 भेज रही हूँ, और रीप्ले सुरक्षा के लिए मेरा नॉन्स 1 है।" इसके अलावा, जो कोई भी इसे माइन करता है वह अपने लिए शुल्क ले सकता है। मूल रूप से, एलिस बॉब को 5 भेज रही है लेकिन इसे चेन में डालने के लिए खनिक को एक निकल (nickel) भी दे रही है।
इथेरियम लेन-देन की संरचना (1:10)
इथेरियम पर लेन-देन कैसा दिखता है? अब हमारे पास "बॉब" और "एलिस" नहीं होंगे — हमारे पास पते (addresses) होंगे। मूल्य ETH में नहीं, बल्कि Wei में होगा। और शुल्क भी Wei में होगा।
आइए इसमें कूदें और इस लेन-देन को देखें। मेरे पास एक खाता है जिसमें एक निमोनिक (mnemonic) डाला गया है, और मैं इथेरियम मेननेट से जुड़ा हुआ हूँ। मैं CoinMarketCap से मूल्य डेटा प्राप्त करने के लिए एक मॉड्यूल भी चला रहा हूँ, ताकि मैं देख सकूं कि 0.1-कुछ ETH लगभग 23 डॉलर के बराबर होता है।
लेन-देन सेट करना (2:25)
मैं जो करने जा रहा हूँ वह एक लेन-देन बनाना है और खनिक को इसे उठाने और ऑनचेन डालने के लिए प्रोत्साहित करना है। मेरे पास दो पात्र हैं — एलिस और बॉब। एलिस अपनी निजी कुंजी के साथ बॉब को कुछ मूल्य भेजने वाली है। यहाँ कोई "from" (प्रेषक) पता फ़ील्ड नहीं है क्योंकि — याद रखें — हम अपने कुंजी युग्म (key pair) के साथ हस्ताक्षर कर रहे हैं और पुनर्प्राप्त कर रहे हैं। लेन-देन पैक किया जाता है, उस पर हस्ताक्षर किए जाते हैं, और फिर नेटवर्क पर भेजा जाता है। कोई भी इसके साथ छेड़छाड़ नहीं कर सकता है, और दूसरी तरफ कोई इसे पुनर्प्राप्त कर सकता है और यह पता लगा सकता है कि वास्तव में हमने ही इस पर हस्ताक्षर किए थे। "from" पता प्राप्त (derived) किया जाता है।
गैस मूल्य रणनीति (4:20)
गैस मूल्य डिफ़ॉल्ट रूप से लगभग 4.1 Gwei पर सेट है — जो कि 4.1 बिलियन Wei है। लेकिन हम इसके बारे में अधिक रणनीतिक होना चाहते हैं और देखना चाहते हैं कि अभी ऑनचेन क्या चल रहा है। हम देख सकते हैं कि पिछले ब्लॉक में 78 लेन-देन थे, और गैस मूल्य लगभग 5 से लेकर कुछ न्यूनतम तक था। मूल रूप से, उस ब्लॉक में माइन होने के लिए हमें 5 से ऊपर होना होगा। तो चलिए गैस मूल्य को 5.001 पर सेट करते हैं — बस थोड़ा सा अधिक।
Wei में परिवर्तित करना (5:20)
हमें Wei में रूपांतरण करने की आवश्यकता है। इथेरियम पर, आप मुख्य रूप से दो मूल्यवर्गों से निपटते हैं: ETH, जिसके बारे में लोग आमतौर पर बात करते हैं, और फिर Wei, जो ETH के एक बहुत छोटे अंश की तरह है। एक Gwei — जिसका उपयोग हम गैस मूल्य के लिए करते हैं — बीच में है। इसका कारण वैसा ही है जैसे हम पेनीज़ (pennies) के अंशों में बात करते हुए नहीं घूमते हैं।
एलिस के पास 0.18 ETH है, और हम बॉब को 0.05 ETH भेजने जा रहे हैं। हमने 5 Gwei का गैस मूल्य डाला है।
हस्ताक्षर करना और प्रसारण (7:02)
जब एलिस लेन-देन पर हस्ताक्षर करना चुनती है, तो यह एक हस्ताक्षरित लेन-देन के रूप में बाहर निकलता है जो नेटवर्क पर जा सकता है। कोई भी इसके साथ छेड़छाड़ नहीं कर सकता है — दूसरी तरफ, कोई यह प्राप्त कर सकता है कि यह एलिस थी जिसने इस पर हस्ताक्षर किए थे, और इसमें उस व्यक्ति के बारे में सारी जानकारी होती है जिसे हम भेजना चाहते हैं और वह गैस जो खनिक को जाती है।
हम उस हस्ताक्षरित लेन-देन को लेते हैं और इसे ब्लॉकचेन मॉड्यूल के सेंड (send) फ़ंक्शन में प्लग करते हैं। जब मैं सेंड पर क्लिक करता हूँ, तो यह हमें एक हैश देता है — लेनदेन हैश। मूल रूप से, मैंने इसे वितरित नेटवर्क पर भेजा और उन्होंने मुझे वापस एक लेनदेन हैश दिया। यह नेटवर्क पर जाता है, और फिर लेन-देन का यह पूल (लेन-देन पूल) होता है — सभी लोग अपने लेन-देन को पूरा करने के लिए बोली लगा रहे होते हैं।
ब्लॉक की जाँच करना (8:41)
हम अपने लेन-देन के लिए ब्लॉकचेन से पूछताछ (query) कर सकते हैं। निश्चित रूप से, यह पहले ही माइन हो चुका है। हम ब्लॉक को देख सकते हैं, गैस मूल्य के आधार पर छाँट सकते हैं, और खुद को ढूंढ सकते हैं। 5.001 के गैस मूल्य पर हमारा लेन-देन है — एलिस बॉब को भेज रही है, बिना किसी अतिरिक्त डेटा के। हम वहां हैं, नीचे से लगभग चार या पांचवें स्थान पर।
लेन-देन के साथ डेटा भेजना (9:54)
हम मूल्य भेजने और अपने लेन-देन को ऑनचेन मान्यता प्राप्त करने के लिए बोली लगाने में सक्षम हैं। लेकिन आइए एक और चीज़ देखें — डेटा फ़ील्ड। हम अपने लेन-देन के साथ चीज़ें भेज सकते हैं। यह हेक्साडेसिमल (hexadecimal) में होने वाला है। एलिस बॉब को और 6 डॉलर भेजने वाली है, और हम एक संदेश संलग्न करेंगे: "hey Bob।" हम देख सकते हैं कि "hey Bob" हेक्स (hex) में परिवर्तित हो गया है।
हम उस लेन-देन पर हस्ताक्षर करते हैं, इसे एक खनिक को भेजते हैं, यह नेटवर्क पर जाता है, और हमें वापस एक हैश मिलता है। हम इसके माइन होने का इंतज़ार करते हैं, और यह हो जाता है। जब हम उस ब्लॉक की जाँच करते हैं, तो हम अपने लेन-देन को संलग्न डेटा के साथ देख सकते हैं।
लेन-देन पूल और गैस बढ़ाना (12:43)
एक अंतिम प्रदर्शन के लिए, मैंने बहुत कम गैस मूल्य — लगभग 1.001 Gwei — के साथ पूल में एक लेन-देन डाला। यह वहां बिना माइन हुए पड़ा है क्योंकि हम खनिकों को पर्याप्त रूप से प्रोत्साहित नहीं कर रहे हैं। हम देख सकते हैं कि लेन-देन लेन-देन पूल में लंबित है। पूल में 100 से 300 के बीच लेन-देन हैं, लेकिन माइन किए जा रहे नवीनतम ब्लॉक दिखाते हैं कि सबसे छोटा गैस मूल्य लगभग 5 है।
इसलिए हमें इस लेन-देन को फिर से सबमिट करने की आवश्यकता है — चलिए इसे बढ़ाकर 10 कर देते हैं। यह आवश्यकता से कहीं अधिक है, लेकिन हम उसी लेन-देन को उसी नॉन्स के साथ लेकिन उच्च गैस मूल्य के साथ फिर से सबमिट करेंगे। नेटवर्क कहता है "वही व्यक्ति, वही लेन-देन, अधिक भुगतान करने को तैयार है।" इसे उठा लिया जाता है और अगले ब्लॉक में माइन कर दिया जाता है।
सारांश (14:52)
हमने एक लेन-देन भेजा, हमने खनिक को इसे ब्लॉक की चेन में डालने के लिए प्रोत्साहित करने के लिए कुछ गैस का भुगतान किया। हमने लेन-देन के साथ डेटा भी भेजा — अब जब हमारे पास यह कॉल डेटा आ रहा है तो हम हर तरह की बहुत अच्छी चीज़ें कर सकते हैं, और हम बाद में स्मार्ट कॉन्ट्रैक्ट्स (smart contracts) और बहुत सी मज़ेदार चीज़ों के बारे में जानेंगे।