เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน สินทรัพย์ดิจิทัลและธุรกรรมบนเชนอาจทำให้สูญเสียอย่างถาวร
คำตอบโดยตรง
ยอดในกระเป๋าเป็นมุมมองที่คำนวณขึ้น ไม่ใช่หลักฐานสุดท้ายของความเป็นเจ้าของโทเค็น โดยทั่วไปกระเป๋าจะรวมการอ่านสถานะผ่าน RPC ดัชนีเหตุการณ์ เมทาดาทา ราคา ตัวกรองสแปม และแคชในเครื่อง แต่ละชั้นอาจล้าสมัย ชี้ไปยังเครือข่ายหรือสัญญาที่ผิด หรือตีความโทเค็นผิด การไม่แสดงรายการไม่ได้พิสูจน์ว่าสินทรัพย์หาย และตัวเลขที่เห็นก็ไม่ได้รับรองว่าจะโอน แลกคืน หรือมีมูลค่าได้
สำหรับ ERC-20 ทั่วไป จุดเริ่มที่น่าเชื่อถือที่สุดคือผล balanceOf ของบัญชีที่ถูกต้อง ณ บล็อกที่ระบุบนเชนที่ถูกต้อง อย่างไรก็ดี ผลนั้นเป็นเพียงหน่วยตามกฎของสัญญา โทเค็น rebase หุ้น vault สินทรัพย์ wrapped และสถานะในโปรโตคอลอาจต้องแปลงเพิ่มเพื่อหาสิทธิทางเศรษฐกิจหรือจำนวนที่แลกคืนได้ในปัจจุบัน
กลไกการทำงาน
- สถานะสัญญา: โหนด RPC เรียก
balanceOfผ่านeth_callกับสถานะของบล็อกที่เลือก - ดัชนีเหตุการณ์: บริการสแกนบันทึก
Transferเพื่อค้นหาโทเค็น สร้างประวัติ และอัปเดตยอดในแคช - ข้อมูลและมูลค่า:
decimalsสัญลักษณ์ รายการโทเค็น อัตราแลกเปลี่ยน และแหล่งราคาแปลงจำนวนเต็มดิบเป็นจำนวนที่แสดงและมูลค่าเงินทั่วไป - นโยบายหน้าจอ: กระเป๋าอาจซ่อนสินทรัพย์ที่ยังไม่ตรวจสอบหรือสแปม รวมบัญชี ตามเชนไม่ทัน หรือเก็บแคชเก่าไว้
ERC-20 กำหนดการอ่านยอดและกำหนด Transfer สำหรับการโอนมาตรฐาน แต่ฐานข้อมูลตามเหตุการณ์อาจตกหล่นหรือทำบันทึกซ้ำ เริ่มทำดัชนีหลังบล็อกสำคัญ จัดการการปรับโซ่ผิด หรือไม่เข้าใจบัญชีเฉพาะของสัญญา เหตุการณ์เป็นหลักฐานการเปลี่ยนสถานะ แต่ไม่แทนการอ่านสถานะปัจจุบัน จึงควรเทียบบันทึกกับ balanceOf และตรวจ decimals เพราะค่าที่ผิดทำให้จำนวนดิบที่ถูกต้องดูผิดมาก
การเลือกบล็อกก็สำคัญ JSON-RPC รองรับ latest, safe และ finalized ขณะที่ผู้ให้บริการอาจอยู่คนละหัวเชน EIP-1898 ผูกการอ่านที่เกี่ยวข้องกับแฮชบล็อกเดียว และขอให้เป็นบล็อกมาตรฐานได้ หากไม่มีอ้างอิงร่วมกัน การอ่านที่ถูกต้องสองครั้งอาจอธิบายคนละสถานะระหว่างซิงค์หรือปรับโซ่
- ยืนยันเครือข่ายและ
chainIdเพราะยอดฝั่งต้นทางและปลายทางของ bridge อยู่คนละบัญชีแยกประเภท - รับที่อยู่สัญญาจากแหล่งโครงการที่เชื่อถือได้หรือทะเบียนที่ตรวจสอบแล้ว อย่าระบุโทเค็นจากสัญลักษณ์อย่างเดียว
- ยืนยันที่อยู่บัญชี มาตรฐานโทเค็น และชนิดสินทรัพย์ว่าเป็นโทเค็นพื้นฐาน wrapped หุ้น vault หรือใบรับของโปรโตคอล
- ถาม
balanceOfจาก RPC อิสระสองรายที่หมายเลขหรือแฮชบล็อกเดียวกัน และบันทึกจำนวนดิบกับdecimalsที่สัญญารายงานแยกกัน - ตรวจใบเสร็จ สถานะ ที่อยู่สัญญา บันทึก และบล็อกมาตรฐาน เปรียบเทียบสถานะก่อนและหลังที่บล็อกระบุ ไม่พึ่งเพียงการแจ้งเตือนของกระเป๋า
- สำหรับ rebase หรือสินทรัพย์แบบหุ้น ให้ใช้วิธีแปลงและแลกคืนในเอกสาร ใน ERC-4626
balanceOfแสดงหุ้น และconvertToAssetsประมาณสินทรัพย์พื้นฐาน ไม่จำเป็นต้องเท่ากับราคาแลกคืนจริง
ตัวอย่าง
เครื่องมือสำรวจแสดงว่าธุรกรรมถึง Lina สำเร็จแต่กระเป๋ายังแสดงศูนย์ เธอตรวจเชน สัญญา และผู้รับ แล้วถาม RPC อิสระสองรายที่บล็อกสิ้นสุดเดียวกัน หากทั้งคู่ให้ balanceOf บวกเท่ากัน ใบเสร็จอยู่บนโซ่มาตรฐาน และบันทึกมาจากสัญญาที่คาดไว้ แสดงว่าดัชนี ตัวกรอง หรือแคชล่าช้า การนำเข้าสัญญาที่ตรวจสอบแล้วหรือรอการอัปเดตเหมาะกว่าส่งธุรกรรมอีกครั้ง
หาก balanceOf ของสัญญาที่ตรวจสอบแล้วคืนศูนย์ ให้เทียบ balanceOf บนเครือข่ายของหน้าจอ รายการนั้นอาจใช้สัญญาอื่นที่มีสัญลักษณ์เดียวกันหรือข้อมูลเก่าจากเครือข่ายอื่น สำหรับ vault ยอดหุ้นอาจถูกต้อง แต่มูลค่าสินทรัพย์ต่างเพราะกระเป๋ายังไม่ใช้การแปลงปัจจุบันของโปรโตคอล
ความเสี่ยงและการควบคุม
- เครือข่ายหรือที่อยู่ผิด: ก่อนทำธุรกรรมแก้ไข ให้ตรวจ
chainIdที่อยู่บัญชีเต็ม และที่อยู่สัญญาเต็ม - ข้อมูล RPC เก่าหรือไม่ตรงกัน: เปรียบเทียบผู้ให้บริการอิสระที่บล็อกระบุเดียวกัน อย่าผสม
latestจากคนละเวลา - การปรับโซ่: ถือว่าบล็อกใหม่ยังชั่วคราวตามแบบจำลอง finality และตรวจว่าใบเสร็จยังอยู่บนโซ่มาตรฐาน
- ดัชนีขาด: สแกนใหม่จากบล็อกที่รู้จักและเทียบบันทึกกับสถานะ ตัวทำดัชนีควรย้อนบล็อกกำพร้า ไม่ใช่เพิ่มเหตุการณ์ใหม่อย่างเดียว
- บัญชีเฉพาะ: อย่าสร้างยอด rebase, vault หรือโทเค็นใบรับจากผลรวม
Transferหากโปรโตคอลไม่ได้ระบุวิธีนี้ - ข้อมูลหรือราคาผิด: แยกหน่วยดิบ จำนวนโทเค็น และมูลค่าเงิน ราคาผิดไม่เปลี่ยนยอดบนเชน แต่
decimalsผิดเปลี่ยนการแสดงผล - โทเค็นหรือหน้าจออันตราย: การดูยอดไม่ต้องอนุมัติหรือลงนาม ปฏิเสธลิงก์กู้คืน การอนุมัติ หรือธุรกรรมที่อ้างว่าใช้รีเฟรชยอด
หากยังต่างกัน ให้หยุดโอนและเก็บเครือข่าย บัญชี สัญญา หมายเลขและแฮชบล็อก คำตอบ RPC ดิบ และแฮชธุรกรรม ตรวจว่าผู้ให้บริการรองรับบล็อกที่ขอ และการอัปเกรด proxy การหยุดชั่วคราว rebase การย้ายระบบ หรือการสิ้นสุดของ bridge เปลี่ยนบัญชีที่คาดไว้หรือไม่ ติดต่อกระเป๋าหรือโปรโตคอลผ่านช่องทางสาธารณะโดยไม่เปิดเผย seed phrase หรือกุญแจส่วนตัว
ยอดถูกต้องไม่รับประกันการออก ก่อนจัดการสินทรัพย์ที่ไม่คุ้นเคย ให้ตรวจข้อจำกัดการโอน การแลกคืน สภาพคล่อง ค่าธรรมเนียม และสิทธิ์สัญญาแยกกัน ใช้การจำลองหรือทดสอบจำนวนเล็กน้อยหลังตรวจสัญญาแล้วเท่านั้น เพราะการเพิ่ม Gas หรือ slippage ซ้ำ ๆ แก้ข้อผิดพลาดของดัชนีไม่ได้
ความเข้าใจผิดที่พบบ่อย
- “หน้าจอคือบล็อกเชน” เป็นมุมมองที่ประกอบขึ้น
- “ผลรวม Transfer เท่ากับยอดเสมอ” ดัชนีหรือแบบจำลองโทเค็นอาจต่างกัน
- “การยืนยันทำให้กระเป๋าอัปเดต” ไม่ได้บังคับแคช
- “ยอดบวกขายได้แน่” ข้อจำกัดหรือสภาพคล่องอาจขวาง
- “ต้องลงนามเพื่อดูยอด” การอ่านสาธารณะไม่ต้องลงนาม
หัวข้อที่เกี่ยวข้อง
แหล่งข้อมูล
- ERC-20: มาตรฐานโทเค็น - Ethereum Improvement Proposals (เข้าถึง: 2026-08-21)
- JSON-RPC API - Ethereum.org (เข้าถึง: 2026-08-21)
- EIP-1898: เพิ่ม blockHash ให้ defaultBlock - Ethereum Improvement Proposals (เข้าถึง: 2026-08-21)
- ERC-4626: Vault แบบโทเค็น - Ethereum Improvement Proposals (เข้าถึง: 2026-08-21)