บทเรียนที่ 1

ยินดีต้อนรับสู่การเขียนโปรแกรม SmartPy และ Tezos

โดยสรุป บทเรียนนี้ได้แนะนำให้คุณรู้จักกับบล็อกเชนของ Tezos และ SmartPy ซึ่งเป็นภาษาสัญญาอัจฉริยะสำหรับ Tezos คุณได้เขียน ทำความเข้าใจ และทดสอบสัญญา SmartPy ฉบับแรกของคุณแล้ว นี่เป็นเพียงจุดเริ่มต้น มีอะไรอีกมากมายให้เรียนรู้และทำกับ SmartPy และ Tezos

ข้อมูลเบื้องต้นเกี่ยวกับ Blockchain, Tezos และ SmartPy

พื้นฐานบล็อคเชน

ก่อนที่เราจะสามารถเข้าใจ Tezos และ SmartPy ได้อย่างสมบูรณ์ เราต้องเข้าใจเทคโนโลยีที่เป็นรากฐานของทุกสิ่งก่อน: บล็อกเชน บล็อกเชนคือกลุ่มของบล็อก โดยแต่ละบล็อกประกอบด้วยรายการธุรกรรม เทคโนโลยีบล็อคเชนจัดให้มีฐานข้อมูลแบบกระจายอำนาจหรือ “บัญชีแยกประเภทดิจิทัล” ของธุรกรรมที่ผู้เข้าร่วมเครือข่ายทั้งหมดสามารถมองเห็นได้ สถาปัตยกรรมรับประกันว่าทุกธุรกรรมจะไม่ซ้ำกัน และเมื่อบันทึกลงในฐานข้อมูลแล้ว จะไม่สามารถเปลี่ยนแปลงได้

ข้อมูลเบื้องต้นเกี่ยวกับ Tezos

Tezos เป็นหนึ่งในแพลตฟอร์มบล็อคเชน สิ่งที่ทำให้ Tezos แตกต่างจากแพลตฟอร์มบล็อกเชนอื่นๆ เช่น Bitcoin หรือ Ethereum คือการเน้นที่ "การแก้ไขด้วยตนเอง" ซึ่งช่วยให้โปรโตคอลอัปเกรดตัวเองได้โดยไม่ต้องใช้ฮาร์ดฟอร์ค นี่เป็นประโยชน์ที่สำคัญเนื่องจากทำให้โปรโตคอลสามารถปรับตัวได้และรองรับอนาคต

Tezos ยังเสนอแพลตฟอร์มสำหรับสัญญาอัจฉริยะ ซึ่งเป็นสัญญาที่ดำเนินการด้วยตนเองโดยมีข้อตกลงระหว่างผู้ซื้อและผู้ขายเขียนเป็นบรรทัดรหัสโดยตรง ความสามารถในการจัดการและตรวจสอบข้อตกลงดิจิทัลนี้นำเสนอแอปพลิเคชันที่เป็นไปได้ที่หลากหลาย ตั้งแต่บริการทางการเงิน ห่วงโซ่อุปทาน ไปจนถึงแอปพลิเคชันแบบกระจายอำนาจ (DApps) อ่านเพิ่มเติมเกี่ยวกับ Tezos: Tezos คืออะไร? ทั้งหมดที่คุณต้องรู้เกี่ยวกับ XTZ

SmartPy: ภาษาสัญญาอัจฉริยะสำหรับ Tezos

ในการสร้างสัญญาอัจฉริยะบน Tezos เราใช้ภาษาที่เรียกว่า SmartPy SmartPy เป็นไลบรารี Python เพื่อพัฒนาสัญญาอัจฉริยะสำหรับบล็อกเชน Tezos เป็นภาษาที่ใช้งานง่ายและมีประสิทธิภาพสำหรับการแสดงสัญญาและสถานการณ์การทดสอบที่เกี่ยวข้อง

คุณสมบัติที่โดดเด่นที่สุดของ SmartPy คือการทำงานร่วมกับ Python ซึ่งเป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมและเติบโตเร็วที่สุดในโลก หากคุณคุ้นเคยกับ Python อยู่แล้ว คุณจะพบว่า SmartPy ใช้งานได้ง่าย

เริ่มต้นใช้งาน SmartPy และสัญญาฉบับแรกของคุณ

การเข้าถึง SmartPy IDE

