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

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

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

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

इसलिए, यह कहते हुए कि, अपनी यात्रा शुरू करें.

एक ब्लॉकचेन डेवलपर बनें – मील का पत्थर # 1: मूल बातें समझना

ब्लॉकचेन डेवलपमेंट टूल्स

ब्लॉकचेन तकनीक जैसी नई और क्रांतिकारी किसी भी चीज के साथ सबसे बड़ी बाधा है, सिस्टम से जुड़ी विभिन्न अवधारणाओं से खुद को परिचित करना।.

यदि आप एक शुरुआत कर रहे हैं, तो कुछ शर्तें हैं जिनसे आपको परिचित होना चाहिए:

ब्लॉकचेन टेक्नोलॉजी सीखें

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

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

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

जब आप इनमें से कुछ ICOs के बारे में अध्ययन करते हैं, तो ज्ञान में यह अंतर बेहद स्पष्ट होता है। यह देखना बहुत स्पष्ट है कि उनके ICO के अर्थशास्त्र पक्ष को अच्छी तरह से नहीं सोचा गया है.

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

यदि आप विशेष रूप से क्रिप्टोग्राफी द्वारा अंतर्ग्रहीत हैं और जानना चाहते हैं कि हस्ताक्षर कैसे काम करते हैं और सार्वजनिक-कुंजी क्रिप्टोग्राफी का क्या अर्थ है, तो इस वर्ष पढ़ें.

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

इसलिए, यह सलाह दी जाती है कि आप Satoshi Nakamoto के बिटकॉइन के व्हाइटपेपर को पढ़ें। आप ऐसा कर सकते हैं इसे यहाँ देखें. अब वह पहला मील का पत्थर पूरा करता है.

आइए उन कदमों की जाँच करें जिन्हें आपको यहाँ करने की आवश्यकता है:

  • विभिन्न शब्दों और लेसिकों से परिचित हों.
  • ब्लॉकचेन के अधिक तकनीकी पहलुओं पर पढ़ें.
  • बिटकॉइन व्हाइटपर पढ़ें.

एक ब्लॉकचेन डेवलपर बनें – मील का पत्थर # 2: प्रक्रिया जानें

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

यह दृढ़ता से अनुशंसा की जाती है कि आप आज सिस्टम से परिचित होना शुरू कर दें.

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

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

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

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

हम इस खंड को एक करीब ला रहे हैं, कठिन हिस्सा अगले मील के पत्थर से शुरू होता है.

आपके कदम यहां हैं:

  • जानें कि एक्सचेंज कैसे काम करते हैं.
  • बटुए से परिचित हों.

एक ब्लॉकचेन डेवलपर बनें – माइलस्टोन # 3: चलो कोडिंग प्राप्त करें!

एक ब्लॉकचेन डेवलपर के रूप में, आपको बैक-एंड में कई चुनौतियों का सामना करना पड़ेगा। कई कारणों से सार्वजनिक ब्लॉकचेन बनाना और बनाए रखना आसान नहीं है.

(इससे पहले कि हम जारी रखें, CPPCON 2016 में ब्लॉकचेन सॉफ़्टवेयर डेवलपमेंट में C ++ के उपयोग के बारे में अपने मुख्य भाषण के लिए डेविड शवार्ट्ज के लिए एक विशाल चिल्लाहट।)

  • कारण # 1: सुरक्षा

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

  • कारण # 2: संसाधन प्रबंधन

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

  • कारण # 3: प्रदर्शन

ब्लॉकचेन को हमेशा अपनी उच्चतम संभव क्षमताओं पर प्रदर्शन करना चाहिए, लेकिन ऐसा होने के लिए चुनी गई भाषा बेहद बहुमुखी होनी चाहिए। बात यह है कि ब्लॉकचेन में कुछ कार्य होते हैं जो समानांतर होते हैं, जबकि कुछ कार्य ऐसे होते हैं जिन्हें समानांतर रूप से नहीं किया जा सकता है.

“समांतर” कार्य का एक अच्छा उदाहरण डिजिटल हस्ताक्षर सत्यापन है। हस्ताक्षर सत्यापन के लिए आपको जो कुछ भी चाहिए वह है कुंजी, लेनदेन और हस्ताक्षर। सिर्फ तीन आंकड़ों के साथ आप एक समानांतर तरीके से सत्यापन कर सकते हैं.

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

  • कारण # 4: अलगाव

