กลับไปที่บล็อก
Solana

Associated Token Account (ATA) บน Solana คืออะไร?

S
Sol Slugs Team
Sol Incinerator

กระเป๋า Solana มีที่อยู่สาธารณะ แต่โทเคนส่วนใหญ่ไม่ได้เก็บโดยตรงในบัญชีที่ถือยอด SOL ปกติ โทเคนอยู่ในบัญชีโทเคน Associated token account ซึ่งมักเรียกย่อว่า ATA คือที่อยู่มาตรฐานที่แอปใช้สำหรับการถือโทเคน mint หนึ่งของกระเป๋าหนึ่ง

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

Associated token account บน Solana คืออะไร?

Associated token account คือบัญชีโทเคนมาตรฐานที่คำนวณจากที่อยู่กระเป๋า โปรแกรมโทเคน และที่อยู่ mint บัญชีนี้เก็บโทเคน mint นั้นให้ผู้มีอำนาจเหนือบัญชีโทเคนของกระเป๋า ที่อยู่คาดการณ์ได้ แต่การสร้างบัญชียังต้องใช้ SOL เพื่อเป็นเงินสำรองพื้นที่เก็บข้อมูลบนเชนตามที่กำหนด

เอกสารการสร้างบัญชี ของ Solana อธิบายที่อยู่แบบกำหนดได้แน่นอนและความต่างระหว่างเจ้าของโทเคนกับโปรแกรมเจ้าของบัญชี Associated Token Program สร้างบัญชี และบัญชีโทเคนที่ได้อยู่ภายใต้ Token Program ที่เกี่ยวข้อง

กระเป๋า mint และ ATA ต่างกันอย่างไร?

แยกป้ายกำกับสามอย่างเมื่อดูการถือโทเคน:

บัญชีหรือที่อยู่คำถามที่ตอบ
ที่อยู่กระเป๋ากระเป๋าใดควบคุมการถือครองนี้?
ที่อยู่ mintโทเคนนี้คือชนิดใดกันแน่?
ที่อยู่บัญชีโทเคนหน่วยของ mint ที่เจ้าของนี้ถือถูกบันทึกที่ไหน?

ATA เป็นบัญชีโทเคนเฉพาะที่เลือกด้วยวิธีคำนวณมาตรฐาน กระเป๋าอาจควบคุมบัญชีโทเคนอื่นด้วย ดังนั้นคำง่าย ๆ ว่า “หนึ่งบัญชีต่อโทเคน” มีประโยชน์สำหรับเริ่มทำความเข้าใจ แต่ยังไม่ครบเมื่อดูรายการจริง

ตัวอย่างเพื่ออธิบาย ลองนึกถึงสอง mint ที่ไม่เกี่ยวข้องกันแต่ใช้สัญลักษณ์ CAT เหมือนกัน ทั้งสองเป็นคนละโทเคนแม้สัญลักษณ์ตรงกัน บัญชี associated ต่างกันเพราะที่อยู่ mint ต่างกัน เปรียบเทียบ mint เสมอเมื่อเลือกบัญชีเพื่อปิด โอน หรือสร้างใหม่

ทำไมการสร้าง ATA จึงล็อก SOL?

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

บัญชีโทเคนแบบดั้งเดิมมีโครงสร้างพื้นฐานที่คุ้นเคย ส่วนส่วนขยาย Token-2022 อาจต้องใช้พื้นที่เพิ่ม การตั้งค่าค่าเช่าของเครือข่ายก็เปลี่ยนได้ ดังนั้นตัวเลขจากคู่มือเก่าจึงไม่ใช่ยอดเสนอถาวรสำหรับ ATA ใหม่ทุกบัญชี หรือคำทำนายที่แน่นอนว่าบัญชีเดิมจะคืนเท่าไร

ใช้ตัวอย่างธุรกรรมปัจจุบันของแอป นักพัฒนาควรหาขนาดบัญชีที่ต้องใช้และสอบถามเงินสำรองปัจจุบัน แทนการฝังตัวเลขเก่าในโค้ด เมธอด RPC สำหรับการยกเว้นค่าเช่า รับความยาวข้อมูลเป็นอินพุต

