บทเรียนที่ 2

ข้อมูลพื้นฐานเกี่ยวกับสัญญาอัจฉริยะที่แข็งแกร่ง

ยินดีต้อนรับสู่บทที่ 2! วันนี้ เราจะมาเจาะลึกโลกอันน่าทึ่งของการเขียนโปรแกรม Solidity และการสร้างสัญญาอัจฉริยะ เราจะสำรวจไวยากรณ์พื้นฐานของ Solidity ประเภทข้อมูล ตัวแปร และฟังก์ชัน นอกจากนี้ เราจะเขียนสัญญาอัจฉริยะฉบับแรกของเราและปรับใช้บน Nile Testnet โดยใช้ TronIDE และกระเป๋าเงิน TronLink ของเรา กระโดดเข้าไปเลย!

ข้อมูลเบื้องต้นเกี่ยวกับภาษาการเขียนโปรแกรม Solidity สำหรับสัญญาอัจฉริยะ

Solidity เป็นภาษาการเขียนโปรแกรมหลักสำหรับการสร้างสัญญาอัจฉริยะบน Tron และบล็อกเชนที่ใช้ Ethereum อื่นๆ ไวยากรณ์ของ Solidity นั้นคล้ายคลึงกับ JavaScript ทำให้ง่ายต่อการเรียนรู้สำหรับผู้ที่มีพื้นฐาน JavaScript

