हाइपरलेगर फैब्रिक ट्यूटोरियल: स्टार्टिंग गाइड

आपका स्वागत है हाइपरलेगर फैब्रिक ट्यूटोरियल. 

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

किसी भी उद्यम-ग्रेड ढांचे को काम करने के लिए विशेषज्ञता की आवश्यकता होती है। यदि आप एक नौसिखिए हैं, तो आप छोटी चीज़ों को ठीक करने के लिए खुद को बहुत संघर्ष करते हुए पाएंगे। यही कारण है कि जल्दी शुरू करना और अपने तरीके से अभ्यास करना महत्वपूर्ण है.

लेकिन क्यों हाइपरलेगर फैब्रिक और कोई भी नहीं अन्य उद्यम ब्लॉकचेन फ्रेमवर्क?

इसका कारण यह है कि हाइपरलेडेर फैब्रिक एक शीर्ष पायदान उद्यम ब्लॉकचेन फ्रेमवर्क है जो महान अनुमत वितरित वितरित प्रौद्योगिकी (डीएलटी) प्रदान करता है। इसकी कुछ महान विशेषताएं हैं जो इसे एक उद्यम के लिए एक आदर्श विकल्प बनाती हैं. 


आप इसके सदस्यों की जाँच करके इसकी लोकप्रियता का पता लगा सकते हैं, जिसमें CISCO, IBM, Intel, SAP, Accenture, और अन्य शामिल हैं.

हाइपरलेगर फैब्रिक क्या है?

हाइपरलेगर फैब्रिक एक ओपन-सोर्स एंटरप्राइज-ग्रेड फ्रेमवर्क है। यह बहुत जरूरी अनुप्रयोगों और समाधानों को प्रदान करने के लिए वितरित वितरित प्रौद्योगिकी पर निर्भर करता है। लिनक्स फाउंडेशन विभिन्न प्रकार की परियोजनाओं पर काम कर रहा है, और हाइपरलेडर फैब्रिक उनमें से एक है.

जैसा कि यह ओपन-सोर्स है, कोई भी परियोजना में शामिल हो सकता है और इसमें योगदान दे सकता है। अभी, हाइपरलेंगर फैब्रिक बनाने के लिए 35 संगठन मिलकर काम कर रहे हैं.

कोर में, हाइपरलेडेर फैब्रिक विन्यास योग्य और मॉड्यूलर है। इसका मतलब यह है कि उद्यम रूपरेखा का उपयोग करके मूल रूप से काम कर सकते हैं। इन सभी वांछनीय विशेषताओं से हाइपरलेगर फैब्रिक एक शानदार विकल्प बन जाता है! लेखन के समय, आप हाइपरल्डेकर फैब्रिक v1.4 की कोशिश कर सकते हैं, जो नई सुविधाओं और कार्यात्मकताओं के साथ आता है.

हाइपरलेगर फैब्रिक फ़ंक्शंस

हाइपरलेगर फैब्रिक पांच मुख्य विशेषताओं के साथ आता है। वे इस प्रकार हैं

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

Hyperledger फैब्रिक की अन्य प्रमुख विशेषताओं में गुणवत्ता कोड, ओपन-सोर्स, महान स्केलेबिलिटी और दक्षता और उद्योग-व्यापी उपयोग शामिल हैं. 

हाइपरलेगर फैब्रिक ट्यूटोरियल

एप्लिकेशन विकसित करना शुरू करने से पहले, हाइपरलेडर फैब्रिक के सिस्टम आर्किटेक्चर को समझना बेहतर है। ऐसा करके, हम समझ सकते हैं कि यह आंतरिक रूप से कैसे संचालित होता है। यह ज्ञान तब आपके पहले हाइपरलेगर फैब्रिक एप्लिकेशन को विकसित करने के लिए इस्तेमाल किया जा सकता है. 

सिस्टम आर्किटेक्चर

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

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

लेनदेन

हाइपरलेगर फैब्रिक पर लेनदेन दो प्रकार के हो सकते हैं:

  • डिपॉजिट लेनदेन: इस प्रकार के लेनदेन एक कार्यक्रम के रूप में पैरामीटर के साथ नए चैंकोड बनाने के लिए जिम्मेदार हैं। एक बार हो जाने के बाद, ब्लॉकचेन पर चैंकोड को “इंस्टॉल” किया जाता है.
  • इनवॉइस ट्रांजैक्शंस: इनवोक ट्रांजैक्शंस वे ट्रांजैक्शंस हैं जिन्हें पिछले चैंजोड तैनाती के संदर्भ में निष्पादित किया जाता है.

