DAML ट्यूटोरियल: DAML के साथ शुरुआत करना

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

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

DAML ट्यूटोरियल: DAML के साथ शुरुआत करना

तो, DAML क्या है? आइए ढूंढते हैं.

एक ब्लॉकचेन रिफ्रेशर की आवश्यकता है? आरंभ करने के लिए शुरुआती गाइड के लिए ब्लॉकचेन देखें! इसके अलावा, DAML के लिए हमारी अंतिम गाइड देखें.

DAML क्या है?

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

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

क्या DAML इतना खास बनाता है?

DAML वितरित भाषाओं के निर्माण के लिए एक प्रोग्रामिंग भाषा है। अधिक से अधिक कंपनियों द्वारा वितरित अनुप्रयोगों के महत्व को समझने के साथ, डीएएमएल उन कंपनियों और उनके डेवलपर्स को अपने लक्ष्यों को प्राप्त करने के लिए एक उपकरण प्रदान करता है। यह वास्तव में, उन अद्भुत उपकरणों में से एक है जो आपको अपने वितरित एप्लिकेशन को अपने नियंत्रण में लेने देता है.

डीएएमएल कठिन डिजाइन समस्याओं से निपटता है क्योंकि यह वितरित राज्य सिंक्रनाइज़ेशन और क्रिप्टोग्राफी जैसी जटिल समस्याओं का समाधान प्रदान करता है। लक्ष्य हासिल करने के लिए इसे नया रूप दिया जाता है. 

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

DAML सुविधाएँ


हमारे DAML ट्यूटोरियल के इस भाग में, हम DAML प्रमुख विशेषताओं के बारे में जानेंगे.

डेटा मॉडल: डीएएमएल डेवलपर्स को आसानी से अपने आवेदन के लिए जटिल डेटा योजनाएं बनाने देता है। इससे जटिल आवश्यकताओं या व्यावसायिक प्रक्रियाओं को डिजाइन और कार्यान्वित करना आसान हो जाता है.

ठीक-ठीक अनुमतियाँ: DAML अनुबंध अनुमतियाँ सेट करने के लिए ठीक-ठीक हैं। इसका मतलब यह है कि डेवलपर्स सेट कर सकते हैं कि कौन अनुबंध पर हस्ताक्षर कर सकता है, कौन इसे देख सकता है, और किन शर्तों पर.

व्यापार का तर्क: व्यावसायिक तर्क को भी आसानी से एकीकृत किया जा सकता है। एक डेवलपर उन कार्यों को लिख सकता है जो अनुबंध पर आवश्यक हैं, इसके दावे, पैरामीटर और बहुत कुछ!

परिदृश्य आधारित परीक्षण: DAML के साथ परिदृश्य आधारित परीक्षण भी संभव है। यह डेवलपर को व्यावसायिक तर्क और आपके विकेंद्रीकृत ऐप्स के अन्य पहलुओं, जैसे वर्कफ़्लो का परीक्षण करने देता है.

रनटाइम सुविधाएँ

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

उनके बारे में नीचे बात करते हैं.

भंडारण अमूर्त → स्टोरेज एब्स्ट्रैक्शन एक दृढ़ता परत प्रदान करता है जो यह सुनिश्चित करता है कि सभी DAML प्रोग्राम स्टोरेज-एग्नॉस्टिक हैं। सरल शब्दों में, DAML कार्यक्रम चुने हुए संग्रहण पर निर्भर नहीं करते हैं क्योंकि यह उक्त डेटा को एक पाचन प्रारूप में बदल सकता है.

प्राधिकरण जाँच → प्राधिकरण एक अनुबंध के भीतर सभी कार्यों की जाँच करता है। यदि कार्रवाई उचित प्राधिकरण पारित नहीं करती है, तो उसे निष्पादित करने की अनुमति नहीं दी जाएगी.

अनुबंध तब एक रनटाइम त्रुटि फेंक देगा और खरीदार या डेवलपर को सूचित करेगा.

