पायथन में ब्लॉकचेन का निर्माण कैसे करें?

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

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

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

आप लेख को भी सहेज सकते हैं और इसे बुकमार्क कर सकते हैं, “हमारे ब्लॉकचेन का निर्माण कैसे करें।” मुझ पर विश्वास करो; लेख आपको लंबे समय में मदद करेगा.

ब्लॉकचेन के बारे में कभी नहीं सुना? फिर 101Blockchain के निःशुल्क पाठ्यक्रम की जाँच करें। यदि आप अपने करियर को आगे बढ़ाना चाहते हैं, तो सर्टिफाइड एंटरप्राइज ब्लॉकचैन कोर्स देखें, जहां आप सीखते हैं कि एंटरप्राइज ब्लॉकचेन कैसे काम करता है। आएँ शुरू करें.

क्या आप ब्लॉकचेन में शुरुआत कर रहे हैं? ब्लॉकचैन फ्री कोर्स में दाखिला लें और अब अपनी ब्लॉकचेन यात्रा शुरू करें.

कैसे एक ब्लॉकचेन बनाने के लिए

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

पायथन में एक ब्लॉकचेन का निर्माण कैसे करें

आवश्यकता

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

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

अभी पढ़े: कोरम ब्लॉकचैन अल्टीमेट गाइड


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

यदि आप पायथन को नहीं जानते हैं, तो चिंता न करें क्योंकि इसे उठाना आसान है। इसकी जाँच पड़ताल करो अजगर का प्रलेखन आरंभ करना.

हम ट्यूटोरियल के लिए पायथन 3.6+ का उपयोग करने जा रहे हैं। यदि आप पायथन के अन्य संस्करणों का उपयोग करने का निर्णय लेते हैं, तो आपको कोड को काम करने के लिए अधिक शोध करना पड़ सकता है। ट्यूटोरियल उद्देश्यों के लिए, मैं उस संस्करण को स्थापित करने की सलाह देता हूं जिसका मैं उपयोग कर रहा हूं.

अंत में, आपको HTTP – प्रोटोकॉल के बारे में भी जानना चाहिए जो इंटरनेट पर दो पक्षों के बीच संवाद करने के लिए उपयोग किया जाता है.

पाइप का उपयोग करके पायथन को स्थापित करना

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

$ पाइप स्थापित फ्लास्क == 0.12.2 अनुरोध == 2.18.4

यदि आप विंडोज वातावरण का उपयोग कर रहे हैं, तो आप सीधे अजगर के नवीनतम संस्करण को डाउनलोड करने के लिए python.org पर जा सकते हैं.

मेरे लिए, मैंने पायथन 3.8.1 डाउनलोड किया – ट्यूटोरियल लिखने के समय नवीनतम बिल्ड.

आईडीई के लिए, मैं PyCharm का उपयोग करना पसंद करता हूं। मैं ट्यूटोरियल के लिए पायथन सामुदायिक संस्करण का उपयोग कर रहा हूं। आप अपनी पसंद के किसी भी आईडीई का उपयोग करने के लिए स्वतंत्र हैं। एक और बढ़िया विकल्प विजुअल स्टूडियो कोड है – एक मुक्त, मुक्त-स्रोत एकीकृत विकास वातावरण.

अंतिम उपकरण जो आपको चाहिए वह है पोस्टमैन – एक HTTP क्लाइंट। वैकल्पिक रूप से, आप cURL का उपयोग भी कर सकते हैं.

मैं आपके विकास के लिए पूरी तरह से अलग वातावरण बनाने के लिए एक आभासी वातावरण स्थापित करने की सलाह देता हूं। आप अनुसरण कर सकते हैं इस गाइड इसे ठीक से स्थापित करने के लिए.

ब्लॉकचेन पर दोबारा गौर किया

इससे पहले कि हम जाएं और ब्लॉकचेन का निर्माण करें, हमें ब्लॉकचेन के अपने विचार को ताज़ा करना होगा। इससे हमें एक ही पेज पर बने रहने में मदद मिलेगी.

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

