ข้ามไปยังเนื้อหา
มุมมองระดับโลกต่อสินทรัพย์ดิจิทัลมุมมองระดับโลก · บริบทในพื้นที่
ChainView BTC866CHAIN VIEW
เรียนรู้

ทศนิยมโทเคนจากจำนวนเต็มสู่ยอดที่เห็น

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

อ่านในภาษาไทย简体中文繁體中文English한국어РусскийالعربيةEspañol (México)Tiếng Việt
ทศนิยมโทเคนจากจำนวนเต็มสู่ยอดที่เห็น

ภาพประกอบต้นฉบับตามหัวข้อ: แผนภาพต้นฉบับตามหัวข้อโดย ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0

สเกลของหน้าจอ

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

สัญลักษณ์ไม่ระบุสัญญา

ใน ERC-20 ค่า decimals เป็นข้อมูลเสริมที่อาจไม่มีและการทำงานต่างกัน ตรวจเอกสารกับสัญญาจริงก่อนอ่านค่าดิบ หากเรียกค่าไม่สำเร็จให้ระบุยังไม่ทราบ แทนเดาสิบแปดจากความเคยชินแล้วใช้ต่อ

จำนวนเต็มไม่ปัดผิด

เก็บจำนวนเต็มเดิม สเกล และยอดแสดงในบันทึก ใช้คำนวณจำนวนเต็มหรือทศนิยมที่เหมาะสม ไม่พึ่งการปัดเศษเลขฐานสองซึ่งอาจเปลี่ยนหน่วยเล็กหรือค่ามาก การปัดหน้าจอควรแยกจากข้อมูลใช้กระทบยอด

ตัวอย่างหกตำแหน่ง

ค่าดิบ 1234500 ที่หกตำแหน่งเท่ากับ 1.2345 โทเคน หากสเกลต่างจำนวนเดียวกันย่อมหมายถึงปริมาณต่าง เปลี่ยนวิธีแสดงไม่ได้เปลี่ยนค่าที่อยู่ในสัญญา และเศษที่ซ่อนบนจอยังคงมีอยู่ได้

ตรวจหน่วยก่อนส่งซ้ำ

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

ทดสอบโดยเก็บค่าดิบ

ทดสอบการเชื่อมด้วยยอดเล็ก เก็บค่าดิบของคำสั่งและเหตุการณ์ การปัดบนหน้าจออาจซ่อนเศษและทำให้การคัดด้วยมือกระทบยอดไม่ตรง อย่าใช้ metadata สัญญาหนึ่งกับทุกเหรียญชื่อเหมือน ถ้าสเกลไม่ทราบให้ตรวจการใช้งานจริงแทนเดา การอนุมัติใช้เงินก็ไม่ควรกำหนดค่าดิบจากความคาดเดา ดูทั้งยอดที่แสดงและพารามิเตอร์เพื่อรู้ว่าไลบรารีใช้สเกลถูก การรายงานควรเขียนหน่วยทุกครั้งและแยกกฎปัดหน้าจอออกจากค่าที่ใช้คำนวณ มิฉะนั้นความผิดระดับหลายหลักอาจดูเป็นยอดสมเหตุสมผล

แหล่งข้อมูล

  1. ERC-20 (เปิดในแท็บใหม่)
  2. Ethereum token standards (เปิดในแท็บใหม่)