กิจกรรมที่ 1: ใช้เวลาประมาณ 20 นาทีเพื่ออ่านเอกสาร Solidity (https://docs.soliditylang.org/) เขียนความเหมือนหรือความแตกต่างที่คุณสังเกตเห็นระหว่าง Solidity และภาษาการเขียนโปรแกรมอื่นๆ ที่คุณรู้จัก

ไวยากรณ์ ชนิดข้อมูล ตัวแปร และฟังก์ชันใน Solidity

ใน Solidity เรามีประเภทข้อมูลที่หลากหลาย รวมถึง uint ที่อยู่ บูล และสตริง เรากำหนดตัวแปรเพื่อจัดเก็บข้อมูลและเขียนฟังก์ชันเพื่อจัดการข้อมูลนี้ เรามาสร้างสัญญาอัจฉริยะขั้นพื้นฐานกันดีกว่า เราจะสร้างสัญญาที่เก็บหมายเลขและอนุญาตให้เราดึงและเปลี่ยนแปลงหมายเลขนั้นได้

เปิด TronIDE และสร้างพื้นที่ทำงานใหม่ ในสัญญาฉบับแรกที่ชื่อว่า Storage.sol คุณจะพบรหัสนี้:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: GPL-3.0 

 ความแข็งแกร่งของ pragma >=0.7.0 <0.9.0; 

 /** 
 * @title Storage 
 * @dev จัดเก็บและดึงค่าในตัวแปร 
 */ 
 สัญญา Storage { 

 uint256 number; 

 /** 
 * @dev เก็บค่าในตัวแปร 
 * @param num ค่าเพื่อเก็บ 
 */ 
 function store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Return value 
 * @return value of 'หมายเลข' 
 */ 
 ฟังก์ชั่นดึงข้อมูล () มุมมองสาธารณะส่งคืน (uint256){
        return number;
    }
}

ในสัญญานี้ เราขอประกาศ:

  • number ตัวแปรสถานะประเภท uint256 (จำนวนเต็มที่ไม่ได้ลงนาม 256 บิต)
  • ฟังก์ชั่น store() ที่อัพเดตค่าของ number
  • ฟังก์ชัน retrieve() ที่ส่งคืนค่าปัจจุบันของ number

การเขียนและการปรับใช้สัญญาอัจฉริยะ Tron อย่างง่ายบน Nile Testnet

ตอนนี้เรามีสัญญาแล้ว เรามาปรับใช้บน Nile Testnet กันดีกว่า

  • ขั้นตอนที่ 1: รวบรวมสัญญาใน TronIDE โดยคลิกที่ไอคอนที่สองจากด้านบนบนแถบด้านข้างซ้าย (คอมไพล์)
  • ขั้นตอนที่ 2: ตรวจสอบให้แน่ใจว่ากระเป๋าเงิน TronLink ของคุณเชื่อมต่อกับ Nile Testnet

  • ขั้นตอนที่ 3: คลิกที่ไอคอนที่สามจากด้านบนบนแถบด้านข้างซ้ายใน TronIDE (ปรับใช้และเรียกใช้ธุรกรรม) เลือกสัญญาของคุณในเมนูแบบเลื่อนลง และคลิก 'ปรับใช้'

เอาล่ะ! สัญญาฉบับแรกของคุณเผยแพร่แล้วบน Nile Testnet!

การโต้ตอบกับสัญญาที่ปรับใช้

หลังจากปรับใช้สัญญาอัจฉริยะของคุณบน Nile Testnet ผ่าน TronIDE สำเร็จแล้ว ให้ทำตามขั้นตอนเหล่านี้:

  • ขั้นตอนที่ 1: เปิดแท็บ “ปรับใช้และเรียกใช้ธุรกรรม” ใน TronIDE นี่คือไอคอนที่ 3 จากด้านบนบนแถบด้านข้างซ้าย
  • ขั้นตอนที่ 2: ในส่วน “สัญญาที่ปรับใช้” ด้านล่าง คุณจะเห็นรายการสัญญาที่คุณได้ปรับใช้ ค้นหาสัญญาชื่อ “Storage” คลิกเพื่อขยายและดูฟังก์ชันของสัญญา
  • ขั้นตอนที่ 3: คุณจะเห็นสองฟังก์ชันในรายการ store() และ retrieve()
  • ขั้นตอนที่ 4: หากต้องการจัดเก็บตัวเลข ให้ป้อนหมายเลขที่ต้องการลงในช่องถัดจากฟังก์ชัน store() ตรวจสอบให้แน่ใจว่าตัวเลขอยู่ในช่วงที่ยอมรับได้สำหรับ uint256 (ระหว่าง 0 ถึงประมาณ 1.15x10^77) หลังจากที่คุณป้อนหมายเลขแล้ว ให้คลิกปุ่ม store() การทำธุรกรรมจะเริ่มขึ้น

  • ขั้นตอนที่ 5: การแจ้งเตือนของ TronLink จะปรากฏขึ้น เพื่อขอให้คุณยืนยันการทำธุรกรรมนี้ ยืนยันการทำธุรกรรม
  • ขั้นตอนที่ 6: หลังจากธุรกรรมได้รับการยืนยันแล้ว (คุณสามารถตรวจสอบสถานะได้ในประวัติการทำธุรกรรมกระเป๋าเงิน TronLink ของคุณ) จากนั้นคุณสามารถเรียกใช้ฟังก์ชัน retrieve() ได้ คลิกปุ่ม retrieve() ไม่จำเป็นต้องป้อนค่าใดๆ สำหรับฟังก์ชันนี้
  • ขั้นตอนที่ 7: การเรียกใช้ฟังก์ชัน retrieve() จะไม่สร้างธุรกรรมใหม่เนื่องจากเป็นฟังก์ชัน view (ไม่ได้แก้ไขสถานะสัญญา) คุณควรเห็นผลลัพธ์ที่แสดงในแท็บ "คอนโซล" ที่ด้านล่างของหน้าจอ TronIDE หมายเลขที่คุณเห็นควรเป็นหมายเลขเดียวกับหมายเลขที่คุณเก็บไว้โดยใช้ฟังก์ชัน store()

แค่นั้นแหละ! คุณได้โต้ตอบกับสัญญาที่ปรับใช้ของคุณ การโต้ตอบนี้เป็นส่วนสำคัญของวิธีที่ผู้ใช้โต้ตอบกับ dApps ของคุณ

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

ข้อมูลพื้นฐานเกี่ยวกับสัญญาอัจฉริยะที่แข็งแกร่ง

ยินดีต้อนรับสู่บทที่ 2! วันนี้ เราจะมาเจาะลึกโลกอันน่าทึ่งของการเขียนโปรแกรม Solidity และการสร้างสัญญาอัจฉริยะ เราจะสำรวจไวยากรณ์พื้นฐานของ Solidity ประเภทข้อมูล ตัวแปร และฟังก์ชัน นอกจากนี้ เราจะเขียนสัญญาอัจฉริยะฉบับแรกของเราและปรับใช้บน Nile Testnet โดยใช้ TronIDE และกระเป๋าเงิน TronLink ของเรา กระโดดเข้าไปเลย!

ข้อมูลเบื้องต้นเกี่ยวกับภาษาการเขียนโปรแกรม Solidity สำหรับสัญญาอัจฉริยะ

Solidity เป็นภาษาการเขียนโปรแกรมหลักสำหรับการสร้างสัญญาอัจฉริยะบน Tron และบล็อกเชนที่ใช้ Ethereum อื่นๆ ไวยากรณ์ของ Solidity นั้นคล้ายคลึงกับ JavaScript ทำให้ง่ายต่อการเรียนรู้สำหรับผู้ที่มีพื้นฐาน JavaScript

กิจกรรมที่ 1: ใช้เวลาประมาณ 20 นาทีเพื่ออ่านเอกสาร Solidity (https://docs.soliditylang.org/) เขียนความเหมือนหรือความแตกต่างที่คุณสังเกตเห็นระหว่าง Solidity และภาษาการเขียนโปรแกรมอื่นๆ ที่คุณรู้จัก

ไวยากรณ์ ชนิดข้อมูล ตัวแปร และฟังก์ชันใน Solidity

ใน Solidity เรามีประเภทข้อมูลที่หลากหลาย รวมถึง uint ที่อยู่ บูล และสตริง เรากำหนดตัวแปรเพื่อจัดเก็บข้อมูลและเขียนฟังก์ชันเพื่อจัดการข้อมูลนี้ เรามาสร้างสัญญาอัจฉริยะขั้นพื้นฐานกันดีกว่า เราจะสร้างสัญญาที่เก็บหมายเลขและอนุญาตให้เราดึงและเปลี่ยนแปลงหมายเลขนั้นได้

เปิด TronIDE และสร้างพื้นที่ทำงานใหม่ ในสัญญาฉบับแรกที่ชื่อว่า Storage.sol คุณจะพบรหัสนี้:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: GPL-3.0 

 ความแข็งแกร่งของ pragma >=0.7.0 <0.9.0; 

 /** 
 * @title Storage 
 * @dev จัดเก็บและดึงค่าในตัวแปร 
 */ 
 สัญญา Storage { 

 uint256 number; 

 /** 
 * @dev เก็บค่าในตัวแปร 
 * @param num ค่าเพื่อเก็บ 
 */ 
 function store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Return value 
 * @return value of 'หมายเลข' 
 */ 
 ฟังก์ชั่นดึงข้อมูล () มุมมองสาธารณะส่งคืน (uint256){
        return number;
    }
}

ในสัญญานี้ เราขอประกาศ:

  • number ตัวแปรสถานะประเภท uint256 (จำนวนเต็มที่ไม่ได้ลงนาม 256 บิต)
  • ฟังก์ชั่น store() ที่อัพเดตค่าของ number
  • ฟังก์ชัน retrieve() ที่ส่งคืนค่าปัจจุบันของ number

การเขียนและการปรับใช้สัญญาอัจฉริยะ Tron อย่างง่ายบน Nile Testnet

ตอนนี้เรามีสัญญาแล้ว เรามาปรับใช้บน Nile Testnet กันดีกว่า

  • ขั้นตอนที่ 1: รวบรวมสัญญาใน TronIDE โดยคลิกที่ไอคอนที่สองจากด้านบนบนแถบด้านข้างซ้าย (คอมไพล์)
  • ขั้นตอนที่ 2: ตรวจสอบให้แน่ใจว่ากระเป๋าเงิน TronLink ของคุณเชื่อมต่อกับ Nile Testnet

  • ขั้นตอนที่ 3: คลิกที่ไอคอนที่สามจากด้านบนบนแถบด้านข้างซ้ายใน TronIDE (ปรับใช้และเรียกใช้ธุรกรรม) เลือกสัญญาของคุณในเมนูแบบเลื่อนลง และคลิก 'ปรับใช้'

เอาล่ะ! สัญญาฉบับแรกของคุณเผยแพร่แล้วบน Nile Testnet!

การโต้ตอบกับสัญญาที่ปรับใช้

หลังจากปรับใช้สัญญาอัจฉริยะของคุณบน Nile Testnet ผ่าน TronIDE สำเร็จแล้ว ให้ทำตามขั้นตอนเหล่านี้:

  • ขั้นตอนที่ 1: เปิดแท็บ “ปรับใช้และเรียกใช้ธุรกรรม” ใน TronIDE นี่คือไอคอนที่ 3 จากด้านบนบนแถบด้านข้างซ้าย
  • ขั้นตอนที่ 2: ในส่วน “สัญญาที่ปรับใช้” ด้านล่าง คุณจะเห็นรายการสัญญาที่คุณได้ปรับใช้ ค้นหาสัญญาชื่อ “Storage” คลิกเพื่อขยายและดูฟังก์ชันของสัญญา
  • ขั้นตอนที่ 3: คุณจะเห็นสองฟังก์ชันในรายการ store() และ retrieve()
  • ขั้นตอนที่ 4: หากต้องการจัดเก็บตัวเลข ให้ป้อนหมายเลขที่ต้องการลงในช่องถัดจากฟังก์ชัน store() ตรวจสอบให้แน่ใจว่าตัวเลขอยู่ในช่วงที่ยอมรับได้สำหรับ uint256 (ระหว่าง 0 ถึงประมาณ 1.15x10^77) หลังจากที่คุณป้อนหมายเลขแล้ว ให้คลิกปุ่ม store() การทำธุรกรรมจะเริ่มขึ้น

  • ขั้นตอนที่ 5: การแจ้งเตือนของ TronLink จะปรากฏขึ้น เพื่อขอให้คุณยืนยันการทำธุรกรรมนี้ ยืนยันการทำธุรกรรม
  • ขั้นตอนที่ 6: หลังจากธุรกรรมได้รับการยืนยันแล้ว (คุณสามารถตรวจสอบสถานะได้ในประวัติการทำธุรกรรมกระเป๋าเงิน TronLink ของคุณ) จากนั้นคุณสามารถเรียกใช้ฟังก์ชัน retrieve() ได้ คลิกปุ่ม retrieve() ไม่จำเป็นต้องป้อนค่าใดๆ สำหรับฟังก์ชันนี้
  • ขั้นตอนที่ 7: การเรียกใช้ฟังก์ชัน retrieve() จะไม่สร้างธุรกรรมใหม่เนื่องจากเป็นฟังก์ชัน view (ไม่ได้แก้ไขสถานะสัญญา) คุณควรเห็นผลลัพธ์ที่แสดงในแท็บ "คอนโซล" ที่ด้านล่างของหน้าจอ TronIDE หมายเลขที่คุณเห็นควรเป็นหมายเลขเดียวกับหมายเลขที่คุณเก็บไว้โดยใช้ฟังก์ชัน store()

แค่นั้นแหละ! คุณได้โต้ตอบกับสัญญาที่ปรับใช้ของคุณ การโต้ตอบนี้เป็นส่วนสำคัญของวิธีที่ผู้ใช้โต้ตอบกับ dApps ของคุณ

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