Also Read: शुरुआती लोगों के लिए ब्लॉकचेन: शुरू की गाइड

एक ब्लॉकचेन के निर्माण के साथ शुरुआत करना

सभी पूर्व-स्थापित स्थापनाओं के साथ, हम अब अपने ट्यूटोरियल, “कैसे एक ब्लॉकचेन का निर्माण करें” के साथ आरंभ करने के लिए तैयार हैं।

आरंभ करने के लिए, आपको एक ब्लॉकचेनहोम फ़ाइल बनाने की आवश्यकता है.

1. ब्लॉकचेन क्रिएशन

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

def __init __ (स्व): self.chain = [] self.current_transactions = []

अगला, हमें एक नया_ब्लॉक फ़ंक्शन बनाने की आवश्यकता है जिसका उपयोग नए ब्लॉक बनाने और फिर उन्हें मौजूदा श्रृंखला में जोड़ने के लिए किया जाएगा। New_block फ़ंक्शन के लिए कोड निम्नानुसार है:

def new_block (self): # यह फ़ंक्शन नए ब्लॉक बनाता है और फिर मौजूदा चेन पास को जोड़ता है

New_transcaction विधि एक नया लेनदेन बनाएगी और फिर लेनदेन को पहले से मौजूद लेनदेन सूची में जोड़ेगी.

def new_transaction (self): # यह फ़ंक्शन पहले से मौजूद लेन-देन पास करने के लिए एक नया लेन-देन जोड़ता है हमारे पास एक हैश फ़ंक्शन भी है जिसका उपयोग किसी ब्लॉक के लिए हैश बनाने के लिए किया जाता है। @staticmethod def हैश (ब्लॉक): # हैशेड फॉर ए ब्लॉक

अंतिम कार्य जिसे हम last_block बनाने जा रहे हैं। इसका उपयोग श्रृंखला में अंतिम ब्लॉक को कॉल करने के लिए किया जाता है.

हम यहां तीन और कार्य भी कर सकते हैं.

  • register_node () → एक नया नोड रजिस्टर करने के लिए और इसे नेटवर्क में जोड़ें
  • valid_proof () → यह सुनिश्चित करेगा कि चेन को एक जमा हुआ ब्लॉक समस्या को हल कर देगा
  • valid_chain () → यह जाँच करेगा कि श्रृंखला के बाद के ब्लॉक वैध हैं या नहीं.

ब्लॉकचेनहोम के लिए खाका नीचे जैसा दिखता है.

वर्ग ब्लॉकचेन (ऑब्जेक्ट): def __init __ (स्व): self.chain = [] self.current_transactions = [] def new_block (सेल्फ): # यह फ़ंक्शन नए ब्लॉक बनाता है और फिर मौजूदा चेन पास को जोड़ता है new_transaction (self): # यह फ़ंक्शन पहले से मौजूद लेनदेन में एक नया लेनदेन जोड़ता है

ब्लॉकचैन वर्ग पूरी श्रृंखला का प्रबंधन करता है। वर्ग के तहत परिभाषित परिभाषाएँ ब्लॉकचेन के भीतर विभिन्न क्रियाओं का प्रबंधन करती हैं.

नीचे दिए गए तरीकों में से प्रत्येक के माध्यम से जाने दो.

अभी पढ़े: ब्लॉकचेन शार्डिंग क्या है: ब्लॉकचैन स्केलिंग सॉल्यूशन का परिचय

एक ब्लॉक की संरचना

एक ब्लॉक में लेनदेन और जंजीरों के बारे में महत्वपूर्ण जानकारी होती है। श्रृंखला के किसी भी ब्लॉक में निम्नलिखित जानकारी होगी

  • सूची
  • यूनिक्स समय में टाइमस्टैम्प
  • लेनदेन सूची
  • प्रमाण
  • पिछला ब्लॉक हैश

ब्लॉक के भीतर अधिकांश जानकारी स्व-व्याख्यात्मक हैं। यहाँ, दो महत्वपूर्ण चर पिछली_है, जिसमें पिछले ब्लॉक का हैश मान है। यह महत्वपूर्ण है क्योंकि यह सुनिश्चित करता है कि ब्लॉकचेन अपरिवर्तनीय है, और कोई भी दुर्भावनापूर्ण अभिनेता श्रृंखला में किसी भी डेटा को अपडेट, हटा या जोड़ नहीं सकता है.

