บทเรียนที่ 2

ทำความเข้าใจต้นทุนก๊าซ

ยินดีต้อนรับกลับ! ตอนนี้คุณมีความเข้าใจพื้นฐานเกี่ยวกับก๊าซและโต้ตอบกับสัญญาอัจฉริยะขั้นพื้นฐานแล้ว ก็ถึงเวลาเจาะลึกลงไปในความซับซ้อนของต้นทุนก๊าซ บทเรียนนี้จะแนะนำคุณตลอดการดำเนินงานด้านก๊าซขั้นพื้นฐานใน Ethereum และสอนวิธีระบุต้นทุนด้านก๊าซของการดำเนินงานภายใน Remix IDE

การดำเนินการ Ethereum ขั้นพื้นฐานและต้นทุนก๊าซ

ต้นทุนการดำเนินงาน

ใน Ethereum ทุกการดำเนินการมีค่าใช้จ่ายก๊าซที่เกี่ยวข้อง ค่าใช้จ่ายทั่วไปบางประการ ได้แก่:

  • ต้นทุนฐาน: การดำเนินการพื้นฐาน เช่น การเพิ่มหรือการตั้งค่าตัวแปร
  • ต้นทุนหน่วยความจำ: การจัดเก็บหรือเรียกข้อมูลในหน่วยความจำ
  • ต้นทุนพื้นที่จัดเก็บ: การโต้ตอบกับสถานะ Ethereum (เช่น การอัปเดตพื้นที่จัดเก็บตามสัญญา) ซึ่งโดยทั่วไปแล้วจะมีราคาแพงที่สุด

สิ่งสำคัญคือต้องเข้าใจสิ่งเหล่านี้ เนื่องจากเทคนิคการหาค่าเหมาะที่สุดของก๊าซหลายอย่างเกี่ยวข้องกับการแลกเปลี่ยนการดำเนินงานที่มีราคาแพงกว่าเพื่อดำเนินการที่ถูกกว่า

การระบุต้นทุนก๊าซในการรีมิกซ์

ด้วย Remix การพิจารณาปริมาณก๊าซที่ใช้ไปในการดำเนินงานตามสัญญาของเราจะกลายเป็นเรื่องตรงไปตรงมาอย่างมาก

ขั้นตอน

  1. การวิเคราะห์แบบคงที่: ไปที่แท็บ Analysis ในรีมิกซ์ (แสดงด้วยไอคอนรูปกล้องจุลทรรศน์) เครื่องมืออันทรงพลังนี้จะให้ข้อมูลเชิงลึกเกี่ยวกับข้อผิดพลาดที่อาจเกิดขึ้นและโอกาสในการเพิ่มประสิทธิภาพในโค้ดของคุณ

  2. ปรับใช้และโต้ตอบ: หลังจากปรับใช้สัญญาของคุณ (เหมือนที่คุณทำในบทที่ 1) การโต้ตอบแต่ละครั้งจะแสดงค่าก๊าซโดยประมาณ เมื่อคุณเรียกใช้ฟังก์ชัน ก๊าซที่ใช้จะแสดงที่บานหน้าต่างด้านขวาล่าง

  3. บานหน้าต่างรายละเอียด: เมื่อปรับใช้หรือโต้ตอบกับฟังก์ชัน ให้คลิกลูกศรลงในบันทึกธุรกรรม (ล่างขวา) ซึ่งจะขยายบันทึกโดยแสดงต้นทุนก๊าซโดยละเอียดสำหรับธุรกรรม

แนวปฏิบัติ: การระบุการปฏิบัติงานหนักของแก๊ส

มาประเมินสัญญาตัวอย่างและการดำเนินงานกัน:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: GPL-3.0 
 ความแข็งแกร่งของ pragma ^0.8.9; 

 สัญญา GasDemo { 
 uint256 จำนวนสาธารณะ; 
 การทำแผนที่ (ที่อยู่ => uint256) ยอดคงเหลือสาธารณะ 

 ฟังก์ชั่นที่เพิ่มขึ้น () สาธารณะ {
        count += 1;
    }

    ฟังก์ชั่น updateBalance (uint256 newBalance) สาธารณะ {
        balances[msg.sender] = newBalance;
    }
}
  1. ปรับใช้สัญญา GasDemo บน Goerli Testnet ผ่าน Remix

  2. โต้ตอบกับฟังก์ชัน increment สองสามครั้ง

  3. ตรวจสอบก๊าซที่ใช้ในรายละเอียดการทำธุรกรรม

  4. ตอนนี้ ให้โต้ตอบกับฟังก์ชัน updateBalance เพื่อตั้งค่ายอดคงเหลือต่างๆ

  5. ตรวจสอบแก๊สที่ใช้อีกครั้ง

ไตร่ตรองเมื่อ:

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

สรุปและเตรียมพร้อมสำหรับบทเรียนถัดไป

คุณเพิ่งเข้าใจลึกซึ้งยิ่งขึ้นเกี่ยวกับความซับซ้อนของก๊าซในสัญญาอัจฉริยะของ Ethereum ด้วยการฝึกฝน Remix คุณสามารถเห็นภาพและเข้าใจว่าการดำเนินการต่างๆ ส่งผลต่อปริมาณรวมของธุรกรรมอย่างไร ในบทเรียนถัดไป เราจะเจาะลึกถึงเทคนิคการเพิ่มประสิทธิภาพ ซึ่งคุณจะได้เรียนรู้วิธีทำให้สัญญาของคุณมีประสิทธิภาพในการใช้น้ำมันมากขึ้น

อยากรู้อยากเห็นและทดลองต่อไป!

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

