Repo ดูเหมือนจะเป็นแบบส่วนตัว: ตัวเลือกแต่ละแบบมีข้อดีและข้อเสีย ดังนั้นคุณสามารถสร้างการใช้งานแบบไฮบริดเพื่อลดความเสี่ยง นี่คือตัวอย่างแอปพลิเคชันหลายโปรแกรมที่คุณสามารถนำมาใช้ได้:
Marinade Finance: ใช้โปรแกรมแกนหลักเดียว + โปรแกรมดาวเทียมสำหรับโดเมนเฉพาะ คุณสามารถดูวิธีที่พวกเขาจัดการอำนาจผู้ดูแลเทียบกับอำนาจปฏิบัติการ (โปรแกรมแกนหลักมี multisig ของสภาทำหน้าที่เป็นผู้ดูแล แต่ใช้ PDA สำหรับการดำเนินการถอนสเตก) นอกจากนี้ โปรแกรมแนะนำยังเป็น wrapper ที่ CPI เข้าโปรแกรมหลัก
Marginfi: ใช้การแยกโดดแบบกลุ่มกับโปรแกรมที่ใช้ร่วมกัน
Ellipsis Labs: ใช้โปรแกรมแกนหลัก + โปรแกรมเสริมที่ CPI เข้าแกนหลัก phoenix-v1 คือ orderbook แกนหลัก ขณะที่โปรแกรม seat manager และ market maker CPI เข้าไปในนั้น
ข้อผิดพลาดที่พบบ่อย:
เชื่อ program ID ของผู้เรียกโดยไม่ตรวจสอบ — เพียงเพราะ CPI มาจาก Program X ไม่ได้หมายความว่า Program X ตรวจสอบผู้ใช้แล้ว ควรตรวจสอบ signer ที่เกี่ยวข้องซ้ำเสมอ ลืมว่า PDA ไม่คงสถานะ signer ข้ามคำสั่ง — PDA ที่ลงนามในคำสั่งที่ 1 ไม่ได้เป็น signer โดยอัตโนมัติในคำสั่งที่ 2 เว้นแต่คุณจะ CPI ด้วย invoke_signed อีกครั้ง อำนาจอัปเกรดแบบรวมศูนย์ — หากทุกโปรแกรมใช้อำนาจอัปเกรดร่วมกัน ความเป็นโมดูลาร์ของคุณก็เป็นเพียงภาพลวงตา ควรพิจารณาใช้ multisig