जवाबदेही ट्रैकिंग → रनटाइम जवाबदेही ट्रैकिंग के लिए भी जिम्मेदार है। यह सुनिश्चित करता है कि पार्टियां स्वेच्छा से समझौते में प्रवेश करें। ऐसा करने के लिए, हस्ताक्षरकर्ताओं के हस्ताक्षर आवश्यक थे। यह आयोजक या विक्रेता से किसी भी जबरदस्ती व्यवहार से खरीदार की रक्षा के लिए किया जाता है. 

परमाणु संगतता → डीएएमएल परमाणु डिजाइन का समर्थन करता है। इसका मतलब है कि सभी क्रियाएं परमाणु रूप से की जाती हैं और इसलिए या तो प्रतिबद्ध हो सकती हैं या बिल्कुल भी नहीं। ठेके पर अमल करने की बात नहीं है। यह वर्कफ़्लो की सुरक्षा सुनिश्चित करने और शोषकों को दूर रखने के लिए किया जाता है.

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

जरूरत है पता करने की गोपनीयता → डीएएमएल एक उप-लेनदेन स्तर प्रदान करता है, जो अनुमोदित होने पर जानकारी उपलब्ध कराता है.

नियतात्मक निष्पादन → अंत में, रनटाइम नियतात्मक निष्पादन का समर्थन करता है। इसका अर्थ है कि किसी भी कार्रवाई का प्रभाव खाताधारक की वर्तमान स्थिति पर निर्भर करता है.

DAML के साथ शुरुआत करना

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

DAML का उपयोग करने के लिए, आपको दो-चरणीय प्रक्रिया का पालन करना होगा.

1) स्थापित निर्भरताएँ

DAML का उपयोग करने के लिए, आपको सबसे पहले निर्भरता स्थापित करने की आवश्यकता है। ऐसा करने के लिए, आपको एसडीके डाउनलोड करने और इसे अपने ऑपरेटिंग सिस्टम पर स्थापित करने की आवश्यकता है.

इसके अलावा, यह सबसे अच्छा होगा यदि आपके पास निम्नलिखित भी हों

  • विजुअल स्टूडियो कोड या किसी भी संगत एकीकृत विकास वातावरण
  • JDK 8 या अधिक.

2) एसडीके स्थापना

यदि आप Windows का उपयोग कर रहे हैं, तो आप जा सकते हैं लिंक, और निष्पादन योग्य फ़ाइल डाउनलोड करें.

लिनक्स या मैक के लिए, आपको कर्ल का उपयोग करके निम्नलिखित कमांड को चलाने की आवश्यकता है.

कर्ल-एसएसएल .get.daml.com/ | श्री

यह आपको अपने पैट वैरिएबल में ~ / .daml / bin जोड़ने के लिए कहेगा। एक बार हो जाने के बाद, आप DAML का उपयोग करने के लिए तैयार हैं.

DAML ट्यूटोरियल शुरुआती गाइड

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

लेकिन, इससे पहले कि हम (डिजिटल एसेट) डीए लेजर मॉडल को समझने की जरूरत है। यह हमारे DAML ट्यूटोरियल का एक महत्वपूर्ण हिस्सा है.

डीए लेजर मॉडल

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

स्रोत: DAML प्रलेखन

मॉडल को परिभाषित करने के लिए उपयोग किया जाता है, DA ledgers संरचना (क्या), अखंडता मॉडल (जो अनुरोध कर सकते हैं), और गोपनीयता मॉडल (जो देख सकते हैं).

डीए लेजर मॉडल की अधिक गहराई से समझ पाने के लिए, आधिकारिक दस्तावेज देखें यहां.

मूल अनुबंध

डीएएमएल के मूल में, आपको एक डीएएमएल लेज़र मिलेगा। हम एक छोटे से टेम्प्लेट से गुजरने जा रहे हैं क्योंकि यह हमें आवश्यक अवधारणाओं को समझने में मदद करेगा, जिसमें लेनदेन, टेम्पलेट अनुबंध, हस्ताक्षरकर्ता, डीएएमएल मॉड्यूल और फाइलें शामिल हैं।.

करता है

