Web3 & DApp Development Fundamentals · บทเรียน

ขีดจำกัดแก๊สและค่าธรรมเนียม

พื้นฐาน EIP-1559

บทเรียน 3 จาก 413 ขั้นตอน

ขีดจำกัดแก๊สและค่าธรรมเนียม เป็นบทเรียน Web3 & DApp Development Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Web3 & DApp Development Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Web3 & DApp Development Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

ควบคุมจำนวนเงินที่คุณใช้

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

บทเรียนนี้ครอบคลุมทั้งสองเรื่อง รวมถึงรูปแบบค่าธรรมเนียม EIP-1559

ขีดจำกัดแก๊ส

ขีดจำกัดแก๊สคือปริมาณแก๊สสูงสุดที่คุณอนุญาตให้ธุรกรรมใช้ได้

การโอน ETH แบบง่ายต้องใช้ 21000 ส่วนการเรียกใช้สัญญาที่ซับซ้อนต้องใช้มากกว่านั้น หากตั้งค่าต่ำเกินไป ธุรกรรมจะย้อนกลับเนื่องจากแก๊สหมด

simple transfer:  gasLimit = 21000
token transfer:   gasLimit ~ 65000
complex DeFi swap: gasLimit ~ 200000+

แก๊สหมด

หากการประมวลผลใช้แก๊สมากกว่าขีดจำกัด ธุรกรรมจะหยุดและย้อนกลับการเปลี่ยนแปลงสถานะทั้งหมด

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

ขีดจำกัดแก๊สของบล็อก

แต่ละบล็อกยังมีขีดจำกัดแก๊สของบล็อก ซึ่งเป็นปริมาณแก๊สรวมที่ธุรกรรมทั้งหมดในบล็อกนั้นอาจใช้ได้

ขีดจำกัดนี้จำกัดปริมาณการคำนวณที่ใส่ในหนึ่งบล็อกได้ ทำให้การประมวลผลบล็อกทั่วเครือข่ายรวดเร็ว

ก่อน EIP-1559

เดิมที ค่าธรรมเนียมทำงานเหมือนการประมูลแบบไม่เปิดเผยข้อมูล คุณเสนอราคาค่าแก๊ส แล้วผู้ตรวจสอบความถูกต้องเลือกข้อเสนอที่สูงที่สุด

วิธีนี้ทำให้ผู้ใช้จ่ายเงินเกินจริงและค่าธรรมเนียมไม่แน่นอนในช่วงเครือข่ายหนาแน่น EIP-1559 จึงปรับปรุงระบบนี้ในปี 2021

EIP-1559: ค่าธรรมเนียมพื้นฐาน

EIP-1559 เพิ่มค่าธรรมเนียมพื้นฐาน ซึ่งเป็นค่าธรรมเนียมต่อบล็อกที่โพรโทคอลกำหนดโดยอัตโนมัติตามความต้องการของเครือข่าย

ค่าธรรมเนียมพื้นฐานจะเพิ่มขึ้นเมื่อบล็อกเต็ม และลดลงเมื่อบล็อกว่าง ทำให้ค่าธรรมเนียมคาดการณ์ได้ง่ายขึ้น

block full   -> base fee rises
block empty  -> base fee falls
target: blocks ~50% full

การเผาค่าธรรมเนียมพื้นฐาน

ค่าธรรมเนียมพื้นฐานจะถูกเผา — ทำลายอย่างถาวรแทนที่จะจ่ายให้ผู้ตรวจสอบความถูกต้อง

วิธีนี้ลดแรงจูงใจที่ผู้ตรวจสอบความถูกต้องจะทำให้ค่าธรรมเนียมสูงขึ้นโดยเจตนา และทำให้ ETH มีภาวะเงินฝืดเล็กน้อยเมื่อมีการใช้งานสูง

ค่าธรรมเนียมลำดับความสำคัญ (ทิป)

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

ทิปที่สูงขึ้นจะจูงใจให้ผู้ตรวจสอบความถูกต้องนำธุรกรรมของคุณเข้าไปในบล็อกเร็วขึ้นในช่วงที่เครือข่ายหนาแน่น

totalFee = base fee + priority fee
base fee  -> burned
priority fee (tip) -> validator

ค่าธรรมเนียมสูงสุดต่อหน่วยแก๊ส

คุณกำหนดmaxFeePerGas ซึ่งเป็นจำนวนเงินรวมสูงสุดที่คุณจะจ่ายต่อหน่วยแก๊ส และยังกำหนดmaxPriorityFeePerGasสำหรับทิปด้วย

หากค่าธรรมเนียมพื้นฐานต่ำกว่าค่าสูงสุดของคุณ คุณจะได้รับส่วนต่างคืน และจะไม่มีทางจ่ายเกินเพดานที่กำหนด

maxFeePerGas          = 50 gwei
maxPriorityFeePerGas  = 2 gwei
actual base fee       = 30 gwei
paid = 30 + 2 = 32 gwei (refunded 18)

การประมาณแก๊ส

กระเป๋าเงินและเครื่องมือจะเรียกใช้ eth_estimateGas เพื่อคาดการณ์ว่าธุรกรรมต้องใช้แก๊สมากเพียงใด

การประมาณที่ดีช่วยหลีกเลี่ยงความล้มเหลวจากแก๊สหมด โดยไม่กันแก๊สไว้มากเกินความจำเป็น

สรุปภาพรวม

ขีดจำกัดแก๊สจำกัดปริมาณการคำนวณ ส่วน EIP-1559 แบ่งราคาออกเป็นค่าธรรมเนียมพื้นฐานที่ถูกเผาและทิปของผู้ตรวจสอบความถูกต้อง

maxFeePerGasช่วยป้องกันการจ่ายเกินจริง พร้อมรับประกันว่าธุรกรรมจะถูกนำเข้าไปในบล็อก

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้ของคุณเกี่ยวกับ EIP-1559

ทบทวน: ขีดจำกัดแก๊สและค่าธรรมเนียม

คุณได้เรียนรู้ว่า:

  • ขีดจำกัดแก๊สจำกัดปริมาณแก๊สที่ธุรกรรมอาจใช้
  • เมื่อแก๊สหมด ธุรกรรมจะย้อนกลับแต่คุณยังคงต้องเสียค่าใช้จ่าย
  • EIP-1559 ใช้ค่าธรรมเนียมพื้นฐานที่ถูกเผา บวกกับทิปของผู้ตรวจสอบความถูกต้อง
  • maxFeePerGasจำกัดต้นทุนรวมต่อหน่วยของคุณ

ถัดไป: นอนซ์และลำดับ

เริ่มต้นได้ฟรี

เรียนรู้ Web3 & DApp Development Fundamentals ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
29
บทเรียน
105

คำถามที่พบบ่อย

บทเรียน “ขีดจำกัดแก๊สและค่าธรรมเนียม” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ขีดจำกัดแก๊สและค่าธรรมเนียม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Web3 & DApp Development Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Web3 & DApp Development Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ขีดจำกัดแก๊สและค่าธรรมเนียม”

พื้นฐาน EIP-1559 คุณปฏิบัติ Web3 & DApp Development Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Web3 & DApp Development Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Web3 & DApp Development Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ขีดจำกัดแก๊สและค่าธรรมเนียม” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Web3 & DApp Development Fundamentals นี้ได้ไหม

ได้ บทเรียน Web3 & DApp Development Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แก๊สคืออะไร
  2. วงจรชีวิตธุรกรรม
  3. ขีดจำกัดแก๊สและค่าธรรมเนียม
  4. นอนซ์และลำดับ
← กลับไปที่ Web3 & DApp Development Fundamentals