अभी पढ़े: ब्लॉकचेन क्यों बदलेगी दुनिया?

एक ब्लॉक में लेनदेन जोड़ना

ब्लॉक की संरचना को समझने के साथ, आइए अब सीखें कि ब्लॉक में लेनदेन कैसे जोड़ें। इसके लिए कोड नीचे है.

def new_transaction (self): # यह फ़ंक्शन पहले से मौजूद लेनदेन में एक नया लेनदेन जोड़ता है """यह एक नया लेनदेन बनाएगा जिसे अगले ब्लॉक में भेजा जाएगा। इसमें प्रेषक, प्राप्तकर्ता और राशि सहित तीन चर होंगे """ self.current_transactions.append ({‘प्रेषक’: प्रेषक, ‘प्राप्तकर्ता’: प्राप्तकर्ता ‘राशि’: राशि,}) स्व। ऑब्जेक्ट जिसमें तीन चर होते हैं → प्रेषक, प्राप्तकर्ता, राशि.

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

नए ब्लॉक बनाना

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

self.new_block (पिछला_हाश = 1, प्रमाण = 100)

इस लाइन को आपके ब्लॉकचेन वर्ग में जोड़ा जाना चाहिए.

नए_ब्लॉक () विधि के लिए, आपको इसके मापदंडों के रूप में दो चर भेजने की आवश्यकता है। इसमें सबूत और पिछला_शाह शामिल है.

अब, नीचे दिए गए new_block () पद्धति पर एक नज़र डालते हैं.

def new_block (स्व, प्रमाण, पिछला_श = कोई नहीं): # यह फ़ंक्शन नए ब्लॉक बनाता है और फिर मौजूदा श्रृंखला में जोड़ता है """इस पद्धति में दो पैरामीटर प्रमाण, पिछले हैश होंगे""" ब्लॉक = {‘इंडेक्स’: len (self.chain) + 1, ‘टाइमस्टैम्प’: टाइम (), ‘प्रूफ’: प्रूफ, पिछले_हाश: पिछला_आश या स्व.आश (आत्म.चैन [-1]),}

# वर्तमान लेनदेन सूची को खाली करने के लिए सेट करें.

   self.current_transactions = [] self.chain.append (ब्लॉक) रिटर्न ब्लॉक

चलिए new_block के कोड को समझाते हैं। हम एक ब्लॉक सूची बनाते हैं जिसमें तीन महत्वपूर्ण पैरामीटर होते हैं। एक बार जब वे परिभाषित हो जाते हैं, तो हम भी current_transaction सूची को रीसेट करने के लिए कोड लिखते हैं और फिर ब्लॉक को श्रृंखला में जोड़ते हैं। नया_ब्लॉक विधि, जब बुलाया जाता है, तो ब्लॉक लौटाता है.

अभी पढ़े: बिगिनर गाइड: एथेरियम क्लासिक क्या है?

चलो नीचे अंतिम_ब्लॉक विधि भी परिभाषित करते हैं.

@संपत्ति

def last_block (सेल्फ):

# श्रृंखला के अंतिम ब्लॉक को कॉल और वापस करता है

स्व।

इसके अलावा, हैश () विधि के लिए कोड नीचे है:

डीप हैश (ब्लॉक): # एक ब्लॉक हैशिंग के लिए इस्तेमाल किया """अनुवर्ती कोड SHA-256 ब्लॉक हैश बनाएगा और यह भी सुनिश्चित करेगा कि शब्दकोश का आदेश दिया गया है""" block_string = json.dumps (ब्लॉक, Sort_keys = True) .encode () रिटर्न hashlib.sha256 (block_string) .hexdigest () यदि आप अब तक के सभी कोड को मिलाते हैं, तो हमारे पास निम्नलिखित ब्लॉकचेनहोम होंगे। इसे नीचे देखें.