SmartPy มี Integrated Development Environment (IDE) ที่มีคุณสมบัติครบถ้วนซึ่งสามารถเข้าถึงได้จากเว็บเบราว์เซอร์ของคุณ ไปที่ SmartPy IDE เพื่อเริ่มเขียนสัญญาอัจฉริยะฉบับแรกของคุณ

การเขียนสัญญาฉบับแรกของคุณ

ใน SmartPy IDE คุณจะพบหน้าต่างแก้ไขที่คุณสามารถป้อนรหัสสัญญาของคุณได้ เริ่มต้นด้วยการเขียนสัญญาพื้นฐาน คัดลอกและวางโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข SmartPy:

Python 
 นำเข้า smartpy เป็น sp 

 # โมดูล SmartPy 
 @sp.module 
 def main(): 
 # คลาสของสัญญา 
 คลาส MyContract(sp.Contract): 
 def __init__(self, myParameter1, myParameter2): 
 self.data.myParameter1 = myParameter1 
 self.data.myParameter2 = myParameter2 

 # จุดเข้าใช้งาน เช่น ตัวรับข้อความ 
 # (สัญญาตอบสนองต่อข้อความ) 
 @sp.entrypoint 
 def myEntryPoint(self, params): 
 assert self.data.myParameter1 <= 123 
 self.data.myParameter1 += พารามิเตอร์

การทำความเข้าใจสัญญา

รหัสสัญญานี้มีส่วนสำคัญหลายประการ:

  • import smartpy as sp - สิ่งนี้จะนำเข้าไลบรารี SmartPy เพื่อให้เราสามารถใช้เพื่อเขียนสัญญาของเรา
  • @sp.module - มัณฑนากรนี้บอกล่าม SmartPy ว่าฟังก์ชันนี้จะมีสัญญา SmartPy
  • class MyContract(sp.Contract): - ที่นี่เรากำหนดคลาสใหม่ (พิมพ์เขียวสำหรับการสร้างอ็อบเจ็กต์ใหม่) สำหรับสัญญาของเรา โดยสืบทอดมาจากซูเปอร์คลาส sp.Contract ซึ่งมีฟังก์ชันที่มีประโยชน์มากมายสำหรับการจัดการสถานะของสัญญาและกำหนดลักษณะการทำงานของสัญญา
  • self.data.myParameter1 = myParameter1 และ self.data.myParameter2 = myParameter2 - ที่นี่เรากำลังกำหนดสถานะเริ่มต้นของสัญญาของเรา พารามิเตอร์ทั้งสองนี้จะถูกส่งไปยังสัญญาเมื่อมีการปรับใช้กับบล็อกเชน
  • @sp.entrypoint - มัณฑนากรนี้บอกล่ามว่าฟังก์ชันต่อไปนี้ (myEntryPoint) เป็นจุดเริ่มต้นของสัญญาของเรา จุดเริ่มต้นคือวิธีที่เราโต้ตอบกับสัญญาของเราเมื่อมีการปรับใช้
  • self.data.myParameter1 += params - บรรทัดของโค้ดนี้จะเพิ่ม myParameter1 ตามจำนวนที่ส่งไปยัง myEntryPoint

การทดสอบสัญญา

ส่วนสำคัญของการเขียนสัญญาคือการทดสอบสัญญาอย่างละเอียด การทดสอบใน SmartPy ถูกรวมเข้ากับกระบวนการพัฒนา ต่อไปนี้คือวิธีที่คุณสามารถเพิ่มการทดสอบลงในสัญญา:

Python 
 # Tests 
 @sp.add_test(name="Welcome") 
 def test(): 
 # เรากำหนดสถานการณ์การทดสอบ พร้อมด้วยเอาต์พุตบางส่วนและตรวจสอบ 
 # สถานการณ์จำลองใช้โมดูลเป็นพารามิเตอร์ 
 สถานการณ์ = sp .test_scenario(หลัก)
    Scenario.h1("ยินดีต้อนรับ")

    # ก่อนอื่น เรากำหนดสัญญาและเพิ่มเข้าไปในสถานการณ์จำลอง 
 c1 = main.MyContract(12, 123) 
 สถานการณ์ += c1 

 # และเรียกจุดเข้าใช้งานบางส่วน 
 c1.myEntryPoint(12) 
 c1.myEntryPoint(13) 
 c1.myEntryPoint (14) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50). run (ถูกต้อง = เท็จ)  # คาดว่าจะล้มเหลว 

 # ในที่สุด เราจะตรวจสอบที่เก็บข้อมูลขั้นสุดท้าย 
 สถานการณ์ ตรวจสอบ (c1.data.myParameter1 == 151) 

 # เราสามารถกำหนดสัญญาอื่นโดยใช้สถานะปัจจุบันของ c1 
 c2 = main.MyContract(1, c1.data.myParameter1)
    สถานการณ์ += c2 
 สถานการณ์ ตรวจสอบ (c2.data.myParameter2 == 151)

