คู่มือผู้ใช้: ธุรกรรมและธุรกรรมที่ล้มเหลว
ยังใหม่กับคริปโตและ web3 ใช่หรือไม่
ไปที่ เรียนรู้ MetaMask สำหรับประสบการณ์การเรียนรู้ ที่เข้าใจง่ายซึ่งออกแบบมาโดยเฉพาะสำหรับผู้ใช้งานใหม่ใน web3ใช้งานได้ฟรี มีหลายภาษา และมีเครื่องมือที่มีประโยชน์ เช่น การจำลองเพื่อช่วยให้คุณคุ้นชินกับการใช้งาน MetaMask
บทความนี้ประกอบด้วยคำอธิบายและลิงก์ไปยังแหล่งข้อมูลที่เกี่ยวข้องกับธุรกรรมและสาเหตุที่ธุรกรรมล้มเหลว รวมถึงลิงก์ไปยังสถานการณ์จำลองการทำธุรกรรมที่ล้มเหลวที่พบบ่อย และวิธีจัดการกับปัญหาเหล่านั้น:
- กายวิภาคของธุรกรรมบล็อกเชน
- ปัญหาทั่วไป
- การแก้ไขหลัก
- แหล่งข้อมูลเพิ่มเติมและขั้นตอนถัดไป
- คำถามที่ถามบ่อย
กายวิภาคของธุรกรรมบล็อกเชน
เมื่อเราพูดถึง 'ธุรกรรม' บนเครือข่ายบล็อกเชนสาธารณะ เรามักจะพูดถึงการโต้ตอบระหว่างที่อยู่สองแห่ง กล่าวอีกนัยหนึ่งก็คือ โทเค็น ไม่ว่าจะเป็นแบบใช้ร่วมกันได้หรือไม่ได้ หรือสินทรัพย์ดิจิทัลอื่น ๆ ที่ถูก 'ส่ง' จากที่อยู่หนึ่งไปยังอีกที่อยู่หนึ่งนอกจากนี้ยังมีธุรกรรมที่เรียกว่า "ธุรกรรมภายใน" ซึ่งเ ป็นการโต้ตอบที่เกิดขึ้นระหว่าง Smart Contract และโดยส่วนใหญ่อยู่นอกขอบเขตของบทความนี้
ต้องการข้อมูลเพิ่มเติมใช่หรือไม่
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครือข่ายบล็อกเชนและวิธีการทำงานโดยทั่วไป โปรดดู บทความแนะนำที่นี่ และหากคุณติดขัดกับคำที่ไม่คุ้นเคย สามารถดูอภิธานศัพท์ของเราได้ตลอดเวลา
เพื่อความชัดเจน แท้จริงแล้วไม่มีอะไรที่ถูกส่งไปเลยแม้แต่น้อยเครือข่ายบล็อกเชนที่เปิดใช้งานสัญญาอัจฉริยะเช่น Ethereum มีส่วนประกอบหรือฟังก์ชันที่แตกต่างกันจำนวนมากหนึ่งในนั้นคือสิ่งที่เราเรียกว่า "เครื่องประมวลผล": Ethereum Virtual Machine หรือ EVM ซึ่งสามารถเรียกใช้โปรแกรมต่าง ๆ ได้ ('สัญญาอัจฉริยะ')อย่างไรก็ตาม 'แกนหลัก' ของระบบนี้คือ บัญชีแยกประเภทแบบกระจายศูนย์: ลองนึกภาพสเปรดชีตที่มีที่อยู่กระเป๋าเงิน Ethereum ทุกแห่งอยู่ด้านหนึ่ง และที่อยู่แต่ละแห่งจะมีคอลัมน์สำหรับสินทรัพย์คริปโตแต่ละประเภทที่ถืออยู่
ลองใช้ตัวอย่างเพื่อให้เห็นภาพสมมติว่ากุยโลเม่ต้องการส่งธุรกรรมให้โดโลเรสกุยโลเม่มี 1.36 ETH ในบัญชีของเขา และเขาวางแผนที่จะส่ง 0.5 ETH ให้โดโลเรส ฟังดูเหมือนเป็นวันที่ดีสำหรับโดโลเรส แม้จะอยู่ในตลาดหมีก็ตาม
กุยโลเม่เปิดกระเป๋าสตางค์ MetaMask ของเขา ป้อนที่อยู่ของโดโลเรส กำหนดค่าพารามิเตอร์แก๊สที่เขายินดีจ่าย และกด'send' ( ส่ง)
ณ จุดนี้ ธุรกรรมจะเข้าสู่สถานะการระงับชั่วคราวในเครื่อง ซึ่งเรียกว่า *พูลหน่วยความจำในเครื่อง *หรือ ธุรกรรมคงค้างในเครื่อง ธุรกรรมนั้นจะถูก 'รับ' โดยโหนดที่ใกล้ที่สุดในเครือข่าย ขึ้นอยู่กับการตั้งค่าแก๊สของกุยโลเม่ ธุรกรรมของเขาจะได้รับการจัดลำดับความสำคัญก่อน (ยิ่งกุยโลเม่เต็มใจจ่ายต่อหน่วยของแก๊สเท่าไหร่ การทำธุรกรรมของเขาก็เร็วขึ้นเท่านั้น) และกระจายไปยังโหนดอื่นในเครือข่าย โหนดจะทำงานเพื่อตรวจสอบว่ากุยโลเม่มี ETH ที่จะใช้ จากนั้นจะทำ 'ธุรกรรม' จริง ๆ: บัญชีแยกประเภทจะถูกแก้ไข 0.5 จะถูกหักจากยอดคงเหลือของกุยโลเม่ และ 0.5 จะถูกโอนไปให้โดโลเรส
**'มือที่เคลื่อนไหว มีคำสั่ง เคลื่อนที่ต่อไ ป': ETH ไม่เคลื่อนผ่านเครือข่ายด้วยตัวเอง ไม่ใช่อีเมลที่ส่งจากคอมพิวเตอร์ของกุยโลเม่ที่ไปยังกล่องจดหมาย MetaMask ของโดโลเรส หรืออะไรทำนองนั้นGuillaume ส่งคำขอ **ซึ่งรับรองความถูกต้องด้วยกุญแจส่วนตัวของเขาผ่าน MetaMask ไปยังเครือข่ายเพื่อหักบัญชีของเขาและโอนไปให้โดโลเรส และหลังจากกระบวนการตรวจสอบที่ตั้งโปรแกรมไว้ในโปรโตคอลของเครือข่ายก็เสร็จสิ้น
นั่นคือทั้งหมดที่มีในการทำธุรกรรม: การร้องขอไปยังบัญชีแยกประเภทเพื่อจัดสรรบางสิ่งจากที่อยู่หนึ่งไปยังที่อยู่หนึ่ง
เมื่อมีสิ่งผิดปกติ
สิ่งต่าง ๆ อาจผิดพลาดได้จากหลายสาเหตุ เนื่องจากเป็น 'ซอฟต์แวร์โดยธรรมชาติ': MetaMask มีจุดบกพร่อง หรือมีการกำหนดค่าบางอย่างไม่ถูกต้องเกี่ยวกับเครือข่ายที่คุณกำลังพยายามใช้ มีข้อผิดพลาดในการเชื่อมต่อ
ปัญหาทั่วไปคือ ผู้ใช้พยายามจ่ายน้อยล งสำหรับการทำธุรกรรม ตั้งค่าลิมิตค่าแก๊สต่ำมาก และเงื่อนไขเครือข่ายแออัดมากจนไม่มีที่ว่างในบล็อกใด ๆ สำหรับธุรกรรม "ราคาถูก" ดังกล่าว บางครั้งใช้เวลานานมาก: ในที่สุดธุรกรรมนี้จะกลายเป็น "ค้าง" และจะต้องถูกยกเลิกโดยผู้ใช้
หากคุณได้ส่งธุรกรรมแล้วและยังไม่ได้รับการสรุป สถานะของธุรกรรมจะแสดงเป็น "รอดำเนินการ" ใน MetaMask
หากคุณส่งธุรกรรมและล้มเหลว สาเหตุที่เป็นไปได้มากที่สุดคือแก๊สไม่พอ: "แก๊สหมด" กล่าวคือ ธุรกรรมมีค่าใช้จ่ายเป็นแก๊ส ซึ่งเมื่อคูณด้วยราคาแก๊ส ส่งผลให้จำนวนเงินรวมของสกุลเงินท้องถิ่นของเครือข่ายมากกว่าที่คุณมีในกระเป๋าเงิน
ข้อมูล
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการคำนวณแก๊ส โปรดอ่านคู่มือแก๊สของเราที่นี่
สิ่งนี้สามารถเกิดขึ้นได้จากหลายสาเหตุ แต่สิ่งหนึ่งที่ต้องพิจารณาคือ สิ่งที่คุณกำลังพยายามทำธุรกรรมนั้นคืออะไร การสร้าง NFT ในช่วงเวลาที่มีการรับส่งข้อมูลเครือข่ายสูงสุดอาจต้องใช้แก๊สมาก หากคุณกำลังใช้ธุรกรรมใหม่หรือทดลอง อาจคุ้มค่าที่จะลองใช้เครือข่ายทดสอบก่อนที่จะจ่ายค่าธรรมเนียมเครือข่ายจริง