वर्ग ब्लॉकचेन (ऑब्जेक्ट): def __init __ (स्व): self.chain = [] self.current_transactions = [] self.new_block (पिछले_हाश = 1, प्रमाण = 100) को नए। फ़ंक्शन नए ब्लॉक बनाता है और फिर मौजूदा श्रृंखला में जोड़ता है """इस पद्धति में दो पैरामीटर प्रमाण, पिछले हैश होंगे""" ब्लॉक = {‘इंडेक्स’: len (self.chain) + 1, ‘टाइमस्टैम्प’: टाइम (), ‘प्रूफ’: प्रूफ, पिछले_हाश: पिछला_हश या स्व.आश (आत्म.चैन [-1]),} # सेट वर्तमान लेन-देन सूची खाली करने के लिए। self.current_transactions = [] self.chain.append (ब्लॉक) रिटर्न ब्लॉक def new_transaction (स्वयं): # यह फ़ंक्शन पहले से मौजूद लेनदेन में एक नया लेनदेन जोड़ता है """यह एक नया लेनदेन बनाएगा जिसे अगले ब्लॉक में भेजा जाएगा। इसमें प्रेषक, प्राप्तकर्ता और राशि सहित तीन चर होंगे """ self.current_transactions.append ({‘प्रेषक’: प्रेषक, ‘प्राप्तकर्ता’: प्राप्तकर्ता, ‘राशि’: राशि,}) स्व। एक ब्लॉक """अनुवर्ती कोड SHA-256 ब्लॉक हैश बनाएगा और यह भी सुनिश्चित करेगा कि शब्दकोश का आदेश दिया गया है""" block_string = json.dumps (ब्लॉक, sort_keys = True) .encode () रिटर्न hashlib.sha256 (block_string) .hexdigest () @property def last_block (self): # कॉल और चेन रिटर्न का अंतिम ब्लॉक self.chain [। -1]

कार्य कार्यान्वयन का प्रमाण

ब्लॉकचेनहोम के निर्माण में हमारा अगला कदम प्रूफ़-ऑफ़-वर्क का कार्यान्वयन है.

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

बिटकॉइन के प्रूफ ऑफ वर्क को हैशकैश के रूप में जाना जाता है। यह सुनिश्चित करता है कि बिटकॉइन नेटवर्क सर्वसम्मति के अनुसार काम करता है.

Also Read: सर्वसम्मति एल्गोरिदम: ब्लॉकचेन टेक्नोलॉजी की जड़

चलिए proof_of_work () विधि को परिभाषित करते हैं। विधि ब्लॉकचेन क्लास का हिस्सा होगी.

def proof_of_work (स्वयं, last_proof): """यह विधि है जहाँ आप सर्वसम्मति एल्गोरिथ्म लागू किया जाता है। यह स्वयं और last_proof सहित दो पैरामीटर लेता है""" सबूत = 0 जबकि self.valid_proof (last_proof, सबूत) गलत है: प्रमाण + = 1 रिटर्न प्रमाण @staticmethod def वैध_प्रूफ (last_proof, सबूत): """यह विधि ब्लॉक को मान्य करती है""" अनुमान = f ‘{last_proof} {सबूत}’। सांकेतिक शब्दों में बदलना () अनुमान_हाश = hashlib.sha256 (अनुमान) ।hexigest () वापसी अनुमान_आश [: 4] == "0000 है"

पहला सबूत_ऑफ_वर्क विधि सरल है; यह केवल 0 पर प्रमाण सेट करता है और फिर मान्य_प्रूफ विधि को चलाने के लिए थोड़ी देर लूप चलाता है। यदि यह गलत है, तो एक को प्रमाण में जोड़ें.

आप अधिक शून्य जोड़कर हैश की कठिनाई बढ़ा सकते हैं.

यह हमें हमारे ब्लॉकचेनहोम के अंत तक ले जाता है। हमारा कोड नीचे दिया गया है.