ดำเนินการตามสัญญาและการทดสอบ

สัญญาฉบับสมบูรณ์ของคุณตอนนี้ควรเป็นดังนี้:

Python 
 นำเข้า smartpy เป็น sp 

 # นี่คือโปรแกรมแก้ไข SmartPy
# คุณสามารถทดลองกับ SmartPy ได้โดยการโหลดเทมเพลต
# (ในเมนูคำสั่งด้านบนตัวแก้ไขนี้) 
 # 
 # โปรแกรม SmartPy ทั่วไปมีรูปแบบดังต่อไปนี้: 


 # โมดูล SmartPy 
 @sp.module 
 def main(): 
 # คลาสของสัญญา 
 คลาส MyContract(sp .สัญญา): 
 def __init__(ตนเอง, myParameter1, myParameter2): 
 self.data.myParameter1 = myParameter1 
 self.data.myParameter2 = myParameter2 

 # จุดเข้าใช้งาน เช่น ตัวรับข้อความ 
 # (สัญญาตอบสนองต่อข้อความ) 
 @sp.entrypoint 
 def myEntryPoint(self, params): 
 assert self.data.myParameter1 <= 123 
 self.data.myParameter1 += params 


 # Tests 
 @sp.add_test(name="Welcome") 
 def test(): 
 # เรากำหนดสถานการณ์การทดสอบ พร้อมด้วยเอาต์พุตบางส่วนและตรวจสอบ 
 # สถานการณ์จำลองใช้โมดูลเป็นพารามิเตอร์ 
 สถานการณ์ = sp.test_scenario(หลัก)
    Scenario.h1("ยินดีต้อนรับ")

    # ก่อนอื่น เรากำหนดสัญญาและเพิ่มเข้าไปในสถานการณ์จำลอง 
 c1 = main.MyContract(12, 123) 
 สถานการณ์ += c1 

 # และเรียกจุดเข้าใช้งานบางส่วน 
 c1.myEntryPoint(12) 
 c1.myEntryPoint(13) 
 c1.myEntryPoint (14) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50). run (ถูกต้อง = เท็จ)  # คาดว่าจะล้มเหลว 

 # ในที่สุด เราจะตรวจสอบที่เก็บข้อมูลขั้นสุดท้าย 
 สถานการณ์ ตรวจสอบ (c1.data.myParameter1 == 151) 

 # เราสามารถกำหนดสัญญาอื่นโดยใช้สถานะปัจจุบันของ c1 
 c2 = main.MyContract(1, c1.data.myParameter1)
    สถานการณ์ += c2 
 สถานการณ์ ตรวจสอบ (c2.data.myParameter2 == 151)

เมื่อคุณเขียนสัญญาและการทดสอบแล้ว คุณสามารถเรียกใช้สัญญาและการทดสอบได้โดยตรงใน IDE คลิกปุ่ม "Run" ที่มุมขวาบนของ IDE IDE จะรวบรวมสัญญาของคุณ รันการทดสอบ และแสดงผลลัพธ์พร้อมกับคำอธิบายโดยละเอียดของการดำเนินการแต่ละรายการและการเปลี่ยนแปลงสถานะ

โดยสรุป บทเรียนนี้ได้แนะนำให้คุณรู้จักกับบล็อกเชนของ Tezos และ SmartPy ซึ่งเป็นภาษาสัญญาอัจฉริยะสำหรับ Tezos คุณได้เขียน ทำความเข้าใจ และทดสอบสัญญา SmartPy ฉบับแรกของคุณแล้ว นี่เป็นเพียงจุดเริ่มต้น มีอะไรอีกมากมายให้เรียนรู้และทำกับ SmartPy และ Tezos เราหวังว่าคุณจะตื่นเต้นที่จะเดินทางต่อไปกับเราในบทเรียนที่กำลังจะมาถึง!

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 1

