अजगर ब्लॉकचेन बनाना
ब्लॉकचेन में एक-दूसरे से जुड़े ब्लॉक की सूची होती है। संपूर्ण सूची को संग्रहीत करने के लिए, हम एक सूची चर बनाएंगे, जिसे TPCoins कहा जाता है -
TPCoins = []
हम एक उपयोगिता विधि भी लिखेंगे जिसे कहा जाता है dump_blockchainपूरे ब्लॉकचेन की सामग्री को डंप करने के लिए। हम पहले ब्लॉकचेन की लंबाई को प्रिंट करते हैं ताकि हमें पता चले कि ब्लॉकचेन में वर्तमान में कितने ब्लॉक मौजूद हैं।
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
ध्यान दें कि जैसे-जैसे समय बीतता है, ब्लॉकचेन में ब्लॉकों की संख्या मुद्रण के लिए असाधारण रूप से अधिक हो जाएगी। इस प्रकार, जब आप ब्लॉकचेन की सामग्री प्रिंट करते हैं, तो आपको उस सीमा पर निर्णय लेना पड़ सकता है जिसे आप जांचना चाहते हैं। नीचे दिए गए कोड में, हमने पूरे ब्लॉकचेन को मुद्रित किया है क्योंकि हम वर्तमान डेमो में बहुत सारे ब्लॉक नहीं जोड़ रहे हैं।
श्रृंखला के माध्यम से पुनरावृत्ति करने के लिए, हम एक सेट करते हैं for पाश इस प्रकार है -
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
प्रत्येक संदर्भित ब्लॉक को अस्थायी अस्थायी नाम से कॉपी किया जाता है block_temp।
हम प्रत्येक ब्लॉक के लिए हेडिंग के रूप में ब्लॉक नंबर प्रिंट करते हैं। ध्यान दें कि संख्याएं शून्य से शुरू होंगी, पहला ब्लॉक एक जीनसिस ब्लॉक है जिसे शून्य गिना जाता है।
print ("block # " + str(x))
प्रत्येक ब्लॉक के भीतर, हमने एक वेरिएबल में तीन लेनदेन की सूची (जीनस ब्लॉक को छोड़कर) संग्रहीत की है verified_transactions। हम इस सूची को एक में बदल देते हैंfor लूप और प्रत्येक प्राप्त आइटम के लिए, हम कॉल करते हैं display_transaction लेनदेन विवरण प्रदर्शित करने के लिए कार्य करते हैं।
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
संपूर्ण फ़ंक्शन की परिभाषा नीचे दी गई है -
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
print ("block # " + str(x))
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
print ('--------------')
print ('=====================================')
ध्यान दें कि यहां हमने विभाजकों को कोड में उपयुक्त बिंदुओं पर सम्मिलित किया है ताकि इसके भीतर ब्लॉक और लेनदेन का सीमांकन किया जा सके।
जैसा कि हमने अब स्टोरिंग ब्लॉक के लिए एक ब्लॉकचेन बनाया है, हमारा अगला काम ब्लॉक बनाना है और इसे ब्लॉकचेन में जोड़ना शुरू करना है। इस उद्देश्य के लिए, हम एक उत्पत्ति खंड जोड़ेंगे जो आपने पहले चरण में बनाया है।