DAML लेजर में “कमिट” सूची शामिल है। सरल शब्दों में, एक वचन बही के लिए एक प्रस्तुत लेनदेन है। अनुबंध के रूप में, आप इसे एक सक्रिय लेनदेन के रूप में सोच सकते हैं जिसे निष्पादित करने की आवश्यकता है, और इसका निष्पादन अनुबंध की विशेषताओं और शर्तों पर निर्भर करता है.

डीएएमएल मॉड्यूल और फाइलें

शुरू करने से पहले, आपको DAML संस्करण का उल्लेख करना होगा। यह DAML फ़ाइल के शीर्ष पर किया जा सकता है। संस्करण संकलक को सूचित करेगा कि भाषा के किस संस्करण का उपयोग किया जा रहा है.

धिक्कार है 1.2

मॉड्यूल आयात करने के लिए, आपको “मॉड्यूल” कीवर्ड का उपयोग करना होगा.

मॉड्यूल टोकन जहां

टिप्पणियाँ

यदि आप टिप्पणी जोड़ना चाहते हैं, तो आप इसे “-” कीवर्ड का उपयोग करके कर सकते हैं.

– यह एक टिप्पणी है

टेम्पलेट्स

अनुबंध प्रकार को परिभाषित करने के लिए एक टेम्पलेट का उपयोग किया जाता है। यह उन संस्थाओं को परिभाषित करता है जिनके पास अनुबंध को निष्पादित करने की पहुंच है। आप अनुबंधों को टेम्पलेट उदाहरण के रूप में सोच सकते हैं.

टेम्पलेट टोकन

    साथ से

        मालिक: पार्टी

    कहां है 

        हस्ताक्षरकर्ता स्वामी

जैसा कि आप देख सकते हैं, हमने “टेम्पलेट” कीवर्ड का उपयोग करके एक टोकन टेम्प्लेट को परिभाषित किया है। यह एक तर्क भी लेता है। एक और बात जो आप नोटिस कर सकते हैं, वह है व्हाट्सएप-ओरिएंटेड। यदि आपने पहले पायथन का उपयोग किया है, तो आप समझेंगे कि कोड कैसे संरचित और इच्छित है.

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

टेम्पलेट का उपयोग करके परिदृश्यों को समझना

अब जब हमने किसी टेम्पलेट की मूल संरचना को समझ लिया है, तो अब हम अपने DAML ट्यूटोरियल में दो अन्य टेम्प्लेट का उपयोग करके परिदृश्यों को समझने जा रहे हैं। लेकिन, इससे पहले कि हम समझें कि वास्तव में क्या है “परिदृश्य.

परिदृश्य

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

token_test_one = परिदृश्य करते हैं

    सैम <- getParty “sam”

    सैम करते हैं

        मालिक = सैम के साथ टोकन बनाएँ

उपरोक्त मूल परिदृश्य है जो “sam” नामक पार्टी के लिए टोकन से संबंधित है।

परिदृश्य को चलाने के लिए, आपको DAML स्टूडियो का उपयोग करने की आवश्यकता है. 

परिदृश्य के बारे में अधिक जानने के लिए, हमारा सुझाव है कि आप इसकी जाँच करें परिदृश्य प्रलेखन पृष्ठ यहाँ.

डेटा प्रकार

किसी भी प्रोग्रामिंग भाषा की तरह, DAML भी डेटा प्रकारों का समर्थन करता है। डेटा प्रकार आपको एक चर को परिभाषित करने और वहां डेटा संग्रहीत करने की सुविधा देते हैं.

आपके लिए इसे सरल बनाने के लिए, आइए डेटाबेस टेबल्स के रूप में सोचें। अब, आप टेम्पलेट में डेटा सहेज सकते हैं और टेम्पलेट डिज़ाइन के माध्यम से आसानी से उन्हें प्रबंधित करने में मदद कर सकते हैं.

कई मूल डेटा प्रकार हैं जो DAML में आते हैं। इसमें निम्नलिखित शामिल हैं.

  • पार्टी → इकाई पहचान स्टोर करने के लिए। पार्टियां लेनदेन प्रस्तुत कर सकती हैं और अनुबंध पर हस्ताक्षर कर सकती हैं.
  • पाठ → स्टोर यूनिकोड चरित्र
  • Int → 64-बिट पूर्णांक संग्रहीत करता है
  • निर्णय → नियत-बिंदु संख्याओं को संग्रहीत करता है
  • तारीख → एक तारीख संग्रहीत करता है
  • यूटीसी में समय → स्टोर
  • RelTime → स्टोर समय अंतर
  • अनुबंध प्रकार → अनुबंध प्रकार का संदर्भ