ยินดีต้อนรับสู่การเขียนโปรแกรม SmartPy และ Tezos

โดยสรุป บทเรียนนี้ได้แนะนำให้คุณรู้จักกับบล็อกเชนของ Tezos และ SmartPy ซึ่งเป็นภาษาสัญญาอัจฉริยะสำหรับ Tezos คุณได้เขียน ทำความเข้าใจ และทดสอบสัญญา SmartPy ฉบับแรกของคุณแล้ว นี่เป็นเพียงจุดเริ่มต้น มีอะไรอีกมากมายให้เรียนรู้และทำกับ SmartPy และ Tezos

ข้อมูลเบื้องต้นเกี่ยวกับ Blockchain, Tezos และ SmartPy

พื้นฐานบล็อคเชน

ก่อนที่เราจะสามารถเข้าใจ Tezos และ SmartPy ได้อย่างสมบูรณ์ เราต้องเข้าใจเทคโนโลยีที่เป็นรากฐานของทุกสิ่งก่อน: บล็อกเชน บล็อกเชนคือกลุ่มของบล็อก โดยแต่ละบล็อกประกอบด้วยรายการธุรกรรม เทคโนโลยีบล็อคเชนจัดให้มีฐานข้อมูลแบบกระจายอำนาจหรือ “บัญชีแยกประเภทดิจิทัล” ของธุรกรรมที่ผู้เข้าร่วมเครือข่ายทั้งหมดสามารถมองเห็นได้ สถาปัตยกรรมรับประกันว่าทุกธุรกรรมจะไม่ซ้ำกัน และเมื่อบันทึกลงในฐานข้อมูลแล้ว จะไม่สามารถเปลี่ยนแปลงได้

ข้อมูลเบื้องต้นเกี่ยวกับ Tezos

Tezos เป็นหนึ่งในแพลตฟอร์มบล็อคเชน สิ่งที่ทำให้ Tezos แตกต่างจากแพลตฟอร์มบล็อกเชนอื่นๆ เช่น Bitcoin หรือ Ethereum คือการเน้นที่ "การแก้ไขด้วยตนเอง" ซึ่งช่วยให้โปรโตคอลอัปเกรดตัวเองได้โดยไม่ต้องใช้ฮาร์ดฟอร์ค นี่เป็นประโยชน์ที่สำคัญเนื่องจากทำให้โปรโตคอลสามารถปรับตัวได้และรองรับอนาคต

Tezos ยังเสนอแพลตฟอร์มสำหรับสัญญาอัจฉริยะ ซึ่งเป็นสัญญาที่ดำเนินการด้วยตนเองโดยมีข้อตกลงระหว่างผู้ซื้อและผู้ขายเขียนเป็นบรรทัดรหัสโดยตรง ความสามารถในการจัดการและตรวจสอบข้อตกลงดิจิทัลนี้นำเสนอแอปพลิเคชันที่เป็นไปได้ที่หลากหลาย ตั้งแต่บริการทางการเงิน ห่วงโซ่อุปทาน ไปจนถึงแอปพลิเคชันแบบกระจายอำนาจ (DApps) อ่านเพิ่มเติมเกี่ยวกับ Tezos: Tezos คืออะไร? ทั้งหมดที่คุณต้องรู้เกี่ยวกับ XTZ

SmartPy: ภาษาสัญญาอัจฉริยะสำหรับ Tezos

ในการสร้างสัญญาอัจฉริยะบน Tezos เราใช้ภาษาที่เรียกว่า SmartPy SmartPy เป็นไลบรารี Python เพื่อพัฒนาสัญญาอัจฉริยะสำหรับบล็อกเชน Tezos เป็นภาษาที่ใช้งานง่ายและมีประสิทธิภาพสำหรับการแสดงสัญญาและสถานการณ์การทดสอบที่เกี่ยวข้อง

คุณสมบัติที่โดดเด่นที่สุดของ SmartPy คือการทำงานร่วมกับ Python ซึ่งเป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมและเติบโตเร็วที่สุดในโลก หากคุณคุ้นเคยกับ Python อยู่แล้ว คุณจะพบว่า SmartPy ใช้งานได้ง่าย

เริ่มต้นใช้งาน SmartPy และสัญญาฉบับแรกของคุณ

การเข้าถึง SmartPy IDE

