Lição 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 คุณสามารถเห็นภาพและเข้าใจว่าการดำเนินการต่างๆ ส่งผลต่อปริมาณรวมของธุรกรรมอย่างไร ในบทเรียนถัดไป เราจะเจาะลึกถึงเทคนิคการเพิ่มประสิทธิภาพ ซึ่งคุณจะได้เรียนรู้วิธีทำให้สัญญาของคุณมีประสิทธิภาพในการใช้น้ำมันมากขึ้น

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

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
Catálogo
Lição 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 คุณสามารถเห็นภาพและเข้าใจว่าการดำเนินการต่างๆ ส่งผลต่อปริมาณรวมของธุรกรรมอย่างไร ในบทเรียนถัดไป เราจะเจาะลึกถึงเทคนิคการเพิ่มประสิทธิภาพ ซึ่งคุณจะได้เรียนรู้วิธีทำให้สัญญาของคุณมีประสิทธิภาพในการใช้น้ำมันมากขึ้น

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

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.