निर्धारक व्यवहार क्या है?

यदि A + B = C, तो कोई भी परिस्थिति नहीं है, A + B हमेशा C के बराबर होगा। इसे नियतात्मक व्यवहार कहा जाता है.

हैश फ़ंक्शन नियतात्मक हैं, जिसका अर्थ A का हैश हमेशा H (A) होगा.

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

इसका एकमात्र समाधान अलगाव है। मूल रूप से, आप अपने स्मार्ट अनुबंधों और लेनदेन को गैर-नियतात्मक तत्वों से अलग करते हैं.

कुछ भाषाएं हैं जो इन जरूरतों को पूरा करती हैं। यदि आप एक ब्लॉकचेन डेवलपर हैं, तो आपको निश्चित रूप से सी ++ और जावास्क्रिप्ट का कुछ बुनियादी ज्ञान होना चाहिए.

हालांकि सी ++ थोड़ा पुराना लग सकता है, लेकिन सच्चाई यह है कि यह आश्चर्यजनक रूप से उन सभी कार्यात्मकताओं को संतुष्ट करता है जो हमने ऊपर वर्णित किए हैं। वास्तव में, Satoshi Nakamoto ने C में बिटकॉइन स्रोत कोड लिखा था++.

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

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

भारी सामग्री के लिए savjee.be को भारी चिल्लाया.

हम एक ब्लॉक कैसे बनाते हैं? एक साधारण ब्लॉक से क्या बनता है? हमारे सरल क्रिप्टो सिक्के में जो हम बनाने जा रहे हैं (इसे “BlockGeeksCoin” कहते हैं), प्रत्येक ब्लॉक में निम्नलिखित जानकारी होगी:

  • सूचकांक: ब्लॉक नंबर जानने के लिए.
  • टाइमस्टैम्प: सृष्टि का समय जानने के लिए.
  • डेटा: ब्लॉक के अंदर डेटा.
  • पिछला हैश: पिछले ब्लॉक का हैश.
  • हैश: वर्तमान ब्लॉक के हाश.

इससे पहले कि हम जारी रखें। आपको कुछ शर्तों को समझने की आवश्यकता है जो हम अपने कार्यक्रम में उपयोग करने जा रहे हैं:

  • इस: “यह” कीवर्ड एक फ़ंक्शन के अंदर लाया जाता है और आपको किसी विशिष्ट ऑब्जेक्ट के अंदर मूल्यों को एक्सेस करने में सक्षम बनाता है जो उस विशेष फ़ंक्शन को कॉल करता है.
  • निर्माता: एक निर्माता एक विशेष कार्य है जो एक वर्ग के भीतर एक वस्तु बनाने और शुरू करने में मदद कर सकता है। प्रत्येक वर्ग केवल एक निर्माता तक ही सीमित है.

अब जब कि हो गया है, तो आइए अपना ब्लॉक बनाना शुरू करते हैं.

ब्लॉक बनाना

const SHA256 = आवश्यकता ("क्रिप्टो-जेएस / sha256");

वर्ग ब्लॉक