ब्लॉकचेन डेटा संरचनाएं

ब्लॉकचेन में उपयोग की जाने वाली बुनियादी डेटा संरचना की-वैल्यू स्टोर (KVS) है। चाबियाँ ज्यादातर नाम हैं, और मूल्य बूँदें हैं। चेनकोड दो केवीएस-ऑपरेशन की मदद से डेटा संरचना में हेरफेर कर सकते हैं.

  • लगाया हुआ
  • प्राप्त

संपूर्ण डेटा संरचना को एक स्थिति के रूप में देखा जाता है.

खाता बही

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

नोड्स

नोड्स नेटवर्क के भीतर किसी भी संचार इकाई हो सकते हैं.

ग्राहक

क्लाइंट वह है जो एंड-यूजर्स की ओर से कार्य कर सकता है.

पीयर

पीयर लेज़र की स्थिति को संभालता है और यह सुनिश्चित करता है कि नेटवर्क बेहतर तरीके से काम करता है। सहकर्मी सहकर्मी हो सकते हैं, जो लेनदेन का समर्थन करने में मदद करता है.

आपका पहला Hyperledger फैब्रिक ऐप लिखना 

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

हमारे विकास को आसान बनाने के लिए, हम कुंजी के लिए आसान संदर्भ के लिए आवेदन एसडीके का उपयोग करेंगे 

स्मार्ट कॉन्ट्रैक्ट और अन्य प्रश्नों को शामिल करने वाले कार्य.

हाइपरलेगर फैब्रिक ऐप को विकसित करते समय आपको जिन तीन प्रमुख चरणों का पालन करना होगा, उनमें निम्नलिखित शामिल हैं:

  1. विकास का माहौल तैयार करें। विकास का वातावरण आपके एप्लिकेशन को काम करने के लिए आवश्यक नेटवर्क देता है। यह आपको अपने स्मार्ट कॉन्ट्रैक्ट को काम करने की क्षमता देगा.
  2. नमूना स्मार्ट अनुबंधों के बारे में सीखना। यहां, आपको स्मार्ट अनुबंध से गुजरना होगा और इसके लेनदेन को समझना होगा। हम एप्लिकेशन द्वारा सिम्युलेटेड के रूप में प्रश्नों को चलाएंगे और साथ ही इसका उपयोग करके लेज़र को अपडेट करेंगे.
  3. एक नमूना अनुप्रयोग विकसित करना: अंतिम चरण में, आप स्मार्ट अनुबंध का उपयोग करके एक नमूना अनुप्रयोग बनाएंगे.

बिल्डिंग फर्स्ट नेटवर्क

इससे पहले कि हम आवेदन शुरू करें, अपना पहला नेटवर्क बनाएँ। आरंभ करने के लिए, हमें कुछ आवश्यक शर्तें स्थापित करने की आवश्यकता है। ये पूर्वापेक्षाएँ सुनिश्चित करेंगी कि सब कुछ यथाशीघ्र चलता रहे.

उनकी पूर्व-स्थापना संस्थापन मार्गदर्शिका देखें यहां.

इसके अलावा हाइपरलेगर कंपोजर की जांच करें: अपने एंटरप्राइज ब्लॉकचेन का निर्माण करें

आप बायनेरिज़, नमूने और डॉकटर चित्र स्थापित करना चाह सकते हैं। स्थापना मार्गदर्शिका देखें यहां.

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

उस निर्देशिका में जाने के लिए, नीचे दिए गए cd कमांड वाले फ़ोल्डर में जाएँ.

सीडी कपड़े-नमूने / पहले-नेटवर्क

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

नेटवर्क कलाकृतियों का निर्माण

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

.byfn.sh उत्पन्न

प्रक्रिया शुरू होने से पहले आपसे पुष्टि के लिए कहा जाएगा। आदेश सेवा, कॉन्फ़िगरेशन, और इसी तरह पॉवर सहित आवश्यक जानकारी के साथ नेटवर्क को शुरू करने के लिए Y दबाएं.

नेटवर्क को पॉवर देना

अगला, हमें नेटवर्क को पावर करने की आवश्यकता है। नेटवर्क को पावर करना सरल कमांड के साथ किया जा सकता है.

./