नीचे कुछ मूल प्रकारों को समझने के लिए कोड दिया गया है.

native_test = परिदृश्य करते हैं

  सैम <- getParty “सैम”

  मिस्टेरियो <- getParty “मिस्टीरियो”

  लश्कर

    my_int = -657

    my_dec = 0.001: दशमलव

    my_text = “सैम”

    my_bool = गलत

 

  मुखर (सैम / = मिस्टेरियो)

  मुखर (-my_int == 123)

  मुखर (1000.0 * my_dec == 1.0)

  मुखर (my_text == “सैम”)

DAML अन्य डेटा प्रकारों का भी समर्थन करता है, जिसमें ट्यूपल्स, लिस्ट्स और रिकॉर्ड्स शामिल हैं. 

DAML में डेटा प्रकारों के बारे में जानने के लिए, उनके प्रलेखन पृष्ठ की जाँच करें यहां.

पसंद का उपयोग करके डेटा ट्रांसफ़ॉर्म करना

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

आइए DAML प्रलेखन में लिए गए एक उदाहरण को देखें.

टेम्पलेट संपर्क करें

  साथ से

    मालिक: पार्टी

    पार्टी पार्टी

    पता: पाठ

    टेलीफोन: पाठ

  कहां है

    हस्ताक्षरकर्ता स्वामी

 

    नियंत्रक मालिक कर सकते हैं

      अपडेटटेल फोन

        : कांट्रैक्टआईडी संपर्क

        साथ से

          newTelephone: पाठ

        करना

          इसके साथ बनाएँ

            टेलीफोन = newTelephone

अधिकांश कोड ऊपर स्व-व्याख्यात्मक है। यहाँ केवल एक चीज जो आपको जानना है, वह यह है कि हमने “UpdateTelephone” नामक एक विकल्प को परिभाषित किया है।

विकल्प का उपयोग प्रतिनिधिमंडल के रूप में भी किया जा सकता है। अन्त में, उन्हें लेजर मॉडल में भी एकीकृत किया जा सकता है. 

DAML विकल्पों के बारे में अधिक जानने के लिए, आप आधिकारिक दस्तावेज पृष्ठ देख सकते हैं यहां.

एक अनुबंध के लिए बाधाओं को जोड़ना

आप “सुनिश्चित” कीवर्ड का उपयोग करके DAML अनुबंध में बाधाएं भी जोड़ सकते हैं। आप अन्य तंत्र का उपयोग भी कर सकते हैं जो अनुबंध में बाधाओं को जोड़ने के लिए assert, abort और error कीवर्ड का उपयोग करता है.

लेकिन, इससे पहले कि आप ऐसा करें, आपको अपने अनुबंध में उचित टेम्पलेट पूर्व शर्त निर्धारित करने की आवश्यकता है. 

बाधाओं और प्रतिबंधों के बारे में अधिक जानने के लिए, आप दस्तावेज़ की जांच कर सकते हैं यहां.

पक्ष और प्राधिकरण

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

उदाहरण के लिए, आप प्रस्ताव को स्वीकार वर्कफ़्लो का उपयोग करके IOU निरस्तीकरण को बेहतर या एकतरफा प्राधिकरण को रोक सकते हैं। वहाँ बहुत सारे विकल्प हैं जो डीएएमएल के भीतर किए गए हैं, जो लगभग हर परिदृश्य के लिए समाधान प्रदान करते हैं.

पार्टियों और अधिकारियों के बारे में और पढ़ें यहां.

निष्कर्ष

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

तो, आप डीएएमएल से क्या समझते हैं? क्या आपको लगता है कि विकेंद्रीकृत अनुप्रयोगों को बनाने के लिए एक सर्वव्यापी प्रोग्रामिंग भाषा बनने की क्षमता है? नीचे टिप्पणी करें और हमें बताएं.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map