वर्ग ब्लॉकचेन (ऑब्जेक्ट): def __init __ (स्व): self.chain = [] self.current_transactions = [] self.new_block (पिछले_हाश = 1, सबूत = 100) def प्रमाण -of_work (सेल्फ, लास्ट_प्रूफ): """यह विधि है जहाँ आप सर्वसम्मति एल्गोरिथ्म लागू किया जाता है। यह स्वयं और last_proof सहित दो पैरामीटर लेता है""" सबूत = 0 जबकि self.valid_proof (last_proof, सबूत) गलत है: प्रमाण + = 1 रिटर्न प्रमाण @staticmethod def वैध_प्रूफ (last_proof, सबूत): """यह विधि ब्लॉक को मान्य करती है""" अनुमान = f ‘{last_proof} {सबूत}’। सांकेतिक शब्दों में बदलना () अनुमान_हाश = hashlib.sha256 (अनुमान) ।hexigest () वापसी अनुमान_आश [: 4] == "0000 है" def new_block (स्व, प्रमाण, पिछला_श = कोई नहीं): # यह फ़ंक्शन नए ब्लॉक बनाता है और फिर मौजूदा श्रृंखला में जोड़ता है """इस पद्धति में दो पैरामीटर प्रमाण, पिछले हैश होंगे""" ब्लॉक = {‘इंडेक्स’: len (self.chain) + 1, ‘टाइमस्टैम्प’: टाइम (), ‘प्रूफ’: प्रूफ, पिछले_हाश: पिछला_हश या स्व.आश (आत्म.चैन [-1]),} # सेट वर्तमान लेन-देन सूची खाली करने के लिए। self.current_transactions = [] self.chain.append (ब्लॉक) रिटर्न ब्लॉक def new_transaction (स्वयं): # यह फ़ंक्शन पहले से मौजूद लेनदेन में एक नया लेनदेन जोड़ता है """यह एक नया लेनदेन बनाएगा जिसे अगले ब्लॉक में भेजा जाएगा। इसमें प्रेषक, प्राप्तकर्ता और राशि सहित तीन चर होंगे """ self.current_transactions.append ({‘प्रेषक’: प्रेषक, ‘प्राप्तकर्ता’: प्राप्तकर्ता, ‘राशि’: राशि,})

स्व

@staticmethod

def हैश (ब्लॉक):

# एक ब्लॉक हैशिंग के लिए इस्तेमाल किया

“” “अनुवर्ती कोड SHA-256 ब्लॉक हैश बनाएगा और यह भी सुनिश्चित करेगा कि शब्दकोश का आदेश दिया गया है” “

block_string = json.dumps (ब्लॉक, Sort_keys = True) .encode ()

वापसी hashlib.sha256 (block_string) .hexdigest ()

@संपत्ति

def last_block (सेल्फ):

# श्रृंखला के अंतिम ब्लॉक को कॉल और वापस करता है

स्व।

2. एपीआई एकीकरण

महान, हम एक ब्लॉकचेन बनाते हैं जो काम करता है! अब, इसे प्रभावी ढंग से उपयोग करने के लिए, हमें एक एपीआई (एप्लीकेशन प्रोग्रामिंग इंटरफ़ेस) बनाने की आवश्यकता है.

ऐसा करने के लिए, हम लोकप्रिय पायथन फ्रेमवर्क: फ्लास्क का उपयोग करने जा रहे हैं.

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

एपीआई बनाने के लिए, हमें पहले यह सुनिश्चित करना होगा कि हमारा ब्लॉकचेन HTTP पर अनुरोध स्वीकार कर सकता है। ऐसा करने के लिए, हमें और विधियाँ बनानी होंगी.

अब, हम blockchain.py को संशोधित करेंगे.