एक बार जब आप कमांड चलाते हैं, तो आप फ्रेमवर्क को गोलंग चिनकोड चित्रों को संकलित करेंगे। इसके अलावा, संबंधित कंटेनर नेटवर्क में शामिल होने के लिए नए साथियों को प्रदान करने के लिए आग लगा देंगे. 

डिफ़ॉल्ट रूप से, आपको Go in क्रिया दिखाई देगी। ऐसा इसलिए है क्योंकि गो एक शैनकोड डिफ़ॉल्ट भाषा है। लेकिन, इसका मतलब यह नहीं है कि आप अन्य प्रोग्रामिंग भाषाओं का उपयोग नहीं कर सकते। Chaincode Node.js और Java को भी सपोर्ट करता है। नोड में बदलने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं. 

.byfn.sh अप -l नोड

इसी तरह, आप कर सकते हैं जावा में परिवर्तन अगर आप की जरूरत है.

.byfn.sh अप-एल जावा

यदि आप कई चैंकोड भाषाओं का उपयोग करना चाहते हैं, तो आपको रफ या काफ्का सहित ऑर्डरिंग सेवा का उपयोग करने की आवश्यकता है.

./byfn.sh अप -o वल्ड क्राफ्ट

./

हर बार जब आप कमांड का उपयोग करते हैं, तो आप कमांड निष्पादित होने से पहले एक बार फिर से पुष्टि करने के लिए कहेंगे.

अपने पहले नेटवर्क को बनाने और बनाए रखने के तरीके को और समझने के लिए, नेटवर्क बिल्डिंग ट्यूटोरियल की जाँच करें यहां.

नेटवर्क को लॉन्च करना

अब, जब आपने नमूने स्थापित किए हैं और पूर्वापेक्षा पृष्ठ के माध्यम से चले गए हैं, तो अब हमारे लिए नेटवर्क लॉन्च करने का समय है.

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

नेटवर्क शुरू करने के लिए, आपको startFabric.sh शेल स्क्रिप्ट का उपयोग करने की आवश्यकता है। एक बार लॉन्च होने के बाद, आपको एक ब्लॉकचेन नेटवर्क मिलेगा, जिसमें सर्टिफिकेट अथॉरिटीज, ऑर्डरर्स, पीयर्स आदि होंगे। जैसे-जैसे फैबर्स सबडायरेक्ट्री का उपयोग किया जा रहा है, FabCar स्मार्ट कॉन्ट्रैक्ट अपने आप इंस्टॉल और शुरू हो जाएगा. 

नेटवर्क शुरू करने का आदेश नीचे दिया गया है:

./startFabric.sh जावास्क्रिप्ट

एप्लिकेशन इंस्टॉल करना

अब, यह एप्लिकेशन इंस्टॉल करने का समय है। लेकिन, इससे पहले कि हम ऐसा करें, हमें निर्भरता स्थापित करने की आवश्यकता है. 

npm स्थापित करें

उपरोक्त कमांड उन महत्वपूर्ण निर्भरताओं को स्थापित करना शुरू कर देगा जो परिभाषित हैं package.json

पैकेज में, शुरू की जाने वाली महत्वपूर्ण कक्षाएं शामिल होंगी

  • फैब्रिक-नेटवर्क क्लास → लेन-देन, पहचान, बटुए को सक्षम बनाता है
  • फैब्रिक-सीए-क्लाइंट → उपयोगकर्ताओं को उनके संबंधित प्रमाणपत्र अधिकारियों को पंजीकृत करें

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

  • encrollAdmin.js
  • नोड_मॉड्यूल
  • package.json
  • registerUser.js
  • invoke.js
  • package-lock.json
  • qu.js
  • बटुआ

प्रमाणपत्र प्राधिकरण के साथ संवाद

अब, जब हमारे पास एक रनिंग नेटवर्क है, तो आइए जानें कि कैसे एक सर्टिफिकेट अथॉरिटी के साथ बातचीत की जाए. 

प्रमाणपत्र हस्ताक्षर अनुरोध (CSR)

हमारा पहला काम सीएसआर की एक प्रक्रिया से गुजरना है। इस प्रक्रिया में, व्यवस्थापक सार्वजनिक, निजी और X.509 प्रमाणपत्र बनाने के लिए प्रमाणपत्र प्राधिकारी से संपर्क करता है। कार्यक्रम करने के लिए इस्तेमाल किया जाता है

व्यवस्थापक को नामांकित करने के लिए, निम्नलिखित कमांड का उपयोग करें.

नोड

सभी जानकारी अब इसमें संग्रहीत है बटुआ निर्देशिका.

