Python กำลังสร้าง Blockchain
บล็อกเชนประกอบด้วยรายการบล็อกที่เชื่อมโยงกัน ในการจัดเก็บรายการทั้งหมดเราจะสร้างตัวแปรรายการที่เรียกว่า TPCoins -
TPCoins = []
เราจะเขียนวิธียูทิลิตี้ที่เรียกว่า dump_blockchainสำหรับการทิ้งเนื้อหาของบล็อคเชนทั้งหมด ก่อนอื่นเราพิมพ์ความยาวของบล็อกเชนเพื่อให้เราทราบว่าปัจจุบันมีบล็อกเชนอยู่กี่บล็อก
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
โปรดทราบว่าเมื่อเวลาผ่านไปจำนวนบล็อกในบล็อกเชนจะสูงเป็นพิเศษสำหรับการพิมพ์ ดังนั้นเมื่อคุณพิมพ์เนื้อหาของ blockchain คุณอาจต้องตัดสินใจเกี่ยวกับช่วงที่คุณต้องการตรวจสอบ ในโค้ดด้านล่างนี้เราได้พิมพ์บล็อคเชนทั้งหมดเนื่องจากเราจะไม่เพิ่มบล็อกมากเกินไปในการสาธิตปัจจุบัน
เราตั้งค่าไฟล์ 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 ('=====================================')
โปรดทราบว่าที่นี่เราได้แทรกตัวคั่นตามจุดที่เหมาะสมในรหัสเพื่อแบ่งเขตการบล็อกและธุรกรรมภายใน
เนื่องจากตอนนี้เราได้สร้าง blockchain สำหรับจัดเก็บบล็อกแล้วงานต่อไปของเราคือการสร้างบล็อกและเริ่มเพิ่มลงใน blockchain เพื่อจุดประสงค์นี้เราจะเพิ่มบล็อกการกำเนิดที่คุณได้สร้างไว้แล้วในขั้นตอนก่อนหน้านี้