پرسش و پاسخ

بهترین روش احراز هویت Solana/Anchor برای یک سیستم ماژولار چندبرنامه‌ای (نقش‌های مشترک میان برنامه‌ها، CPI)

اندازه متن

مخزن به نظر خصوصی است: هر کدام از گزینه‌ها مزایا و معایب خود را دارند، بنابراین می‌توانید یک پیاده‌سازی ترکیبی برای کاهش ریسک ایجاد کنید. در ادامه برخی از برنامه‌های چندبرنامه‌ای که می‌توانید اتخاذ کنید آورده شده است:

Marinade Finance: از یک برنامه هسته واحد + برنامه‌های ماهواره‌ای برای دامنه‌های خاص استفاده می‌کند. می‌توانید بررسی کنید که چگونه اختیار مدیریتی را در مقابل اختیار عملیاتی مدیریت می‌کنند (برنامه هسته یک مولتی‌سیگ شورا به عنوان مدیر دارد، اما یک PDA برای عملیات برداشت استیک). همچنین، برنامه ارجاع یک پوشش است که CPI به برنامه اصلی انجام می‌دهد

Marginfi: از جداسازی مبتنی بر گروه با برنامه مشترک استفاده می‌کند

Ellipsis Labs: از برنامه هسته + برنامه‌های کمکی که CPI به هسته انجام می‌دهند استفاده می‌کند. phoenix-v1 دفتر سفارش هسته است در حالی که برنامه‌های مدیریت صندلی و بازارساز CPI به آن انجام می‌دهند

دام‌های رایج:

اعتماد کورکورانه به شناسه برنامه فراخوان — صرفاً به این دلیل که یک CPI از برنامه X آمده به این معنی نیست که برنامه X کاربر را تأیید کرده است. همیشه امضاکنندگان مربوطه را دوباره بررسی کنید. فراموش کردن اینکه PDAها وضعیت امضاکننده را در سراسر دستورالعمل‌ها حفظ نمی‌کنند — یک PDA که در دستورالعمل ۱ امضا کرده است به طور خودکار در دستورالعمل ۲ امضاکننده نیست مگر اینکه دوباره با invoke_signed CPI انجام دهید. اختیار ارتقای متمرکز — اگر همه برنامه‌ها یک اختیار ارتقا مشترک داشته باشند، ماژولار بودن شما توهمی است. مولتی‌سیگ‌ها را در نظر بگیرید.