ค่าเช่าบัญชีบน Solana คือเงินมัดจำ ไม่ใช่ค่าเช่ารายเดือน
SOL ก้อนเล็กที่หายไปทุกครั้งที่รับโทเคนใหม่คือเงินมัดจำ ไม่ใช่ค่าธรรมเนียม นี่คือวิธีที่มันทำงานและวิธีเรียกคืน

ค่าเช่าบัญชีบน Solana คืออะไร
ทุกบัญชีบน Solana กินพื้นที่ในหน่วยความจำของ validator ทุกเครื่องทั่วโลก เครือข่ายจึงขอเงินมัดจำก้อนหนึ่งเพื่อกันไม่ให้ใครสร้างบัญชีขยะทิ้งไว้ฟรี ๆ เงินก้อนนั้นถูกล็อกอยู่ในบัญชี ไม่ได้ถูกใครเก็บไป และคืนเต็มจำนวนเมื่อบัญชีถูกปิด
ชื่อภาษาอังกฤษว่า rent ทำให้คนเข้าใจผิดตลอด มันไม่ใช่ค่าเช่าที่เก็บทุกเดือน ในทางปฏิบัติมันคือเงินมัดจำแบบเดียวกับค่าประกันตอนเช่าห้อง คุณวางไว้ตอนเปิด และได้คืนตอนปิด ระหว่างนั้นไม่มีใครหักอะไรจากมัน
เดิม Solana เคยหักค่าเช่าจริงเป็นงวด บัญชีที่มียอดต่ำกว่าเกณฑ์จะถูกกินไปเรื่อย ๆ จนหายไป ตอนนี้บัญชีเกือบทั้งหมดถูกสร้างในสถานะยกเว้นค่าเช่า คือมีเงินมัดจำครบตั้งแต่แรกและไม่ถูกหักอีกเลย คำว่า rent ที่เห็นในข้อความแสดงข้อผิดพลาดหมายถึงเงินมัดจำก้อนนี้
บัญชีแต่ละแบบล็อกเงินมัดจำเท่าไร
ขนาดของเงินมัดจำขึ้นกับจำนวนไบต์ที่บัญชีนั้นใช้ บัญชีที่เก็บข้อมูลมากก็ล็อกมาก บัญชีเปล่าล็อกน้อย
บัญชีโทเคนหนึ่งช่อง ซึ่งเป็นสิ่งที่คุณเจอบ่อยที่สุด ล็อกไว้ราว 0.00204 SOL บัญชี Mint ของโทเคนใหม่ล็อกราว 0.0015 SOL ส่วนบัญชีเมทาดาทาและบัญชีของโปรแกรมที่ซับซ้อนกว่านั้นล็อกมากกว่า บางกรณีถึงหลักสิบเท่า
ตัวเลขนี้สำคัญตอนวางแผนงบ ถ้าคุณจะแอร์ดรอปให้กระเป๋าเงินหนึ่งพันใบที่ยังไม่เคยถือโทเคนของคุณ คุณต้องเปิดบัญชีโทเคนหนึ่งพันช่อง นั่นคือราว 2 SOL ที่ถูกล็อก บวกค่าธรรมเนียมเครือข่ายอีกต่างหาก คนที่ลืมข้อนี้มักคำนวณต้นทุนแอร์ดรอปต่ำกว่าจริงหลายเท่า
ช่องโทเคนคืออะไร และทำไมโทเคนแต่ละชนิดถึงคิดเงิน
กระเป๋าเงิน Solana ไม่ได้เก็บโทเคนทุกชนิดไว้ในที่เดียว ที่อยู่หลักของคุณถือ SOL เท่านั้น สำหรับโทเคน SPL แต่ละชนิด เครือข่ายจะสร้างบัญชีแยกขึ้นมาหนึ่งบัญชี เรียกว่า Associated Token Account หรือ ATA
ลองนึกถึงตู้ลิ้นชัก กระเป๋าเงินคือตัวตู้ แต่ละลิ้นชักเก็บโทเคนคนละชนิด และการเปิดลิ้นชักใหม่ต้องวางมัดจำ 0.00204 SOL ถือโทเคนสิบชนิดก็สิบลิ้นชัก คือราว 0.02 SOL ที่ถูกล็อกอยู่
นี่คือเหตุผลที่การรับโทเคนใหม่บางครั้งกินยอด SOL ของคุณไป ทั้งที่คุณเป็นฝ่ายรับ ถ้าไม่มีใครจ่ายค่าเปิดลิ้นชักไว้ก่อน คนที่จ่ายคือคนที่ทำธุรกรรมนั้น และในหลายกรณีคือคุณ
insufficient funds for rent หมายความว่าอะไรจริง ๆ
ข้อความนี้แทบไม่เคยหมายความว่าคุณไม่มี SOL เลย มันหมายความว่าคุณมีไม่พอสำหรับสองอย่างพร้อมกัน คือค่าธรรมเนียมของธุรกรรมนี้ บวกเงินมัดจำของบัญชีใหม่ที่ธุรกรรมนี้ต้องเปิด
กรณีที่พบบ่อยที่สุดมีสามแบบ แบบแรกคือคุณกำลังสวอปเป็นโทเคนที่ยังไม่เคยถือ ธุรกรรมต้องเปิดช่องใหม่ให้ก่อน แบบที่สองคือคุณกำลังส่งโทเคนไปยังกระเป๋าเงินที่ยังไม่มีช่องของโทเคนนั้น คุณเป็นคนจ่ายค่าเปิดให้ปลายทาง แบบที่สามคือคุณพยายามใช้ SOL ทั้งหมดโดยลืมว่ายอดบางส่วนถูกล็อกเป็นมัดจำอยู่แล้ว จึงถอนออกไม่ได้
ทางแก้ในทุกกรณีเหมือนกัน เติม SOL เพิ่มเข้าไปสักเล็กน้อย เผื่อไว้ 0.01 ถึง 0.02 SOL ก็พอสำหรับธุรกรรมทั่วไป ถ้าเป็นการส่งเป็นชุดให้กระเป๋าเงินใหม่จำนวนมาก ให้คูณ 0.00204 ด้วยจำนวนปลายทางที่ยังไม่มีช่อง แล้วบวกเข้าไปในงบ ส่งโทเคนไปหลายกระเป๋าเงินในรอบเดียว แสดงยอดรวมนี้ก่อนคุณลงนาม
เรียกเงินมัดจำที่ล็อกไว้กลับมาอย่างไร
ปิดบัญชีที่ไม่ใช้แล้ว เมื่อบัญชีโทเคนมียอดเป็นศูนย์ คุณสั่งปิดมันได้ และเงินมัดจำ 0.00204 SOL จะกลับเข้ากระเป๋าเงินของคุณทันทีในธุรกรรมเดียวกัน
กระเป๋าเงินที่ใช้งานมาสักพักมักมีช่องว่างค้างอยู่หลายสิบช่อง จากโทเคนที่ขายไปหมดแล้ว จากสแปมแอร์ดรอป และจากเหรียญที่ตายไปแล้ว ห้าสิบช่องคือราว 0.1 SOL ที่นอนอยู่เฉย ๆ ปิดบัญชีโทเคนที่ว่างเปล่า สแกนกระเป๋าเงินของคุณ แสดงช่องที่ว่าง แล้วปิดเป็นชุดในรอบเดียว
ถ้าช่องยังมียอดค้างอยู่ ปิดไม่ได้จนกว่ายอดจะเป็นศูนย์ สำหรับโทเคนสแปมที่ขายไม่ได้ ให้เผายอดที่เหลือด้วย เผาโทเคนที่ไม่ต้องการ ก่อน แล้วค่อยปิดช่อง ลำดับนี้สำคัญ เผาก่อน ปิดทีหลัง
ข้อควรระวังหนึ่งข้อ อย่าปิดช่องของโทเคนที่คุณตั้งใจจะรับเพิ่มในเร็ว ๆ นี้ เพราะการเปิดใหม่ก็เสียมัดจำเท่าเดิม การปิดคุ้มเมื่อคุณไม่คิดจะแตะโทเคนนั้นอีกแล้ว
ค่าธรรมเนียมอีกก้อนที่คนสับสนกับค่าเช่าบัญชีคือค่าธรรมเนียมลำดับความสำคัญ อ่าน Priority fee บน Solana ควรจ่ายเท่าไร และถ้าช่องที่ว่างของคุณมาจากโทเคนสแปม เริ่มที่ โทเคน Solana ไม่ขึ้นใน Phantom ไล่ 7 สาเหตุ
คำถามที่พบบ่อย
ค่าเช่าบัญชีถูกเก็บทุกเดือนไหม
ไม่ บัญชีเกือบทั้งหมดบน Solana อยู่ในสถานะยกเว้นค่าเช่า คือวางเงินมัดจำครบตั้งแต่วันแรกและไม่ถูกหักอีก เงินก้อนนั้นถูกล็อกไว้ ไม่ได้หายไปไหน และคืนเต็มจำนวนตอนปิดบัญชี
ทำไมยอด SOL ที่ถอนได้น้อยกว่าที่เห็น
เพราะส่วนหนึ่งถูกล็อกเป็นเงินมัดจำของบัญชีต่าง ๆ ที่คุณเปิดไว้ กระเป๋าเงินบางตัวแสดงยอดรวมทั้งหมด บางตัวแสดงเฉพาะส่วนที่ใช้ได้ ถ้าตัวเลขสองที่ไม่ตรงกัน ส่วนต่างมักคือมัดจำที่ล็อกอยู่
0.00204 SOL เป็นตัวเลขตายตัวไหม
เป็นตัวเลขที่มาจากขนาดของบัญชีโทเคนมาตรฐาน จึงเท่ากันสำหรับ ATA ทุกช่อง แต่ไม่ใช่ตัวเลขเดียวในระบบ บัญชีชนิดอื่นมีขนาดต่างกันและมัดจำต่างกัน และเครือข่ายปรับอัตราต่อไบต์ได้ในอนาคต
ปิดบัญชีโทเคนแล้วโทเคนหายไหม
ปิดได้เฉพาะบัญชีที่ยอดเป็นศูนย์ ถ้ายังมีโทเคนอยู่ คำสั่งปิดจะล้มเหลว จึงไม่มีทางเผลอปิดทับยอดที่ยังถืออยู่ ยกเว้นกรณีที่คุณเผามันทิ้งเองก่อน ซึ่งเป็นการกระทำแยกที่ต้องยืนยันต่างหาก
ใครเป็นคนจ่ายมัดจำเวลาส่งโทเคนให้คนอื่น
คนที่ลงนามธุรกรรม ถ้าปลายทางยังไม่มีช่องสำหรับโทเคนนั้น ธุรกรรมของคุณจะเปิดช่องให้และหักมัดจำจากคุณ ปลายทางจะได้เงินก้อนนี้คืนถ้าเขาปิดช่องในภายหลัง ไม่ใช่คุณ
ควรกัน SOL ไว้ในกระเป๋าเงินเท่าไร
สำหรับการใช้งานทั่วไป 0.02 ถึง 0.05 SOL ครอบคลุมค่าธรรมเนียมและการเปิดช่องใหม่ได้สบาย สำหรับงานเป็นชุด ให้คำนวณจากจำนวนบัญชีที่จะเปิดจริง แล้วบวกเผื่อไว้อีกสิบเปอร์เซ็นต์ ธุรกรรมที่ล้มเพราะขาดไม่กี่ร้อยแลมพอร์ตยังคิดค่าธรรมเนียมของรอบที่ล้มอยู่ดี