SmartPy มี Integrated Development Environment (IDE) ที่มีคุณสมบัติครบถ้วนซึ่งสามารถเข้าถึงได้จากเว็บเบราว์เซอร์ของคุณ ไปที่ SmartPy IDE เพื่อเริ่มเขียนสัญญาอัจฉริยะฉบับแรกของคุณ

การเขียนสัญญาฉบับแรกของคุณ

ใน SmartPy IDE คุณจะพบหน้าต่างแก้ไขที่คุณสามารถป้อนรหัสสัญญาของคุณได้ เริ่มต้นด้วยการเขียนสัญญาพื้นฐาน คัดลอกและวางโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข SmartPy:

Python 
 นำเข้า smartpy เป็น sp 

 # โมดูล SmartPy 
 @sp.module 
 def main(): 
 # คลาสของสัญญา 
 คลาส MyContract(sp.Contract): 
 def __init__(self, myParameter1, myParameter2): 
 self.data.myParameter1 = myParameter1 
 self.data.myParameter2 = myParameter2 

 # จุดเข้าใช้งาน เช่น ตัวรับข้อความ 
 # (สัญญาตอบสนองต่อข้อความ) 
 @sp.entrypoint 
 def myEntryPoint(self, params): 
 assert self.data.myParameter1 <= 123 
 self.data.myParameter1 += พารามิเตอร์

การทำความเข้าใจสัญญา

รหัสสัญญานี้มีส่วนสำคัญหลายประการ:

  • import smartpy as sp - สิ่งนี้จะนำเข้าไลบรารี SmartPy เพื่อให้เราสามารถใช้เพื่อเขียนสัญญาของเรา
  • @sp.module - มัณฑนากรนี้บอกล่าม SmartPy ว่าฟังก์ชันนี้จะมีสัญญา SmartPy
  • class MyContract(sp.Contract): - ที่นี่เรากำหนดคลาสใหม่ (พิมพ์เขียวสำหรับการสร้างอ็อบเจ็กต์ใหม่) สำหรับสัญญาของเรา โดยสืบทอดมาจากซูเปอร์คลาส sp.Contract ซึ่งมีฟังก์ชันที่มีประโยชน์มากมายสำหรับการจัดการสถานะของสัญญาและกำหนดลักษณะการทำงานของสัญญา
  • self.data.myParameter1 = myParameter1 และ self.data.myParameter2 = myParameter2 - ที่นี่เรากำลังกำหนดสถานะเริ่มต้นของสัญญาของเรา พารามิเตอร์ทั้งสองนี้จะถูกส่งไปยังสัญญาเมื่อมีการปรับใช้กับบล็อกเชน
  • @sp.entrypoint - มัณฑนากรนี้บอกล่ามว่าฟังก์ชันต่อไปนี้ (myEntryPoint) เป็นจุดเริ่มต้นของสัญญาของเรา จุดเริ่มต้นคือวิธีที่เราโต้ตอบกับสัญญาของเราเมื่อมีการปรับใช้
  • self.data.myParameter1 += params - บรรทัดของโค้ดนี้จะเพิ่ม myParameter1 ตามจำนวนที่ส่งไปยัง myEntryPoint

การทดสอบสัญญา

ส่วนสำคัญของการเขียนสัญญาคือการทดสอบสัญญาอย่างละเอียด การทดสอบใน SmartPy ถูกรวมเข้ากับกระบวนการพัฒนา ต่อไปนี้คือวิธีที่คุณสามารถเพิ่มการทดสอบลงในสัญญา:

Python 
 # Tests 
 @sp.add_test(name="Welcome") 
 def test(): 
 # เรากำหนดสถานการณ์การทดสอบ พร้อมด้วยเอาต์พุตบางส่วนและตรวจสอบ 
 # สถานการณ์จำลองใช้โมดูลเป็นพารามิเตอร์ 
 สถานการณ์ = sp .test_scenario(หลัก)
    Scenario.h1("ยินดีต้อนรับ")

    # ก่อนอื่น เรากำหนดสัญญาและเพิ่มเข้าไปในสถานการณ์จำลอง 
 c1 = main.MyContract(12, 123) 
 สถานการณ์ += c1 

 # และเรียกจุดเข้าใช้งานบางส่วน 
 c1.myEntryPoint(12) 
 c1.myEntryPoint(13) 
 c1.myEntryPoint (14) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50). run (ถูกต้อง = เท็จ)  # คาดว่าจะล้มเหลว 

 # ในที่สุด เราจะตรวจสอบที่เก็บข้อมูลขั้นสุดท้าย 
 สถานการณ์ ตรวจสอบ (c1.data.myParameter1 == 151) 

 # เราสามารถกำหนดสัญญาอื่นโดยใช้สถานะปัจจุบันของ c1 
 c2 = main.MyContract(1, c1.data.myParameter1)
    สถานการณ์ += c2 
 สถานการณ์ ตรวจสอบ (c2.data.myParameter2 == 151)