ใครจ่ายค่าสร้างบัญชี?

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

ความแตกต่างนี้สำคัญเมื่อตรวจสอบเงินคืนด้วย การปิดบัญชีที่ได้รับอนุญาตเป็นตัวกำหนดปลายทางของ lamports ที่ปล่อยออกมา ไม่ใช่การชดเชยตามใบเสร็จซึ่งส่งกลับไปหาผู้ที่เคยจ่ายค่าสร้างโดยอัตโนมัติ

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

ทำไม ATA ว่างยังเปิดอยู่หลังขาย?

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

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

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

รับค่าเช่า ATA คืนโดยไม่เผาโทเคนได้หรือไม่?

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

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

อ่าน รับ SOL ส่วนเกินคืนโดยไม่ปิดบัญชี หากต้องการเก็บสินทรัพย์ การถือโทเคนไม่ได้ให้สิทธิ์ถอน SOL จากทุกบัญชีที่เกี่ยวข้องกับ mint หรือเมทาดาทาของมัน

จะเกิดอะไรขึ้นหากได้รับโทเคนเดิมอีก?

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

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

ตรวจสอบ ATA ก่อนดำเนินการอย่างไร?

บันทึกที่อยู่กระเป๋า mint โปรแกรมโทเคน จำนวนโทเคน สถานะบัญชี และยอด lamports จากนั้นบอกผลที่ต้องการด้วยภาษาง่าย ๆ ว่าเก็บบัญชี รับส่วนเกินที่รองรับคืน หรือปิดบัญชีว่าง

การแยกเล็กน้อยนี้ช่วยป้องกันข้อผิดพลาดทั่วไปหลายอย่าง ได้แก่ เลือก mint อื่นที่ใช้สัญลักษณ์เดียวกัน คาดว่าพื้นที่เก็บข้อมูลทั้งหมดของ NFT คือ ATA เดียว หรือคิดว่า SOL ทั้งหมดที่เกี่ยวกับสินทรัพย์ผู้ถือสามารถถอนได้ เลือกการดำเนินการให้ตรงกับบัญชีที่คุณควบคุมจริง

Sol Incinerator

Sol Incinerator

ตรวจบัญชีโทเคนที่ไม่ได้ใช้และดู SOL ที่เข้าเกณฑ์รับคืนในกระเป๋า

ลองใช้ตอนนี้

อ่านเพิ่มเติม

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

Associated token account บน Solana คืออะไร?

Associated token account คือที่อยู่บัญชีโทเคนมาตรฐานที่คำนวณจากกระเป๋า โปรแกรมโทเคน และ mint โทเคน บัญชีนี้เก็บหน่วยของ mint นั้นให้เจ้าของบัญชีโทเคน แยกจากที่อยู่กระเป๋าและบัญชี mint และการสร้างต้องใช้เงินสำหรับพื้นที่เก็บข้อมูลบนเชน

ค่าเช่า ATA เป็นค่าธรรมเนียม Solana ที่เรียกเก็บซ้ำหรือไม่?

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

โทเคน Solana แต่ละชนิดต้องมี ATA แยกกันหรือไม่?

ATA เฉพาะเจาะจงกับชุดของกระเป๋า โปรแกรมโทเคน และ mint ดังนั้น mint ที่ต่างกันใช้ที่อยู่ associated ที่ต่างกัน กระเป๋ายังควบคุมบัญชีโทเคนที่ไม่ใช่ associated ได้ และ NFT แบบบีบอัดใช้โมเดลเก็บข้อมูลอีกแบบ อย่าสรุปว่าสินทรัพย์ทุกรายการที่แสดงตรงกับเงินมัดจำค่าเช่า ATA มาตรฐานหนึ่งบัญชี

Associated Token Account (ATA) บน Solana คืออะไร? | Sol Incinerator