เปิดไฟล์ blockchain.py
ในโปรแกรมแก้ไขโค้ดของคุณ
กำหนดคลาส Blockchain
: คลาสนี้จะเป็นตัวแทนของบล็อคเชนและมีวิธีการที่จำเป็นในการจัดการบล็อคและเชนเอง
Python
pythonCopy รหัส
คลาส Blockchain:
def __init__(ตนเอง):
self.chain = []
รหัสนี้กำหนดคลาส Blockchain
โดยมีรายการว่างที่เรียกว่า chain
เพื่อจัดเก็บบล็อก
ใช้วิธี add_block
: วิธีการนี้จะใช้เพื่อเพิ่มบล็อกใน blockchain มันจะรับวัตถุบล็อกเป็นพารามิเตอร์และผนวกเข้ากับเชน
Python
pythonCopy รหัส
คลาส Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
รหัสนี้จะเพิ่มวิธี add_block
ให้กับคลาส Blockchain
ทดสอบการเพิ่มบล็อกในบล็อกเชน: ในส่วนหลักของโค้ดของคุณ หลังจากกำหนดคลาสแล้ว ให้สร้างอินสแตนซ์ใหม่ของคลาส Blockchain
จากนั้นสร้างวัตถุบล็อกใหม่และเพิ่มลงในบล็อกเชนโดยใช้วิธี add_block
```
หลาม
รหัส pythonCopy
บล็อกเชน = บล็อกเชน()
new_block = บล็อก (1, datetime.datetime.now(), “ข้อมูลตัวอย่าง”, “previous_hash”, 0)
blockchain.add_block(new_block)
โค้ดนี้สร้างอินสแตนซ์ใหม่ของคลาส `Blockchain` สร้างวัตถุบล็อกใหม่พร้อมข้อมูลตัวอย่างบางส่วน และเพิ่มลงในบล็อกเชนโดยใช้เมธอด `add_block`
## 2.3 การตรวจสอบความถูกต้องของบล็อคเชน
1.
ใช้วิธี `is_valid`: วิธีการนี้จะใช้ในการตรวจสอบความสมบูรณ์ของบล็อคเชน มันจะวนซ้ำแต่ละบล็อกในห่วงโซ่และตรวจสอบว่าแฮชของแต่ละบล็อกตรงกับแฮชของบล็อกก่อนหน้า
หลาม
รหัส pythonCopy
คลาสบล็อคเชน:
เริ่มต้น แน่นอน (ตนเอง):
ตนเอง.chain = []
def add_block (ตัวเอง, บล็อก):
self.chain.append (บล็อก)
def is_valid (ตนเอง):
สำหรับฉันอยู่ในช่วง (1, len (self.chain)):
current_block = self.chain[i]
Previous_block = self.chain [i - 1]
ถ้า current_block.previous_hash != Previous_block.hash():
กลับเท็จส่งกลับจริง
รหัสนี้จะเพิ่มเมธอด `is_valid` ให้กับคลาส 'Blockchain'
1.
ทดสอบการตรวจสอบความถูกต้องของบล็อคเชน: หลังจากเพิ่มบล็อคในบล็อคเชนแล้ว ให้เรียกใช้เมธอด `is_valid` เพื่อตรวจสอบว่าบล็อคเชนนั้นถูกต้องหรือไม่
หลาม
รหัส pythonCopy
print("บล็อคเชนถูกต้อง")
อื่น:
พิมพ์ (“บล็อคเชนไม่ถูกต้อง”)
รหัสนี้ตรวจสอบบล็อคเชนโดยการเรียกเมธอด `is_valid` และพิมพ์ข้อความที่เหมาะสมตามผลลัพธ์
## 2.4 การทดสอบบล็อคเชน
1.
เพิ่มบล็อคเพิ่มเติมให้กับบล็อคเชน: สร้างบล็อคเพิ่มเติมโดยใช้ข้อมูลที่แตกต่างกันและแฮชก่อนหน้า และเพิ่มลงในบล็อคเชนโดยใช้วิธี `add_block`
Python
pythonCopy รหัส
#สร้างบล็อกเพิ่มเติม
block2 = Block(2, datetime.datetime.now(), "ข้อมูลเพิ่มเติม", new_block.hash(), 0)
block3 = บล็อก (3, datetime.datetime.now(), "มีข้อมูลมากขึ้น", block2.hash(), 0)
#เพิ่มบล็อกในบล็อกเชน
blockchain.add_block(block2)
blockchain.add_block(block3)
รหัสนี้จะสร้างบล็อกเพิ่มเติมอีกสองบล็อกและเพิ่มลงในบล็อกเชน
1.
ทดสอบการตรวจสอบบล็อคเชนอีกครั้ง: หลังจากเพิ่มบล็อคใหม่แล้ว ให้เรียกใช้เมธอด `is_valid` เพื่อตรวจสอบความถูกต้องของบล็อคเชน
Python
รหัส pythonCopy
# ตรวจสอบ blockchainif blockchain.is_valid():
print("บล็อคเชนใช้ได้")
อื่น:
พิมพ์ ("Blockchain ไม่ถูกต้อง")
```
รหัสนี้จะตรวจสอบบล็อคเชนและพิมพ์ผลลัพธ์
ในบทเรียนนี้ เราได้สร้างโครงสร้างของบล็อกเชนของเราแล้ว เราสร้างคลาส Blockchain
และใช้วิธีการเพื่อเพิ่มบล็อกให้กับเชนและตรวจสอบความสมบูรณ์ของมัน นอกจากนี้เรายังทดสอบบล็อคเชนด้วยการเพิ่มบล็อคและตรวจสอบความถูกต้อง
เปิดไฟล์ blockchain.py
ในโปรแกรมแก้ไขโค้ดของคุณ
กำหนดคลาส Blockchain
: คลาสนี้จะเป็นตัวแทนของบล็อคเชนและมีวิธีการที่จำเป็นในการจัดการบล็อคและเชนเอง
Python
pythonCopy รหัส
คลาส Blockchain:
def __init__(ตนเอง):
self.chain = []
รหัสนี้กำหนดคลาส Blockchain
โดยมีรายการว่างที่เรียกว่า chain
เพื่อจัดเก็บบล็อก
ใช้วิธี add_block
: วิธีการนี้จะใช้เพื่อเพิ่มบล็อกใน blockchain มันจะรับวัตถุบล็อกเป็นพารามิเตอร์และผนวกเข้ากับเชน
Python
pythonCopy รหัส
คลาส Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
รหัสนี้จะเพิ่มวิธี add_block
ให้กับคลาส Blockchain
ทดสอบการเพิ่มบล็อกในบล็อกเชน: ในส่วนหลักของโค้ดของคุณ หลังจากกำหนดคลาสแล้ว ให้สร้างอินสแตนซ์ใหม่ของคลาส Blockchain
จากนั้นสร้างวัตถุบล็อกใหม่และเพิ่มลงในบล็อกเชนโดยใช้วิธี add_block
```
หลาม
รหัส pythonCopy
บล็อกเชน = บล็อกเชน()
new_block = บล็อก (1, datetime.datetime.now(), “ข้อมูลตัวอย่าง”, “previous_hash”, 0)
blockchain.add_block(new_block)
โค้ดนี้สร้างอินสแตนซ์ใหม่ของคลาส `Blockchain` สร้างวัตถุบล็อกใหม่พร้อมข้อมูลตัวอย่างบางส่วน และเพิ่มลงในบล็อกเชนโดยใช้เมธอด `add_block`
## 2.3 การตรวจสอบความถูกต้องของบล็อคเชน
1.
ใช้วิธี `is_valid`: วิธีการนี้จะใช้ในการตรวจสอบความสมบูรณ์ของบล็อคเชน มันจะวนซ้ำแต่ละบล็อกในห่วงโซ่และตรวจสอบว่าแฮชของแต่ละบล็อกตรงกับแฮชของบล็อกก่อนหน้า
หลาม
รหัส pythonCopy
คลาสบล็อคเชน:
เริ่มต้น แน่นอน (ตนเอง):
ตนเอง.chain = []
def add_block (ตัวเอง, บล็อก):
self.chain.append (บล็อก)
def is_valid (ตนเอง):
สำหรับฉันอยู่ในช่วง (1, len (self.chain)):
current_block = self.chain[i]
Previous_block = self.chain [i - 1]
ถ้า current_block.previous_hash != Previous_block.hash():
กลับเท็จส่งกลับจริง
รหัสนี้จะเพิ่มเมธอด `is_valid` ให้กับคลาส 'Blockchain'
1.
ทดสอบการตรวจสอบความถูกต้องของบล็อคเชน: หลังจากเพิ่มบล็อคในบล็อคเชนแล้ว ให้เรียกใช้เมธอด `is_valid` เพื่อตรวจสอบว่าบล็อคเชนนั้นถูกต้องหรือไม่
หลาม
รหัส pythonCopy
print("บล็อคเชนถูกต้อง")
อื่น:
พิมพ์ (“บล็อคเชนไม่ถูกต้อง”)
รหัสนี้ตรวจสอบบล็อคเชนโดยการเรียกเมธอด `is_valid` และพิมพ์ข้อความที่เหมาะสมตามผลลัพธ์
## 2.4 การทดสอบบล็อคเชน
1.
เพิ่มบล็อคเพิ่มเติมให้กับบล็อคเชน: สร้างบล็อคเพิ่มเติมโดยใช้ข้อมูลที่แตกต่างกันและแฮชก่อนหน้า และเพิ่มลงในบล็อคเชนโดยใช้วิธี `add_block`
Python
pythonCopy รหัส
#สร้างบล็อกเพิ่มเติม
block2 = Block(2, datetime.datetime.now(), "ข้อมูลเพิ่มเติม", new_block.hash(), 0)
block3 = บล็อก (3, datetime.datetime.now(), "มีข้อมูลมากขึ้น", block2.hash(), 0)
#เพิ่มบล็อกในบล็อกเชน
blockchain.add_block(block2)
blockchain.add_block(block3)
รหัสนี้จะสร้างบล็อกเพิ่มเติมอีกสองบล็อกและเพิ่มลงในบล็อกเชน
1.
ทดสอบการตรวจสอบบล็อคเชนอีกครั้ง: หลังจากเพิ่มบล็อคใหม่แล้ว ให้เรียกใช้เมธอด `is_valid` เพื่อตรวจสอบความถูกต้องของบล็อคเชน
Python
รหัส pythonCopy
# ตรวจสอบ blockchainif blockchain.is_valid():
print("บล็อคเชนใช้ได้")
อื่น:
พิมพ์ ("Blockchain ไม่ถูกต้อง")
```
รหัสนี้จะตรวจสอบบล็อคเชนและพิมพ์ผลลัพธ์
ในบทเรียนนี้ เราได้สร้างโครงสร้างของบล็อกเชนของเราแล้ว เราสร้างคลาส Blockchain
และใช้วิธีการเพื่อเพิ่มบล็อกให้กับเชนและตรวจสอบความสมบูรณ์ของมัน นอกจากนี้เรายังทดสอบบล็อคเชนด้วยการเพิ่มบล็อคและตรวจสอบความถูกต้อง