ดำเนินการตามสัญญาและการทดสอบ

สัญญาฉบับสมบูรณ์ของคุณตอนนี้ควรเป็นดังนี้:

Python 
 นำเข้า smartpy เป็น sp 

 # นี่คือโปรแกรมแก้ไข SmartPy
# คุณสามารถทดลองกับ SmartPy ได้โดยการโหลดเทมเพลต
# (ในเมนูคำสั่งด้านบนตัวแก้ไขนี้) 
 # 
 # โปรแกรม SmartPy ทั่วไปมีรูปแบบดังต่อไปนี้: 


 # โมดูล SmartPy 
 @sp.module 
 def main(): 
 # คลาสของสัญญา 
 คลาส MyContract(sp .สัญญา): 
 def __init__(ตนเอง, myParameter1, myParameter2): 
 self.data.myParameter1 = myParameter1 
 self.data.myParameter2 = myParameter2 

 # จุดเข้าใช้งาน เช่น ตัวรับข้อความ 
 # (สัญญาตอบสนองต่อข้อความ) 
 @sp.entrypoint 
 def myEntryPoint(self, params): 
 assert self.data.myParameter1 <= 123 
 self.data.myParameter1 += params 


 # Tests 
 @sp.add_test(name="Welcome") 
 def test(): 
 # เรากำหนดสถานการณ์การทดสอบ พร้อมด้วยเอาต์พุตบางส่วนและตรวจสอบ 
 # สถานการณ์จำลองใช้โมดูลเป็นพารามิเตอร์ 
 สถานการณ์ = sp.test_scenario(หลัก)
    Scenario.h1("ยินดีต้อนรับ")

    # ก่อนอื่น เรากำหนดสัญญาและเพิ่มเข้าไปในสถานการณ์จำลอง 
 c1 = main.MyContract(12, 123) 
 สถานการณ์ += c1 

 # และเรียกจุดเข้าใช้งานบางส่วน 
 c1.myEntryPoint(12) 
 c1.myEntryPoint(13) 
 c1.myEntryPoint (14) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50) 
 c1.myEntryPoint (50). run (ถูกต้อง = เท็จ)  # คาดว่าจะล้มเหลว 

 # ในที่สุด เราจะตรวจสอบที่เก็บข้อมูลขั้นสุดท้าย 
 สถานการณ์ ตรวจสอบ (c1.data.myParameter1 == 151) 

 # เราสามารถกำหนดสัญญาอื่นโดยใช้สถานะปัจจุบันของ c1 
 c2 = main.MyContract(1, c1.data.myParameter1)
    สถานการณ์ += c2 
 สถานการณ์ ตรวจสอบ (c2.data.myParameter2 == 151)

เมื่อคุณเขียนสัญญาและการทดสอบแล้ว คุณสามารถเรียกใช้สัญญาและการทดสอบได้โดยตรงใน IDE คลิกปุ่ม "Run" ที่มุมขวาบนของ IDE IDE จะรวบรวมสัญญาของคุณ รันการทดสอบ และแสดงผลลัพธ์พร้อมกับคำอธิบายโดยละเอียดของการดำเนินการแต่ละรายการและการเปลี่ยนแปลงสถานะ

โดยสรุป บทเรียนนี้ได้แนะนำให้คุณรู้จักกับบล็อกเชนของ Tezos และ SmartPy ซึ่งเป็นภาษาสัญญาอัจฉริยะสำหรับ Tezos คุณได้เขียน ทำความเข้าใจ และทดสอบสัญญา SmartPy ฉบับแรกของคุณแล้ว นี่เป็นเพียงจุดเริ่มต้น มีอะไรอีกมากมายให้เรียนรู้และทำกับ SmartPy และ Tezos เราหวังว่าคุณจะตื่นเต้นที่จะเดินทางต่อไปกับเราในบทเรียนที่กำลังจะมาถึง!

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.