Python Blockchain - คลาสบล็อก

บล็อกประกอบด้วยจำนวนธุรกรรมที่แตกต่างกัน เพื่อความง่ายในกรณีของเราเราจะถือว่าบล็อกนั้นประกอบด้วยจำนวนธุรกรรมคงที่ซึ่งก็คือสามในกรณีนี้ เนื่องจากบล็อกต้องการจัดเก็บรายการของธุรกรรมทั้งสามนี้เราจะประกาศตัวแปรอินสแตนซ์ที่เรียกว่าverified_transactions ดังต่อไปนี้ -

self.verified_transactions = []

เราได้ตั้งชื่อตัวแปรนี้ว่า verified_transactionsเพื่อระบุว่าเฉพาะธุรกรรมที่ตรวจสอบแล้วเท่านั้นที่จะถูกเพิ่มลงในบล็อก แต่ละบล็อกยังเก็บค่าแฮชของบล็อกก่อนหน้าเพื่อให้ห่วงโซ่ของบล็อกไม่เปลี่ยนรูป

ในการจัดเก็บแฮชก่อนหน้านี้เราประกาศตัวแปรอินสแตนซ์ดังนี้ -

self.previous_block_hash = ""

ในที่สุดเราก็ประกาศอีกหนึ่งตัวแปรที่เรียกว่า Nonce สำหรับจัดเก็บ nonce ที่ผู้ขุดสร้างขึ้นในระหว่างกระบวนการขุด

self.Nonce = ""

คำจำกัดความที่สมบูรณ์ของ Block ชั้นเรียนได้รับด้านล่าง -

class Block:
   def __init__(self):
      self.verified_transactions = []
      self.previous_block_hash = ""
      self.Nonce = ""

เนื่องจากแต่ละบล็อกต้องการค่าแฮชของบล็อกก่อนหน้าเราจึงประกาศตัวแปรส่วนกลางที่เรียกว่า last_block_hash ดังต่อไปนี้ -

last_block_hash = ""

ตอนนี้ให้เราสร้างบล็อกแรกของเราในบล็อกเชน