{{

कंस्ट्रक्टर (इंडेक्स, टाइमस्टैम्प, डेटा, पिछला हैश = ”)

{{

this.index = index;

this.prepretHash = lastHash;

this.timestamp = टाइमस्टैम्प;

this.data = data;

this.hash = this.calculateHash ();

}

गणना करें ()

{{

SHA256 लौटाएँ (यह .index + this.prepretHash + this.timestamp + JSON.stringify (यह.data)) .String ();

}

}

कोड विश्लेषण

ठीक है, तो यह ठीक है यहाँ एक ब्लॉक है। इसलिए, कोड की पहली पंक्ति में, हमने क्रिप्टो-जेएस लाइब्रेरी कहा है क्योंकि जावास्क्रिप्ट में sha256 हैश फ़ंक्शन उपलब्ध नहीं है.

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

एक ब्लॉक में, हम सभी सामग्री लेते हैं और उस विशेष ब्लॉक के हैश को प्राप्त करने के लिए उन्हें हैश करते हैं। हम JSON.stringify फ़ंक्शन का उपयोग करके इसे हैश करने के लिए एक स्ट्रिंग में ब्लॉक के डेटा को चालू करने के लिए कर रहे हैं.

ठीक है, तो हमारे पास ब्लॉक तैयार है और जाने के लिए अच्छा है। अब ब्लॉक को एक ब्लॉकचेन में एक साथ जोड़ते हैं.

ब्लॉकचेन बनाना: एक ब्लॉकचेन इंजीनियर बनना

वर्ग ब्लॉकचेन

{{

// धारा 1 उत्पत्ति ब्लॉक निर्माण

निर्माता ()

{{

this.chain = [this.createGenesisBlock ()];

}

createGenesisBlock ()

{{

नया ब्लॉक लौटाएं (0), "01/01/2017", "उत्पत्ति ब्लॉक", "०");

}

// खंड 2 नए ब्लॉक जोड़ रहा है

getLatestBlock ()

{{

इसे वापस करें।

}

addBlock (newBlock) {

newBlock.prepretHash = this.getLatestBlock () हैश;

newBlock.hash = newBlock.calculateHash ();

this.chain.push (newBlock);

}

// खंड 3 श्रृंखला को मान्य करता है

isChainValid ()

{{

for (let i = 1; i; < this.chain.length; मैं ++)

{{

const currentBlock = this.chain [i];

const पिछलाब्लॉक = this.chain [i – 1];

if (currentBlock.hash! == currentBlock.calculateHash ()) {

विवरण झूठा है;

}

यदि (currentBlock.prepretHash! == पिछलेBlock.hash)

{{

विवरण झूठा है;

}

}

सच लौटना;

}

}

कोड विश्लेषण

ठीक है, बहुत सारी चीजें ऊपर की श्रृंखला में चल रही हैं, इसे खंडों में विभाजित करें.

  • खंड 1: उत्पत्ति खंड

जेनेसिस ब्लॉक क्या है?

जेनेसिस ब्लॉक ब्लॉकचेन का पहला ब्लॉक है, और यही वजह है कि यह विशेष है कि जबकि हर बॉक पिछले ब्लॉक को इंगित करता है, लेकिन जीनसिस ब्लॉक कुछ भी इंगित नहीं करता है। तो, जिस क्षण एक नई श्रृंखला बनाई जाती है, जीनस ब्लॉक को तुरंत लागू किया जाता है.

इसके अलावा, आप “createGenesisBlock ()” फ़ंक्शन देख सकते हैं जिसमें हमने ब्लॉक का डेटा मैन्युअल रूप से दिया है:

createGenesisBlock ()

{{

नया ब्लॉक लौटाएं (0), "01/01/2017", "उत्पत्ति ब्लॉक", "०");

}

  • खंड 2: ब्लॉक जोड़ना

सबसे पहले, हमें यह जानना होगा कि वर्तमान में ब्लॉकचेन में अंतिम ब्लॉक क्या है। उसके लिए हम getLatestBlock () फ़ंक्शन का उपयोग करते हैं.

getLatestBlock ()

{{

इसे वापस करें।

}

अब हमने नवीनतम ब्लॉक निर्धारित कर दिया है, आइए देखें कि हम नए ब्लॉक कैसे जोड़ने जा रहे हैं.

addBlock (newBlock) {

newBlock.prepretHash = this.getLatestBlock () हैश;

newBlock.hash = newBlock.calculateHash ();

this.chain.push (newBlock);

}

तो, यहाँ क्या हो रहा है? हम ब्लॉक कैसे जोड़ रहे हैं? दिए गए ब्लॉक मान्य हैं या नहीं, हम कैसे जांच रहे हैं?

एक ब्लॉक की सामग्री याद है? एक ब्लॉक में पिछले ब्लॉक राइट का हैश होता है?

इसलिए, हम यहां जो करने जा रहे हैं वह सरल है। नए ब्लॉक के पिछले हैश मान की तुलना नवीनतम ब्लॉक के हैश मान से करें.

ब्लॉकचेन डेवलपर कैसे बनें

चित्र सौजन्य: लॉरी हार्टिकाका मध्यम लेख

यदि ये दोनों मान मेल खाते हैं, तो इसका मतलब है कि नया ब्लॉक वैध है और यह ब्लॉकचेन में जुड़ जाता है.

  • धारा 3: श्रृंखला को मान्य करना

अब, हमें यह जाँचने की आवश्यकता है कि कोई भी हमारे ब्लॉकचेन के साथ खिलवाड़ नहीं कर रहा है और यह सब कुछ स्थिर है.

हम ब्लॉक 1 से अंतिम ब्लॉक तक जाने के लिए “फॉर” लूप का उपयोग कर रहे हैं। उत्पत्ति ब्लॉक ब्लॉक 0 है.

for (let i = 1; i; < this.chain.length; मैं ++)

{{

const currentBlock = this.chain [i];

const पिछलाब्लॉक = this.chain [i – 1];

कोड के इस भाग में हम दो शब्दों, वर्तमान ब्लॉक और पिछले ब्लॉक को परिभाषित कर रहे हैं। और अब हम बस इन दो मूल्यों के हैश का पता लगाने जा रहे हैं.

if (currentBlock.hash! == currentBlock.calculateHash ()) {

विवरण झूठा है;

}

यदि (currentBlock.prepretHash! == पिछलेBlock.hash)

{{

विवरण झूठा है;

}

}

सच लौटना;

}

यदि वर्तमान ब्लॉक का “पिछला हैश” पिछले ब्लॉक के “हैश” के बराबर नहीं है, तो यह फ़ंक्शन गलत वापस आ जाएगा, अन्यथा यह सच लौटेगा.

ब्लॉकचेन का उपयोग करना

अब, हम आखिरकार ब्लॉकचेन का उपयोग करने जा रहे हैं ताकि हमारी ब्लॉकगिस्कॉइन बनाई जा सके.

Let BlockGeeksCoin = नया ब्लॉकचेन ();

BlockGeeksCoin.addBlock (नया ब्लॉक (1), "20/07/2017", {राशि: 4}));

BlockGeeksCoin.addBlock (नया ब्लॉक (2), "20/07/2017", {राशि: 8}));

और बस!

तो यहाँ क्या हुआ?

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

हमने बस इसमें दो और ब्लॉक जोड़े और उन्हें कुछ डेटा दिया.

यह इतना आसान है.

(अद्भुत और सरल व्याख्या के लिए साभार। साभार।)

इस मील के पत्थर के लिए यही है। आइए कार्रवाई के चरणों को देखें। यह बहुत आसान है, लेकिन यह निश्चित रूप से आसान नहीं है:

  • C ++, जावास्क्रिप्ट, C #, Go, आदि जैसी कई ब्लॉकचेन-फ्रेंडली भाषाओं में से किसी एक में शिक्षित हों.

एक ब्लॉकचेन डेवलपर बनें – माइलस्टोन # 4: स्मार्ट कॉन्ट्रैक्ट पर शिक्षित हों

स्मार्ट कॉन्ट्रैक्ट कैसे काम करता है

आप एक स्मार्ट अनुबंध को कैसे परिभाषित करते हैं?

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

आप यहां हमारे इन-गाइड गाइड में स्मार्ट अनुबंधों के बारे में अधिक जान सकते हैं.

तो, हम अपने स्मार्ट कॉन्ट्रैक्ट में क्या वांछनीय गुण चाहते हैं?

ब्लॉकचेन पर चलने वाली किसी भी चीज को अपरिवर्तनीय होना चाहिए और उसकी अखंडता से समझौता किए बिना कई नोड्स के माध्यम से चलने की क्षमता होनी चाहिए। जिसके परिणामस्वरूप, स्मार्ट अनुबंध की कार्यक्षमता के लिए तीन चीजें होनी चाहिए:

  • नियतात्मक.
  • जल्द.
  • पृथक.

फ़ीचर # 1: निर्धारक

एक प्रोग्राम नियतात्मक होता है यदि वह हर बार दिए गए इनपुट को समान आउटपुट देता है। जैसे। यदि 3 + 1 = 4 तो 3 + 1 हमेशा 4 होगा (समान आधार मानकर)। इसलिए जब कोई प्रोग्राम एक ही आउटपुट को विभिन्न कंप्यूटरों में इनपुट के समान सेट देता है, तो प्रोग्राम को नियतात्मक कहा जाता है.

ऐसे कई क्षण होते हैं जब कोई कार्यक्रम निर्धारक तरीके से कार्य कर सकता है:

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

फ़ीचर # 2: टर्मिनेबल

गणितीय तर्क में, हमारे पास एक समस्या है जिसे “समस्या निवारण” कहा जाता है। मूल रूप से, यह बताता है कि किसी दिए गए कार्यक्रम को समय सीमा में निष्पादित किया जा सकता है या नहीं यह जानने में असमर्थता है। 1936 में, एलन ट्यूरिंग ने कैंटर की विकर्ण समस्या का उपयोग करते हुए कटौती की, यह जानने का कोई तरीका नहीं है कि दिया गया कार्यक्रम समय सीमा में समाप्त हो सकता है या नहीं।.

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

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

फ़ीचर # 3: पृथक

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

अब जब हमने इन विशेषताओं को देखा है, तो यह जानना महत्वपूर्ण है कि इन्हें कैसे निष्पादित किया जाता है। आमतौर पर, स्मार्ट कॉन्ट्रैक्ट दो प्रणालियों में से एक का उपयोग करके चलाया जाता है:

  • वर्चुअल मशीन: एथेरियम इसका उपयोग करता है.
  • डॉकर: फैब्रिक इसका उपयोग करता है.

आइए इन दोनों की तुलना करें और निर्धारित करें कि कौन बेहतर पारिस्थितिकी तंत्र के लिए बनाता है। सादगी के लिए, हम Ethereum (वर्चुअल मशीन) की तुलना फैब्रिक (डोकर) से करने जा रहे हैं.

यदि आप विशेष रूप से इथेरियम के विकास में रुचि रखते हैं तो यह महत्वपूर्ण है कि आप एकांतता भी सीखें.

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

सॉलिडिटी एक उद्देश्यपूर्ण रूप से पतला है, एक सिंटैक्स के साथ शिथिल-टाइप भाषा जो ईसीएमएस्क्रिप्ट (जावास्क्रिप्ट) के समान है। Ethereum Design Rationale दस्तावेज़ से याद रखने के लिए कुछ प्रमुख बिंदु हैं, अर्थात् हम 32-बाइट अनुदेश शब्द आकार के साथ स्टैक-एंड-मेमोरी मॉडल पर काम कर रहे हैं, EVM (एथेरियम वर्चुअल मशीन) हमें प्रोग्राम तक पहुंच प्रदान करता है। स्टैक ”जो एक रजिस्टर स्पेस की तरह है जहाँ हम प्रोग्राम काउंटर लूप / जम्प (अनुक्रमिक प्रोग्राम कंट्रोल के लिए), एक एक्सपेंडेबल अस्थायी“ मेमोरी ”और अधिक स्थायी“ स्टोरेज ”बनाने के लिए मेमोरी एड्रेस भी चिपका सकते हैं जो वास्तव में स्थायी में लिखा गया है ब्लॉकचैन, और सबसे महत्वपूर्ण बात, ईवीएम को स्मार्ट कॉन्ट्रैक्ट्स के भीतर कुल नियतत्ववाद की आवश्यकता होती है.

यदि आप एकांत सीखने में रूचि रखते हैं तो आप यहाँ हमारे इन-क्लास क्लास की जाँच कर सकते हैं.

तो, अब कार्रवाई कदम देखें:

  • समझें कि स्मार्ट अनुबंध कैसे काम करते हैं.
  • (Ethereum डेवलपर्स के लिए वैकल्पिक) सॉलिडिटी सीखें.

एक ब्लॉकचेन डेवलपर बनें – माइलस्टोन # 5: एक ब्लॉकचेन डेवलपमेंट कंपनी में शामिल हों

सबसे महत्वपूर्ण चीजों में से एक जो आप एक उभरते हुए डेवलपर के रूप में कर सकते हैं वह है लगातार मिश्रण में बने रहना.

जाओ और Reddit मंचों, Gitbub पृष्ठों, और StackExchange में शामिल हों और अन्य डेवलपर्स के साथ जुड़ें और प्रौद्योगिकी के संबंध में किसी भी समाचार के लिए हमेशा तत्पर रहें.

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

यह जानकारी कंपनियों को अपील करने के लिए आपके कौशल को ठीक करने में बहुत उपयोगी हो सकती है.

ब्लॉकचैन डेवलपर या इंजीनियर बनने का मार्ग: निष्कर्ष

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

यदि आप ब्लॉकचेन डेवलपमेंट के बारे में जानकारी के संसाधन की तलाश कर रहे हैं तो यहां क्लिक करें.

हम आपकी यात्रा के लिए शुभकामनाएं देते हैं!

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