ทำความเข้าใจต้นทุนก๊าซ

ยินดีต้อนรับกลับ! ตอนนี้คุณมีความเข้าใจพื้นฐานเกี่ยวกับก๊าซและโต้ตอบกับสัญญาอัจฉริยะขั้นพื้นฐานแล้ว ก็ถึงเวลาเจาะลึกลงไปในความซับซ้อนของต้นทุนก๊าซ บทเรียนนี้จะแนะนำคุณตลอดการดำเนินงานด้านก๊าซขั้นพื้นฐานใน Ethereum และสอนวิธีระบุต้นทุนด้านก๊าซของการดำเนินงานภายใน Remix IDE

การดำเนินการ Ethereum ขั้นพื้นฐานและต้นทุนก๊าซ

ต้นทุนการดำเนินงาน

ใน Ethereum ทุกการดำเนินการมีค่าใช้จ่ายก๊าซที่เกี่ยวข้อง ค่าใช้จ่ายทั่วไปบางประการ ได้แก่:

  • ต้นทุนฐาน: การดำเนินการพื้นฐาน เช่น การเพิ่มหรือการตั้งค่าตัวแปร
  • ต้นทุนหน่วยความจำ: การจัดเก็บหรือเรียกข้อมูลในหน่วยความจำ
  • ต้นทุนพื้นที่จัดเก็บ: การโต้ตอบกับสถานะ Ethereum (เช่น การอัปเดตพื้นที่จัดเก็บตามสัญญา) ซึ่งโดยทั่วไปแล้วจะมีราคาแพงที่สุด

สิ่งสำคัญคือต้องเข้าใจสิ่งเหล่านี้ เนื่องจากเทคนิคการหาค่าเหมาะที่สุดของก๊าซหลายอย่างเกี่ยวข้องกับการแลกเปลี่ยนการดำเนินงานที่มีราคาแพงกว่าเพื่อดำเนินการที่ถูกกว่า

การระบุต้นทุนก๊าซในการรีมิกซ์

ด้วย Remix การพิจารณาปริมาณก๊าซที่ใช้ไปในการดำเนินงานตามสัญญาของเราจะกลายเป็นเรื่องตรงไปตรงมาอย่างมาก

ขั้นตอน

  1. การวิเคราะห์แบบคงที่: ไปที่แท็บ Analysis ในรีมิกซ์ (แสดงด้วยไอคอนรูปกล้องจุลทรรศน์) เครื่องมืออันทรงพลังนี้จะให้ข้อมูลเชิงลึกเกี่ยวกับข้อผิดพลาดที่อาจเกิดขึ้นและโอกาสในการเพิ่มประสิทธิภาพในโค้ดของคุณ

  2. ปรับใช้และโต้ตอบ: หลังจากปรับใช้สัญญาของคุณ (เหมือนที่คุณทำในบทที่ 1) การโต้ตอบแต่ละครั้งจะแสดงค่าก๊าซโดยประมาณ เมื่อคุณเรียกใช้ฟังก์ชัน ก๊าซที่ใช้จะแสดงที่บานหน้าต่างด้านขวาล่าง

  3. บานหน้าต่างรายละเอียด: เมื่อปรับใช้หรือโต้ตอบกับฟังก์ชัน ให้คลิกลูกศรลงในบันทึกธุรกรรม (ล่างขวา) ซึ่งจะขยายบันทึกโดยแสดงต้นทุนก๊าซโดยละเอียดสำหรับธุรกรรม

แนวปฏิบัติ: การระบุการปฏิบัติงานหนักของแก๊ส

มาประเมินสัญญาตัวอย่างและการดำเนินงานกัน:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: GPL-3.0 
 ความแข็งแกร่งของ pragma ^0.8.9; 

 สัญญา GasDemo { 
 uint256 จำนวนสาธารณะ; 
 การทำแผนที่ (ที่อยู่ => uint256) ยอดคงเหลือสาธารณะ 

 ฟังก์ชั่นที่เพิ่มขึ้น () สาธารณะ {
        count += 1;
    }

    ฟังก์ชั่น updateBalance (uint256 newBalance) สาธารณะ {
        balances[msg.sender] = newBalance;
    }
}
  1. ปรับใช้สัญญา GasDemo บน Goerli Testnet ผ่าน Remix

  2. โต้ตอบกับฟังก์ชัน increment สองสามครั้ง

  3. ตรวจสอบก๊าซที่ใช้ในรายละเอียดการทำธุรกรรม

  4. ตอนนี้ ให้โต้ตอบกับฟังก์ชัน updateBalance เพื่อตั้งค่ายอดคงเหลือต่างๆ

  5. ตรวจสอบแก๊สที่ใช้อีกครั้ง

ไตร่ตรองเมื่อ:

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

สรุปและเตรียมพร้อมสำหรับบทเรียนถัดไป

คุณเพิ่งเข้าใจลึกซึ้งยิ่งขึ้นเกี่ยวกับความซับซ้อนของก๊าซในสัญญาอัจฉริยะของ Ethereum ด้วยการฝึกฝน Remix คุณสามารถเห็นภาพและเข้าใจว่าการดำเนินการต่างๆ ส่งผลต่อปริมาณรวมของธุรกรรมอย่างไร ในบทเรียนถัดไป เราจะเจาะลึกถึงเทคนิคการเพิ่มประสิทธิภาพ ซึ่งคุณจะได้เรียนรู้วิธีทำให้สัญญาของคุณมีประสิทธิภาพในการใช้น้ำมันมากขึ้น

อยากรู้อยากเห็นและทดลองต่อไป!

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม 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, Thailand, 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.