Pelajaran 2

การสร้างโครงสร้างของบล็อคเชน

ในบทเรียนนี้ เราจะเน้นที่การสร้างโครงสร้างของบล็อกเชน เราจะกำหนดฟังก์ชันและวิธีการที่จำเป็นในการสร้างและจัดการบล็อก เพิ่มบล็อกในบล็อกเชน และตรวจสอบความสมบูรณ์ของห่วงโซ่

2.1 การสร้างคลาส Blockchain

  1. เปิดไฟล์ blockchain.py ในโปรแกรมแก้ไขโค้ดของคุณ

  2. กำหนดคลาส Blockchain : คลาสนี้จะเป็นตัวแทนของบล็อคเชนและมีวิธีการที่จำเป็นในการจัดการบล็อคและเชนเอง

    Python 
     pythonCopy รหัส 
     คลาส Blockchain: 
     def __init__(ตนเอง): 
     self.chain = []
    

    รหัสนี้กำหนดคลาส Blockchain โดยมีรายการว่างที่เรียกว่า chain เพื่อจัดเก็บบล็อก

2.2 การเพิ่มบล็อกให้กับ Blockchain

  1. ใช้วิธี add_block : วิธีการนี้จะใช้เพื่อเพิ่มบล็อกใน blockchain มันจะรับวัตถุบล็อกเป็นพารามิเตอร์และผนวกเข้ากับเชน

    Python 
     pythonCopy รหัส 
     คลาส Blockchain: 
     def __init__(self): 
     self.chain = [] 
    
     def add_block(self, block): 
     self.chain.append(block)
    

    รหัสนี้จะเพิ่มวิธี add_block ให้กับคลาส Blockchain

  2. ทดสอบการเพิ่มบล็อกในบล็อกเชน: ในส่วนหลักของโค้ดของคุณ หลังจากกำหนดคลาสแล้ว ให้สร้างอินสแตนซ์ใหม่ของคลาส Blockchain จากนั้นสร้างวัตถุบล็อกใหม่และเพิ่มลงในบล็อกเชนโดยใช้วิธี add_block
    ```
    หลาม
    รหัส pythonCopy
    บล็อกเชน = บล็อกเชน()

สร้างบล็อกใหม่

new_block = บล็อก (1, datetime.datetime.now(), “ข้อมูลตัวอย่าง”, “previous_hash”, 0)

เพิ่มบล็อกลงใน blockchain

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

สร้างบล็อกบางส่วนและเพิ่มลงใน blockchain# ตรวจสอบ blockchainif blockchain.is_valid():

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 ไม่ถูกต้อง")
```

รหัสนี้จะตรวจสอบบล็อคเชนและพิมพ์ผลลัพธ์

2.5 บทสรุป

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

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 2

การสร้างโครงสร้างของบล็อคเชน

ในบทเรียนนี้ เราจะเน้นที่การสร้างโครงสร้างของบล็อกเชน เราจะกำหนดฟังก์ชันและวิธีการที่จำเป็นในการสร้างและจัดการบล็อก เพิ่มบล็อกในบล็อกเชน และตรวจสอบความสมบูรณ์ของห่วงโซ่

2.1 การสร้างคลาส Blockchain

  1. เปิดไฟล์ blockchain.py ในโปรแกรมแก้ไขโค้ดของคุณ

  2. กำหนดคลาส Blockchain : คลาสนี้จะเป็นตัวแทนของบล็อคเชนและมีวิธีการที่จำเป็นในการจัดการบล็อคและเชนเอง

    Python 
     pythonCopy รหัส 
     คลาส Blockchain: 
     def __init__(ตนเอง): 
     self.chain = []
    

    รหัสนี้กำหนดคลาส Blockchain โดยมีรายการว่างที่เรียกว่า chain เพื่อจัดเก็บบล็อก

2.2 การเพิ่มบล็อกให้กับ Blockchain

  1. ใช้วิธี add_block : วิธีการนี้จะใช้เพื่อเพิ่มบล็อกใน blockchain มันจะรับวัตถุบล็อกเป็นพารามิเตอร์และผนวกเข้ากับเชน

    Python 
     pythonCopy รหัส 
     คลาส Blockchain: 
     def __init__(self): 
     self.chain = [] 
    
     def add_block(self, block): 
     self.chain.append(block)
    

    รหัสนี้จะเพิ่มวิธี add_block ให้กับคลาส Blockchain

  2. ทดสอบการเพิ่มบล็อกในบล็อกเชน: ในส่วนหลักของโค้ดของคุณ หลังจากกำหนดคลาสแล้ว ให้สร้างอินสแตนซ์ใหม่ของคลาส Blockchain จากนั้นสร้างวัตถุบล็อกใหม่และเพิ่มลงในบล็อกเชนโดยใช้วิธี add_block
    ```
    หลาม
    รหัส pythonCopy
    บล็อกเชน = บล็อกเชน()

สร้างบล็อกใหม่

new_block = บล็อก (1, datetime.datetime.now(), “ข้อมูลตัวอย่าง”, “previous_hash”, 0)

เพิ่มบล็อกลงใน blockchain

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

สร้างบล็อกบางส่วนและเพิ่มลงใน blockchain# ตรวจสอบ blockchainif blockchain.is_valid():

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 ไม่ถูกต้อง")
```

รหัสนี้จะตรวจสอบบล็อคเชนและพิมพ์ผลลัพธ์

2.5 บทสรุป

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

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.