# ऐप नोड ऐप बनाना = फ्लास्क (__ name__) नोड_सिडिफायर = स्ट्रैट (uuid4 ()) को प्रतिस्थापित करें (‘-‘, ”) # प्रारंभिक ब्लॉकचेन ब्लॉकचैन = ब्लॉकचैन () @ ऐप .route (‘/ मेरा’, तरीके =] ‘प्राप्त’]) मेरा (): वापसी "खनन एक नया ब्लॉक" @ app.route (‘/ लेनदेन / नया’, विधियाँ = [‘POST’]) new_transaction () लौटें "एक नया लेनदेन जोड़ना" @ app.router (‘/ चेन’, तरीके = [‘GET’]) को full_chain (): response = {‘chain’: blockchain.chain, ‘length’: len (blockchain.chain) पर लौटें: jsonify (response) लौटें , 200 अगर __name__ == ‘__main__’: app.run (host =)"0.0.0.0", पोर्ट = 5000)

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

  • / मेरा समापन बिंदु
  • / लेनदेन / नया समापन बिंदु
  • / श्रृंखला समापन बिंदु

अंत में, हम 5000 पोर्ट पर सर्वर चलाते हैं.

ऐप अब लगभग बन चुका है। हमें केवल लेन-देन वर्ग विधि बनाने की आवश्यकता है.

@ app.route (‘/ लेनदेन / नया’, तरीके = [‘POST’]) new_transaction (): मान = request.get_json () # की जाँच करें कि क्या आवश्यक डेटा है या नहीं = [प्रेषक ‘,’ प्राप्तकर्ता ‘,’ राशि ‘] यदि सभी नहीं (k में मान के लिए k) आवश्यक है:’ लापता मान ‘लौटाएं, 400 # एक नया लेनदेन सूचकांक बना रहा है = blockchain.new_transaction (मान [‘ प्रेषक ‘), मान [प्राप्तकर्ता]’ , मान [‘राशि’]]) प्रतिक्रिया = {‘संदेश’: f’Transaction को ब्लॉक नंबर {इंडेक्स} ‘में जोड़ा जाना है।

Also Read: यहाँ पर आपको ब्लॉकचेन प्रूफ ऑफ़ वर्क के बारे में जानना होगा

खनन समापन बिंदु

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

  • कार्य गणना का प्रमाण
  • नए ब्लॉकचेन को फोर्ज करें और फिर इसे चेन में जोड़ें
  • अपने काम के लिए माइनर को पुरस्कृत करें

@ app.route (‘/ मेरा’, तरीके = [‘GET’]) डिफ मेरा () """यहाँ हम कार्य एल्गोरिथ्म कार्य का प्रमाण बनाते हैं""" last_block = blockchain.last_block last_proof = last_block [‘proof’] सबूत = blockchain.proof_of_work (last_proof) # अपने योगदान के लिए खनिक को पुरस्कृत करना। 0 निर्दिष्ट करता है कि नया सिक्का ब्लॉकचेन.न्यू_ट्रांसलेशन (प्रेषक =) का खनन किया गया है"०", प्राप्तकर्ता = नोड_ पहचानकर्ता, राशि = 1, # अब नया ब्लॉक बनाएं और इसे पिछली_हश = ब्लॉकचैन.हाश (अंतिम_ब्लॉक) ब्लॉक = ब्लॉकचैन.न्यू_ब्लॉक (प्रमाण, पिछले_हैश) प्रतिक्रिया = {‘संदेश’ में जोड़ें: ‘नया ब्लॉक’ जाली ‘,’ इंडेक्स ‘: ब्लॉक [‘ इंडेक्स ‘],’ लेनदेन ‘: ब्लॉक [‘ लेनदेन ‘],’ प्रूफ ‘: ब्लॉक [‘ प्रूफ ‘],’ पिछला_श ‘: ब्लॉक [‘ पिछला_हैश ‘]]} jsonify (प्रतिक्रिया), 200

अभी पढ़े: बिगिनर्स गाइड: AION क्या है? विश्व की पहली तीसरी पीढ़ी ब्लॉकचेन नेटवर्क

3. ब्लॉकचेन इंटरैक्शन

अंतिम चरण ब्लॉकचेन के साथ बातचीत करना है। हम पोस्टमैन का उपयोग ब्लॉकचेन नेटवर्क के साथ बातचीत करने के लिए करने जा रहे हैं जो हमने अभी बनाया एपीआई का उपयोग कर रहा है.

पायथन कंसोल पर नीचे दिए गए कोड को चलाएँ

python blockchain.py

निष्कर्ष

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

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

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