यदि आप किसी अन्य उपयोगकर्ता को पंजीकृत करना चाहते हैं तो उसी प्रक्रिया का पालन किया जाना चाहिए। आइए दूसरे उपयोगकर्ता को पंजीकृत करने का प्रयास करें – उपयोगकर्ता

नोड reisterUser.js 

यह नए उपयोगकर्ता को पंजीकृत करेगा और व्यवस्थापक के साथ बटुए में अपनी साख संग्रहीत करेगा.

क्वेरी लेजर

चूँकि ब्लॉकचेन नेटवर्क में लेज़र की एक प्रति होती है, आप जानकारी खोजने के लिए इसे क्वेरी कर सकते हैं। लेजर केवल-पढ़ने के लिए हैं और इसीलिए केवल पढ़ने वाले प्रश्नों को निष्पादित किया जा सकता है। बेहतर समझ पाने के लिए, नीचे दी गई छवि को देखें.

स्रोत: हाइपरलेगर फैब्रिक डॉक्स

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

लेज़र पर सभी कारों की सूची प्राप्त करने के लिए, निम्न कमांड चलाएँ,

नोड क्वेरी। js

यह समझने के लिए कि क्वेरी कैसे काम करती है, आप इसे खोलना चाहते हैं qu.js फ़ाइल और इसके माध्यम से जाना। इसे नीचे से जाने दें.

const {FileSystemWallet, Gateway} = आवश्यकता (S फैब्रिक-नेटवर्क ’);

उपरोक्त पंक्ति में, एक नेटवर्क कनेक्शन बनाया गया है

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

const gateway = नया गेटवे ();

गेटवे का इंतजार करें। कनेक्ट करें (ccp, {वॉलेट, पहचान: ’user1’});

सीसीपी उपयोगकर्ता की पहचान और संबंधित बटुआ जानकारी की पहचान करने के लिए उपयोग किया जाता है. 

जैसा कि हाइपरलिडर फैब्रिक नेटवर्क कई चैनल चलाता है, एप्लिकेशन के लिए विशेष चैनल से कनेक्ट करना महत्वपूर्ण है.

const कॉन्ट्रैक्ट = network.getContract (= फेबकार ’);

स्मार्ट कॉन्ट्रैक्ट को समझना

स्मार्ट अनुबंध की बेहतर समझ पाने के लिए, आइए इसके माध्यम से जाने दें। इसके जरिए किए गए लेन-देन को भी प्रदर्शित करेगा.

इसे एक्सेस करने के लिए, आपको उपनिर्देशिका पर जाने की आवश्यकता है chaincode / fabcar / javascript / lib. एक बार, वहाँ एक संपादक में fabcar.js खोलें.

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

लेनदेन नीचे की तरह दिखाई देगा:

async क्वेरीकार (ctx, carNumber) {…}

आइए क्वेरीकर लेनदेन पर नज़र डालें.

async क्वेरीअल्कर (ctx) {

  const startKey = K CAR0 ‘;

  const endKey = 999 CAR999 ’;

  const iterator = प्रतीक्षित ctx.stub.getStateByRange (startKey, endKey);

स्रोत: हाइपरलेगर फैब्रिक डॉक्स

अद्यतन करने वाला लेजर: नई कार खरीदना

अंतिम चरण नई जानकारी के साथ लेज़र को अद्यतन करना है। इस स्थिति में, invoke.js का उपयोग करके एक नई कार बनाएं। आपको फ़ाइल खोलने और इसके लिए निम्न कमांड जोड़ने की आवश्यकता है.

प्रतीक्षारत अनुबंध। submitTransaction (ar createCar ’,’ CAR12 ’, B CarBrand’, and Model ’,’ Color ’, ub Owner’);

उपरोक्त कोड में, ऐप createCar स्मार्ट अनुबंध लेनदेन कहता है। यह, कारब्रांड, रंग, मॉडल और मालिक सहित, अपनी विशेषताओं के साथ कार का निर्माण करेगा.

अब, निम्न कोड को बर्नर पर धकेलने के लिए चलाएं

नोड invoke.js

इससे परिणामी अद्यतन होगा, और आपको एक सफल आउटपुट मिलेगा.

निष्कर्ष

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

तो, क्या आप एंटरप्राइज़ ब्लॉकचेन के निर्माण के लिए हाइपरलेगर फैब्रिक का उपयोग करने जा रहे हैं? नीचे टिप्पणी करें और हमें बताएं.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me